llc: Add -mc-relax-all.
authorMichael J. Spencer <bigcheesegs@gmail.com>
Sat, 31 Jul 2010 19:57:02 +0000 (19:57 +0000)
committerMichael J. Spencer <bigcheesegs@gmail.com>
Sat, 31 Jul 2010 19:57:02 +0000 (19:57 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109954 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llc/llc.cpp

index 199a1a9204393d899be7d7b1d0ef76d7d295c55a..d4416e60ef59739dd6335e7ff9f59bc5186de5b4 100644 (file)
@@ -76,6 +76,9 @@ MAttrs("mattr",
   cl::desc("Target specific attributes (-mattr=help for details)"),
   cl::value_desc("a1,+a2,-a3,..."));
 
+static cl::opt<bool>
+RelaxAll("mc-relax-all", cl::desc("Relax all fixups"));
+
 cl::opt<TargetMachine::CodeGenFileType>
 FileType("filetype", cl::init(TargetMachine::CGFT_AssemblyFile),
   cl::desc("Choose a file type (not all types are supported by all targets):"),
@@ -329,6 +332,14 @@ int main(int argc, char **argv) {
   // Override default to generate verbose assembly.
   Target.setAsmVerbosityDefault(true);
 
+  if (RelaxAll) {
+    if (FileType != TargetMachine::CGFT_ObjectFile)
+      errs() << argv[0]
+             << ": warning: ignoring -mc-relax-all because filetype != obj";
+    else
+      Target.setMCRelaxAll(true);
+  }
+
   // Ask the target to add backend passes as necessary.
   if (Target.addPassesToEmitFile(PM, *Out, FileType, OLvl,
                                  DisableVerify)) {