ARM don't use MCRelaxAll, as it's not safe on ARM.
authorJim Grosbach <grosbach@apple.com>
Thu, 8 Mar 2012 00:07:52 +0000 (00:07 +0000)
committerJim Grosbach <grosbach@apple.com>
Thu, 8 Mar 2012 00:07:52 +0000 (00:07 +0000)
The ARM code generator makes aggressive assumptions about the encodings
being selected for branches which MCRelaxAll invalidates.

rdar://11006355

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152268 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp

index 1606b92bea2a64efe1d6c7470bf26c7dea6eab89..ed27f9f24ca05839683a4c4d8e8cedbc5ce1f710 100644 (file)
@@ -151,13 +151,13 @@ static MCStreamer *createMCStreamer(const Target &T, StringRef TT,
   Triple TheTriple(TT);
 
   if (TheTriple.isOSDarwin())
-    return createMachOStreamer(Ctx, MAB, OS, Emitter, RelaxAll);
+    return createMachOStreamer(Ctx, MAB, OS, Emitter, false);
 
   if (TheTriple.isOSWindows()) {
     llvm_unreachable("ARM does not support Windows COFF format");
   }
 
-  return createELFStreamer(Ctx, MAB, OS, Emitter, RelaxAll, NoExecStack);
+  return createELFStreamer(Ctx, MAB, OS, Emitter, false, NoExecStack);
 }
 
 static MCInstPrinter *createARMMCInstPrinter(const Target &T,