aboutsummaryrefslogtreecommitdiff
path: root/bolt/lib/Target/X86/X86MCPlusBuilder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'bolt/lib/Target/X86/X86MCPlusBuilder.cpp')
-rw-r--r--bolt/lib/Target/X86/X86MCPlusBuilder.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/bolt/lib/Target/X86/X86MCPlusBuilder.cpp b/bolt/lib/Target/X86/X86MCPlusBuilder.cpp
index 5fca5e8..7c24c2c 100644
--- a/bolt/lib/Target/X86/X86MCPlusBuilder.cpp
+++ b/bolt/lib/Target/X86/X86MCPlusBuilder.cpp
@@ -219,6 +219,12 @@ public:
return getPopSize(Inst) == 0 ? false : true;
}
+ bool isEpilogue(const BinaryBasicBlock &BB) const override {
+ return ::llvm::any_of(BB, [&](const MCInst &Instr) {
+ return isLeave(Instr) || isPop(Instr);
+ });
+ }
+
bool isTerminateBranch(const MCInst &Inst) const override {
return Inst.getOpcode() == X86::ENDBR32 || Inst.getOpcode() == X86::ENDBR64;
}