[llvm] a72d15e - [XRay] Set hasSideEffects flag of PATCHABLE_FUNCTION_{ENTER, EXIT}
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Sun Jan 19 00:10:10 PST 2020
Author: Fangrui Song
Date: 2020-01-19T00:09:46-08:00
New Revision: a72d15e37c5e066f597f13a8ba60aff214ac992d
URL: https://github.com/llvm/llvm-project/commit/a72d15e37c5e066f597f13a8ba60aff214ac992d
DIFF: https://github.com/llvm/llvm-project/commit/a72d15e37c5e066f597f13a8ba60aff214ac992d.diff
LOG: [XRay] Set hasSideEffects flag of PATCHABLE_FUNCTION_{ENTER,EXIT}
Otherwise they may be picked as the delay slot by mips-delay-slot-filler, if we move patchable-function before mips-delay-slot-filler.
Added:
Modified:
llvm/include/llvm/Target/Target.td
Removed:
################################################################################
diff --git a/llvm/include/llvm/Target/Target.td b/llvm/include/llvm/Target/Target.td
index b122b51bb169..cdc9b640e74e 100644
--- a/llvm/include/llvm/Target/Target.td
+++ b/llvm/include/llvm/Target/Target.td
@@ -1182,7 +1182,7 @@ def PATCHABLE_FUNCTION_ENTER : StandardPseudoInstruction {
let InOperandList = (ins);
let AsmString = "# XRay Function Enter.";
let usesCustomInserter = 1;
- let hasSideEffects = 0;
+ let hasSideEffects = 1;
}
def PATCHABLE_RET : StandardPseudoInstruction {
let OutOperandList = (outs);
@@ -1198,7 +1198,7 @@ def PATCHABLE_FUNCTION_EXIT : StandardPseudoInstruction {
let InOperandList = (ins);
let AsmString = "# XRay Function Exit.";
let usesCustomInserter = 1;
- let hasSideEffects = 0; // FIXME: is this correct?
+ let hasSideEffects = 1;
let isReturn = 0; // Original return instruction will follow
}
def PATCHABLE_TAIL_CALL : StandardPseudoInstruction {
More information about the llvm-commits
mailing list