diff --git a/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp b/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp --- a/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp +++ b/mlir/lib/Dialect/GPU/IR/GPUDialect.cpp @@ -2006,11 +2006,16 @@ TargetOptions::tokenizeCmdOptions() const { std::pair> options; llvm::StringSaver stringSaver(options.first); + StringRef opts = cmdOptions; + if (opts.size() && opts.front() == '"' && opts.back() == '"') + opts.consume_front("\""), opts.consume_back("\""); + if (opts.size() && opts.front() == '\'' && opts.back() == '\'') + opts.consume_front("'"), opts.consume_back("'"); #ifdef _WIN32 - llvm::cl::TokenizeWindowsCommandLine(cmdOptions, stringSaver, options.second, + llvm::cl::TokenizeWindowsCommandLine(opts, stringSaver, options.second, /*MarkEOLs=*/false); #else - llvm::cl::TokenizeGNUCommandLine(cmdOptions, stringSaver, options.second, + llvm::cl::TokenizeGNUCommandLine(opts, stringSaver, options.second, /*MarkEOLs=*/false); #endif // _WIN32 return options;