Lines Matching refs:Opts

183 bool AssemblerInvocation::CreateFromArgs(AssemblerInvocation &Opts,  in CreateFromArgs()  argument
218 Opts.Triple = llvm::Triple::normalize(Args.getLastArgValue(OPT_triple)); in CreateFromArgs()
220 Opts.DarwinTargetVariantTriple = llvm::Triple(A->getValue()); in CreateFromArgs()
222 Opts.CPU = std::string(Args.getLastArgValue(OPT_target_cpu)); in CreateFromArgs()
223 Opts.Features = Args.getAllArgValues(OPT_target_feature); in CreateFromArgs()
226 if (Opts.Triple.empty()) in CreateFromArgs()
227 Opts.Triple = llvm::sys::getDefaultTargetTriple(); in CreateFromArgs()
230 Opts.IncludePaths = Args.getAllArgValues(OPT_I); in CreateFromArgs()
231 Opts.NoInitialTextSection = Args.hasArg(OPT_n); in CreateFromArgs()
232 Opts.SaveTemporaryLabels = Args.hasArg(OPT_msave_temp_labels); in CreateFromArgs()
234 Opts.GenDwarfForAssembly = Args.hasArg(OPT_debug_info_kind_EQ); in CreateFromArgs()
237 Opts.CompressDebugSections = in CreateFromArgs()
244 Opts.RelaxELFRelocations = Args.hasArg(OPT_mrelax_relocations); in CreateFromArgs()
246 Opts.Dwarf64 = DwarfFormatArg->getOption().matches(OPT_gdwarf64); in CreateFromArgs()
247 Opts.DwarfVersion = getLastArgIntValue(Args, OPT_dwarf_version_EQ, 2, Diags); in CreateFromArgs()
248 Opts.DwarfDebugFlags = in CreateFromArgs()
250 Opts.DwarfDebugProducer = in CreateFromArgs()
254 Opts.DebugCompilationDir = A->getValue(); in CreateFromArgs()
255 Opts.MainFileName = std::string(Args.getLastArgValue(OPT_main_file_name)); in CreateFromArgs()
259 Opts.DebugPrefixMap.insert( in CreateFromArgs()
268 Opts.InputFile = A->getValue(); in CreateFromArgs()
276 Opts.LLVMArgs = Args.getAllArgValues(OPT_mllvm); in CreateFromArgs()
277 Opts.OutputPath = std::string(Args.getLastArgValue(OPT_o)); in CreateFromArgs()
278 Opts.SplitDwarfOutput = in CreateFromArgs()
291 Opts.OutputType = FileType(OutputType); in CreateFromArgs()
293 Opts.ShowHelp = Args.hasArg(OPT_help); in CreateFromArgs()
294 Opts.ShowVersion = Args.hasArg(OPT_version); in CreateFromArgs()
297 Opts.OutputAsmVariant = in CreateFromArgs()
299 Opts.ShowEncoding = Args.hasArg(OPT_show_encoding); in CreateFromArgs()
300 Opts.ShowInst = Args.hasArg(OPT_show_inst); in CreateFromArgs()
303 Opts.RelaxAll = Args.hasArg(OPT_mrelax_all); in CreateFromArgs()
304 Opts.NoExecStack = Args.hasArg(OPT_mno_exec_stack); in CreateFromArgs()
305 Opts.FatalWarnings = Args.hasArg(OPT_massembler_fatal_warnings); in CreateFromArgs()
306 Opts.NoWarn = Args.hasArg(OPT_massembler_no_warn); in CreateFromArgs()
307 Opts.RelocationModel = in CreateFromArgs()
309 Opts.TargetABI = std::string(Args.getLastArgValue(OPT_target_abi)); in CreateFromArgs()
310 Opts.IncrementalLinkerCompatible = in CreateFromArgs()
312 Opts.SymbolDefs = Args.getAllArgValues(OPT_defsym); in CreateFromArgs()
317 Opts.EmbedBitcode = llvm::StringSwitch<unsigned>(A->getValue()) in CreateFromArgs()
325 Opts.EmitDwarfUnwind = in CreateFromArgs()
353 static bool ExecuteAssemblerImpl(AssemblerInvocation &Opts, in ExecuteAssemblerImpl() argument
357 const Target *TheTarget = TargetRegistry::lookupTarget(Opts.Triple, Error); in ExecuteAssemblerImpl()
359 return Diags.Report(diag::err_target_unknown_triple) << Opts.Triple; in ExecuteAssemblerImpl()
362 MemoryBuffer::getFileOrSTDIN(Opts.InputFile, /*IsText=*/true); in ExecuteAssemblerImpl()
366 return Diags.Report(diag::err_fe_error_reading) << Opts.InputFile; in ExecuteAssemblerImpl()
376 SrcMgr.setIncludeDirs(Opts.IncludePaths); in ExecuteAssemblerImpl()
378 std::unique_ptr<MCRegisterInfo> MRI(TheTarget->createMCRegInfo(Opts.Triple)); in ExecuteAssemblerImpl()
382 MCOptions.EmitDwarfUnwind = Opts.EmitDwarfUnwind; in ExecuteAssemblerImpl()
385 TheTarget->createMCAsmInfo(*MRI, Opts.Triple, MCOptions)); in ExecuteAssemblerImpl()
390 MAI->setCompressDebugSections(Opts.CompressDebugSections); in ExecuteAssemblerImpl()
392 MAI->setRelaxELFRelocations(Opts.RelaxELFRelocations); in ExecuteAssemblerImpl()
394 bool IsBinary = Opts.OutputType == AssemblerInvocation::FT_Obj; in ExecuteAssemblerImpl()
395 if (Opts.OutputPath.empty()) in ExecuteAssemblerImpl()
396 Opts.OutputPath = "-"; in ExecuteAssemblerImpl()
398 getOutputStream(Opts.OutputPath, Diags, IsBinary); in ExecuteAssemblerImpl()
402 if (!Opts.SplitDwarfOutput.empty()) in ExecuteAssemblerImpl()
403 DwoOS = getOutputStream(Opts.SplitDwarfOutput, Diags, IsBinary); in ExecuteAssemblerImpl()
406 std::string FS = llvm::join(Opts.Features, ","); in ExecuteAssemblerImpl()
409 TheTarget->createMCSubtargetInfo(Opts.Triple, Opts.CPU, FS)); in ExecuteAssemblerImpl()
412 MCContext Ctx(Triple(Opts.Triple), MAI.get(), MRI.get(), STI.get(), &SrcMgr, in ExecuteAssemblerImpl()
416 if (Opts.RelocationModel == "static") { in ExecuteAssemblerImpl()
418 } else if (Opts.RelocationModel == "pic") { in ExecuteAssemblerImpl()
421 assert(Opts.RelocationModel == "dynamic-no-pic" && in ExecuteAssemblerImpl()
430 if (Opts.DarwinTargetVariantTriple) in ExecuteAssemblerImpl()
431 MOFI->setDarwinTargetVariantTriple(*Opts.DarwinTargetVariantTriple); in ExecuteAssemblerImpl()
434 if (Opts.SaveTemporaryLabels) in ExecuteAssemblerImpl()
436 if (Opts.GenDwarfForAssembly) in ExecuteAssemblerImpl()
438 if (!Opts.DwarfDebugFlags.empty()) in ExecuteAssemblerImpl()
439 Ctx.setDwarfDebugFlags(StringRef(Opts.DwarfDebugFlags)); in ExecuteAssemblerImpl()
440 if (!Opts.DwarfDebugProducer.empty()) in ExecuteAssemblerImpl()
441 Ctx.setDwarfDebugProducer(StringRef(Opts.DwarfDebugProducer)); in ExecuteAssemblerImpl()
442 if (!Opts.DebugCompilationDir.empty()) in ExecuteAssemblerImpl()
443 Ctx.setCompilationDir(Opts.DebugCompilationDir); in ExecuteAssemblerImpl()
450 if (!Opts.DebugPrefixMap.empty()) in ExecuteAssemblerImpl()
451 for (const auto &KV : Opts.DebugPrefixMap) in ExecuteAssemblerImpl()
453 if (!Opts.MainFileName.empty()) in ExecuteAssemblerImpl()
454 Ctx.setMainFileName(StringRef(Opts.MainFileName)); in ExecuteAssemblerImpl()
455 Ctx.setDwarfFormat(Opts.Dwarf64 ? dwarf::DWARF64 : dwarf::DWARF32); in ExecuteAssemblerImpl()
456 Ctx.setDwarfVersion(Opts.DwarfVersion); in ExecuteAssemblerImpl()
457 if (Opts.GenDwarfForAssembly) in ExecuteAssemblerImpl()
458 Ctx.setGenDwarfRootFile(Opts.InputFile, in ExecuteAssemblerImpl()
469 MCOptions.MCNoWarn = Opts.NoWarn; in ExecuteAssemblerImpl()
470 MCOptions.MCFatalWarnings = Opts.FatalWarnings; in ExecuteAssemblerImpl()
471 MCOptions.ABIName = Opts.TargetABI; in ExecuteAssemblerImpl()
474 if (Opts.OutputType == AssemblerInvocation::FT_Asm) { in ExecuteAssemblerImpl()
476 llvm::Triple(Opts.Triple), Opts.OutputAsmVariant, *MAI, *MCII, *MRI); in ExecuteAssemblerImpl()
479 if (Opts.ShowEncoding) in ExecuteAssemblerImpl()
488 Opts.ShowInst)); in ExecuteAssemblerImpl()
489 } else if (Opts.OutputType == AssemblerInvocation::FT_Null) { in ExecuteAssemblerImpl()
492 assert(Opts.OutputType == AssemblerInvocation::FT_Obj && in ExecuteAssemblerImpl()
509 Triple T(Opts.Triple); in ExecuteAssemblerImpl()
512 Opts.RelaxAll, Opts.IncrementalLinkerCompatible, in ExecuteAssemblerImpl()
514 Str.get()->initSections(Opts.NoExecStack, *STI); in ExecuteAssemblerImpl()
519 if (Opts.EmbedBitcode && Ctx.getObjectFileType() == MCContext::IsMachO) { in ExecuteAssemblerImpl()
538 Failed = Diags.Report(diag::err_target_unknown_triple) << Opts.Triple; in ExecuteAssemblerImpl()
541 for (auto &S : Opts.SymbolDefs) { in ExecuteAssemblerImpl()
553 Failed = Parser->Run(Opts.NoInitialTextSection); in ExecuteAssemblerImpl()
559 static bool ExecuteAssembler(AssemblerInvocation &Opts, in ExecuteAssembler() argument
561 bool Failed = ExecuteAssemblerImpl(Opts, Diags); in ExecuteAssembler()
565 if (Opts.OutputPath != "-") in ExecuteAssembler()
566 sys::fs::remove(Opts.OutputPath); in ExecuteAssembler()
567 if (!Opts.SplitDwarfOutput.empty() && Opts.SplitDwarfOutput != "-") in ExecuteAssembler()
568 sys::fs::remove(Opts.SplitDwarfOutput); in ExecuteAssembler()