summaryrefslogtreecommitdiffstats
path: root/llvm/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
commit6a5e706e3c99f5995dbefe1a4f058c7b49a0bb01 (patch)
tree34dcbe21fc6100c474a93ffed9494ff64bd5f222 /llvm/lib/Target/X86/X86InstrInfo.h
parentb8b85c1ddb5ce5a2a5ac7f3180055b38fec6500f (diff)
downloadbcm5719-llvm-6a5e706e3c99f5995dbefe1a4f058c7b49a0bb01.tar.gz
bcm5719-llvm-6a5e706e3c99f5995dbefe1a4f058c7b49a0bb01.zip
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 llvm-svn: 102400
Diffstat (limited to 'llvm/lib/Target/X86/X86InstrInfo.h')
-rw-r--r--llvm/lib/Target/X86/X86InstrInfo.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.h b/llvm/lib/Target/X86/X86InstrInfo.h
index 3626f96b6aa..52a9050c1d1 100644
--- a/llvm/lib/Target/X86/X86InstrInfo.h
+++ b/llvm/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;
OpenPOWER on IntegriCloud