summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/llvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h b/llvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h
index a2876b62127..e5691cb3517 100644
--- a/llvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h
+++ b/llvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h
@@ -33,10 +33,17 @@ public:
/// An instruction is about to be erased.
virtual void erasingInstr(MachineInstr &MI) = 0;
- /// An instruction was created and inserted into the function.
+
+ /// An instruction has been created and inserted into the function.
+ /// Note that the instruction might not be a fully fledged instruction at this
+ /// point and won't be if the MachineFunction::Delegate is calling it. This is
+ /// because the delegate only sees the construction of the MachineInstr before
+ /// operands have been added.
virtual void createdInstr(MachineInstr &MI) = 0;
+
/// This instruction is about to be mutated in some way.
virtual void changingInstr(MachineInstr &MI) = 0;
+
/// This instruction was mutated in some way.
virtual void changedInstr(MachineInstr &MI) = 0;
OpenPOWER on IntegriCloud