[SPIR-V] Rename internal command line flags for optimization level and mtriple used when passing options into the translate API call (#123975)

Rename internal command line flags for optimization level and mtriple
used when passing options into the translate API call.
This commit is contained in:
Vyacheslav Levytskyy 2025-01-22 23:16:49 +01:00 committed by GitHub
parent 517334bdb8
commit ac94fade60
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 8 deletions

View File

@ -42,9 +42,10 @@ namespace {
// Mimic limited number of command line flags from llc to provide a better
// user experience when passing options into the translate API call.
static cl::opt<char> SpvOptLevel(" O", cl::Hidden, cl::Prefix, cl::init('0'));
static cl::opt<std::string> SpvTargetTriple(" mtriple", cl::Hidden,
cl::init(""));
static cl::opt<char> SpirvOptLevel("spirv-O", cl::Hidden, cl::Prefix,
cl::init('0'));
static cl::opt<std::string> SpirvTargetTriple("spirv-mtriple", cl::Hidden,
cl::init(""));
// Utility to accept options in a command line style.
void parseSPIRVCommandLineOptions(const std::vector<std::string> &Options,
@ -94,7 +95,7 @@ SPIRVTranslateModule(Module *M, std::string &SpirvObj, std::string &ErrMsg,
}
llvm::CodeGenOptLevel OLevel;
if (auto Level = CodeGenOpt::parseLevel(SpvOptLevel)) {
if (auto Level = CodeGenOpt::parseLevel(SpirvOptLevel)) {
OLevel = *Level;
} else {
ErrMsg = "Invalid optimization level!";
@ -115,9 +116,9 @@ SPIRVTranslateModule(Module *M, std::string &SpirvObj, std::string &ErrMsg,
// SPIR-V-specific target initialization.
InitializeSPIRVTarget();
Triple TargetTriple(SpvTargetTriple.empty()
Triple TargetTriple(SpirvTargetTriple.empty()
? M->getTargetTriple()
: Triple::normalize(SpvTargetTriple));
: Triple::normalize(SpirvTargetTriple));
if (TargetTriple.getTriple().empty()) {
TargetTriple.setTriple(DefaultTriple);
M->setTargetTriple(DefaultTriple);

View File

@ -80,7 +80,7 @@ TEST_F(SPIRVAPITest, checkTranslateOk) {
// Those command line arguments that overlap with registered by llc/codegen
// are to be started with the ' ' symbol.
std::vector<std::string> SetOfOpts[] = {
{}, {"- mtriple=spirv32-unknown-unknown"}};
{}, {"--spirv-mtriple=spirv32-unknown-unknown"}};
for (const auto &Opts : SetOfOpts) {
for (StringRef &Assembly : Assemblies) {
std::string Result, Error;
@ -100,7 +100,7 @@ TEST_F(SPIRVAPITest, checkTranslateError) {
EXPECT_THAT(Error,
StartsWith("SPIRVTranslateModule: Unknown command line argument "
"'-mtriple=spirv32-unknown-unknown'"));
Status = toSpirv(OkAssembly, Result, Error, {}, {"- O 5"});
Status = toSpirv(OkAssembly, Result, Error, {}, {"--spirv-O 5"});
EXPECT_FALSE(Status);
EXPECT_TRUE(Result.empty());
EXPECT_EQ(Error, "Invalid optimization level!");