aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86InstrInfo.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-04-26 23:37:21 +0000
committerChris Lattner <sabre@nondot.org>2010-04-26 23:37:21 +0000
commitee9eb411fffddbb8fe70418c05946a131889b487 (patch)
tree23b17d9a2ae83b24f36a5dd40068e7a4d8b177a3 /lib/Target/X86/X86InstrInfo.h
parentae11c3f83e92d776b9f24a569532229ba106b4b0 (diff)
downloadexternal_llvm-ee9eb411fffddbb8fe70418c05946a131889b487.zip
external_llvm-ee9eb411fffddbb8fe70418c05946a131889b487.tar.gz
external_llvm-ee9eb411fffddbb8fe70418c05946a131889b487.tar.bz2
on darwin empty functions need to codegen into something of non-zero length,
otherwise labels get incorrectly merged. We handled this by emitting a ".byte 0", but this isn't correct on thumb/arm targets where the text segment needs to be a multiple of 2/4 bytes. Handle this by emitting a noop. This is more gross than it should be because arm/ppc are not fully mc'ized yet. This fixes rdar://7908505 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102400 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86InstrInfo.h')
-rw-r--r--lib/Target/X86/X86InstrInfo.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Target/X86/X86InstrInfo.h b/lib/Target/X86/X86InstrInfo.h
index 3626f96..52a9050 100644
--- a/lib/Target/X86/X86InstrInfo.h
+++ b/lib/Target/X86/X86InstrInfo.h
@@ -693,6 +693,8 @@ public:
int64_t Offset1, int64_t Offset2,
unsigned NumLoads) const;
+ virtual void getNoopForMachoTarget(MCInst &NopInst) const;
+
virtual
bool ReverseBranchCondition(SmallVectorImpl<MachineOperand> &Cond) const;