diff options
Diffstat (limited to 'utils/TableGen/CodeGenTarget.cpp')
| -rw-r--r-- | utils/TableGen/CodeGenTarget.cpp | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/utils/TableGen/CodeGenTarget.cpp b/utils/TableGen/CodeGenTarget.cpp index 827b6083c17f..168bd690831f 100644 --- a/utils/TableGen/CodeGenTarget.cpp +++ b/utils/TableGen/CodeGenTarget.cpp @@ -15,6 +15,7 @@  //===----------------------------------------------------------------------===//  #include "CodeGenTarget.h" +#include "CodeGenDAGPatterns.h"  #include "CodeGenIntrinsics.h"  #include "CodeGenSchedule.h"  #include "llvm/ADT/STLExtras.h" @@ -450,6 +451,7 @@ ComplexPattern::ComplexPattern(Record *R) {    else      Complexity = RawComplexity; +  // FIXME: Why is this different from parseSDPatternOperatorProperties?    // Parse the properties.    Properties = 0;    std::vector<Record*> PropList = R->getValueAsListOfDefs("Properties"); @@ -512,6 +514,7 @@ CodeGenIntrinsic::CodeGenIntrinsic(Record *R) {    TheDef = R;    std::string DefName = R->getName();    ModRef = ReadWriteMem; +  Properties = 0;    isOverloaded = false;    isCommutative = false;    canThrow = false; @@ -681,6 +684,10 @@ CodeGenIntrinsic::CodeGenIntrinsic(Record *R) {        llvm_unreachable("Unknown property!");    } +  // Also record the SDPatternOperator Properties. +  Properties = parseSDPatternOperatorProperties(R); +    // Sort the argument attributes for later benefit.    std::sort(ArgumentAttributes.begin(), ArgumentAttributes.end());  } +  | 
