summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorDaniel Sanders <daniel_l_sanders@apple.com>2017-04-25 14:27:27 +0000
committerDaniel Sanders <daniel_l_sanders@apple.com>2017-04-25 14:27:27 +0000
commit11e78c2bff87f65a919604e48f7e958661cecf92 (patch)
tree2f140ac2564225b9ee5d452bbe3024a54f826359 /llvm/lib/CodeGen
parent5bf767c54848baeeb37cc4afec1647871223828a (diff)
downloadbcm5719-llvm-11e78c2bff87f65a919604e48f7e958661cecf92.tar.gz
bcm5719-llvm-11e78c2bff87f65a919604e48f7e958661cecf92.zip
Bring back the ability opt out of padding zero-byte functions by not providing a nop instruction.
Summary: No test case since I'm not aware of an in-tree target that needs this. Reviewers: hans Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D32398 llvm-svn: 301311
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index a7e1d566c04..a8f45db4ad0 100644
--- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -1068,8 +1068,13 @@ void AsmPrinter::EmitFunctionBody() {
(TT.isOSWindows() && TT.isOSBinFormatCOFF()))) {
MCInst Noop;
MF->getSubtarget().getInstrInfo()->getNoop(Noop);
- OutStreamer->AddComment("avoids zero-length function");
- OutStreamer->EmitInstruction(Noop, getSubtargetInfo());
+
+ // Targets can opt-out of emitting the noop here by leaving the opcode
+ // unspecified.
+ if (Noop.getOpcode()) {
+ OutStreamer->AddComment("avoids zero-length function");
+ OutStreamer->EmitInstruction(Noop, getSubtargetInfo());
+ }
}
const Function *F = MF->getFunction();
OpenPOWER on IntegriCloud