diff options
author | Daniel Sanders <daniel_l_sanders@apple.com> | 2017-04-25 14:27:27 +0000 |
---|---|---|
committer | Daniel Sanders <daniel_l_sanders@apple.com> | 2017-04-25 14:27:27 +0000 |
commit | 11e78c2bff87f65a919604e48f7e958661cecf92 (patch) | |
tree | 2f140ac2564225b9ee5d452bbe3024a54f826359 /llvm/lib/CodeGen | |
parent | 5bf767c54848baeeb37cc4afec1647871223828a (diff) | |
download | bcm5719-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.cpp | 9 |
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(); |