diff options
author | Dan Gohman <gohman@apple.com> | 2008-12-03 02:30:17 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2008-12-03 02:30:17 +0000 |
commit | 41474baac839da410302950305722cb0e026a094 (patch) | |
tree | d36d696d3d8328b7c3db385d50c50f0ef584359f /utils/TableGen/CodeGenDAGPatterns.cpp | |
parent | c70f3295438488e1e34eb212d1f8ec55bbf43935 (diff) |
Add a sanity-check to tablegen to catch the case where isSimpleLoad
is set but mayLoad is not set. Fix all the problems this turned up.
Change code to not use isSimpleLoad instead of mayLoad unless it
really wants isSimpleLoad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60459 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/CodeGenDAGPatterns.cpp')
-rw-r--r-- | utils/TableGen/CodeGenDAGPatterns.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/utils/TableGen/CodeGenDAGPatterns.cpp b/utils/TableGen/CodeGenDAGPatterns.cpp index 859a8ccac8..b3ed27b8d8 100644 --- a/utils/TableGen/CodeGenDAGPatterns.cpp +++ b/utils/TableGen/CodeGenDAGPatterns.cpp @@ -1759,6 +1759,15 @@ static void InferFromPattern(const CodeGenInstruction &Inst, MayLoad = true; } + // Sanity-check the isSimpleLoad flag. + if (Inst.isSimpleLoad) { + if (!MayLoad) + fprintf(stderr, + "Warning: mayLoad flag not set or inferred for instruction '%s'" + " which has isSimpleLoad set.\n", + Inst.TheDef->getName().c_str()); + } + if (Inst.neverHasSideEffects) { if (HadPattern) fprintf(stderr, "Warning: neverHasSideEffects set on instruction '%s' " |