diff options
author | Chris Lattner <sabre@nondot.org> | 2008-01-10 23:08:24 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-01-10 23:08:24 +0000 |
commit | a22edc82cab86be4cb8876da1e6e78f82bb47a3e (patch) | |
tree | 7b35c4034140411b099446096c162acfe0c7e8db /utils/TableGen/InstrInfoEmitter.cpp | |
parent | 244588820867ab4e42f72c266196b848919bfebb (diff) | |
download | llvm-a22edc82cab86be4cb8876da1e6e78f82bb47a3e.tar.gz llvm-a22edc82cab86be4cb8876da1e6e78f82bb47a3e.tar.bz2 llvm-a22edc82cab86be4cb8876da1e6e78f82bb47a3e.tar.xz |
Simplify the side effect stuff a bit more and make licm/sinking
both work right according to the new flags.
This removes the TII::isReallySideEffectFree predicate, and adds
TII::isInvariantLoad.
It removes NeverHasSideEffects+MayHaveSideEffects and adds
UnmodeledSideEffects as machine instr flags. Now the clients
can decide everything they need.
I think isRematerializable can be implemented in terms of the
flags we have now, though I will let others tackle that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45843 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/InstrInfoEmitter.cpp')
-rw-r--r-- | utils/TableGen/InstrInfoEmitter.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/utils/TableGen/InstrInfoEmitter.cpp b/utils/TableGen/InstrInfoEmitter.cpp index ed48c33004..5bf25d1745 100644 --- a/utils/TableGen/InstrInfoEmitter.cpp +++ b/utils/TableGen/InstrInfoEmitter.cpp @@ -357,8 +357,7 @@ void InstrInfoEmitter::emitRecord(const CodeGenInstruction &Inst, unsigned Num, if (Inst.usesCustomDAGSchedInserter) OS << "|(1<<TID::UsesCustomDAGSchedInserter)"; if (Inst.isVariadic) OS << "|(1<<TID::Variadic)"; - if (Inst.mayHaveSideEffects) OS << "|(1<<TID::MayHaveSideEffects)"; - if (!HasSideEffects) OS << "|(1<<TID::NeverHasSideEffects)"; + if (HasSideEffects) OS << "|(1<<TID::UnmodeledSideEffects)"; OS << ", 0"; // Emit all of the target-specific flags... |