summaryrefslogtreecommitdiff
path: root/utils/TableGen/CodeGenInstruction.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-01-10 07:59:24 +0000
committerChris Lattner <sabre@nondot.org>2008-01-10 07:59:24 +0000
commitba7e756c22446a17a72632b8d4ac66cbdaab33f7 (patch)
tree35b58e8e83a49bdd3f3449e138228e57cacb0b77 /utils/TableGen/CodeGenInstruction.h
parent1778a1590125dbef01b8d85128a11b6fb212b26f (diff)
downloadllvm-ba7e756c22446a17a72632b8d4ac66cbdaab33f7.tar.gz
llvm-ba7e756c22446a17a72632b8d4ac66cbdaab33f7.tar.bz2
llvm-ba7e756c22446a17a72632b8d4ac66cbdaab33f7.tar.xz
Start inferring side effect information more aggressively, and fix many bugs in the
x86 backend where instructions were not marked maystore/mayload, and perf issues where instructions were not marked neverHasSideEffects. It would be really nice if we could write patterns for copy instructions. I have audited all the x86 instructions down to MOVDQAmr. The flags on others and on other targets are probably not right in all cases, but no clients currently use this info that are enabled by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45829 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/CodeGenInstruction.h')
-rw-r--r--utils/TableGen/CodeGenInstruction.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/utils/TableGen/CodeGenInstruction.h b/utils/TableGen/CodeGenInstruction.h
index f3cdbfec9f..ad076a2074 100644
--- a/utils/TableGen/CodeGenInstruction.h
+++ b/utils/TableGen/CodeGenInstruction.h
@@ -103,8 +103,7 @@ namespace llvm {
bool hasCtrlDep;
bool isNotDuplicable;
bool hasOptionalDef;
- bool mayHaveSideEffects;
- bool neverHasSideEffects;
+ bool hasSideEffects, mayHaveSideEffects, neverHasSideEffects;
/// ParseOperandName - Parse an operand name like "$foo" or "$foo.bar",
/// where $foo is a whole operand and $foo.bar refers to a suboperand.