diff options
author | Devang Patel <dpatel@apple.com> | 2011-03-04 19:11:05 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2011-03-04 19:11:05 +0000 |
commit | 53dc40a45fae88be2ef023e3c49b58291b8440f9 (patch) | |
tree | 399e801b289aa9f99e6114519f43931967c80c0f | |
parent | 5d6fb5db908c90fde727b6d07c4f0b8be7d91797 (diff) |
Disable ARMGlobalMerge on darwin. The debugger is not yet able to extract individual variable's info from merged global.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127019 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/ARM/ARMGlobalMerge.cpp | 6 | ||||
-rw-r--r-- | test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll | 2 | ||||
-rw-r--r-- | test/CodeGen/ARM/global-merge.ll | 1 |
3 files changed, 8 insertions, 1 deletions
diff --git a/lib/Target/ARM/ARMGlobalMerge.cpp b/lib/Target/ARM/ARMGlobalMerge.cpp index 3f0238387a..ab6c00e6e1 100644 --- a/lib/Target/ARM/ARMGlobalMerge.cpp +++ b/lib/Target/ARM/ARMGlobalMerge.cpp @@ -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) { diff --git a/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll b/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll index 94842124fb..a137eefbc9 100644 --- a/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll +++ b/test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll @@ -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" diff --git a/test/CodeGen/ARM/global-merge.ll b/test/CodeGen/ARM/global-merge.ll index 28bf221474..80c4693460 100644 --- a/test/CodeGen/ARM/global-merge.ll +++ b/test/CodeGen/ARM/global-merge.ll @@ -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). |