Disable ARMGlobalMerge on darwin. The debugger is not yet able to extract individual...
authorDevang Patel <dpatel@apple.com>
Fri, 4 Mar 2011 19:11:05 +0000 (19:11 +0000)
committerDevang Patel <dpatel@apple.com>
Fri, 4 Mar 2011 19:11:05 +0000 (19:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127019 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMGlobalMerge.cpp
test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll
test/CodeGen/ARM/global-merge.ll

index 3f0238387a2ba2d0972b317686fdfaeb5e73b1df..ab6c00e6e1a34fc8ba3afd2337aef4f5ae01b5e8 100644 (file)
@@ -53,6 +53,7 @@
 
 #define DEBUG_TYPE "arm-global-merge"
 #include "ARM.h"
+#include "ARMTargetMachine.h"
 #include "llvm/CodeGen/Passes.h"
 #include "llvm/Attributes.h"
 #include "llvm/Constants.h"
@@ -167,6 +168,11 @@ bool ARMGlobalMerge::doInitialization(Module &M) {
   unsigned MaxOffset = TLI->getMaximalGlobalOffset();
   bool Changed = false;
 
+  // Disable this pass on darwin. The debugger is not yet ready to extract
+  // variable's  info from a merged global.
+  if (TLI->getTargetMachine().getSubtarget<ARMSubtarget>().isTargetDarwin())
+    return false;
+
   // Grab all non-const globals.
   for (Module::global_iterator I = M.global_begin(),
          E = M.global_end(); I != E; ++I) {
index 94842124fb0860d1746daac4dc3bc3c4b1cba303..a137eefbc9e71f294458809e37d7a7ba545d9e88 100644 (file)
@@ -1,5 +1,5 @@
 ; RUN: llc < %s | FileCheck %s
-
+; XFAIL: darwin
 target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32"
 target triple = "thumbv7-apple-darwin10"
 
index 28bf2214740a71385aba5235a2e3a66ba849d818..80c46934605abdd8d47ce44af901c919e2c5e72c 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: llc < %s -mtriple=thumb-apple-darwin | FileCheck %s
+; XFAIL: darwin
 ; Test the ARMGlobalMerge pass.  Use -march=thumb because it has a small
 ; value for the maximum offset (127).