diff options
| author | Chris Lattner <sabre@nondot.org> | 2007-12-22 20:56:36 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2007-12-22 20:56:36 +0000 |
| commit | b16f55f3c82fe72e2ca73f1071db5daaa2124e51 (patch) | |
| tree | 05bb1d9317797c3f71d45efa60b5acae826f817b | |
| parent | 1a3048bb8e0f3de0b4e56704c15c556c71565f4b (diff) | |
| download | external_llvm-b16f55f3c82fe72e2ca73f1071db5daaa2124e51.zip external_llvm-b16f55f3c82fe72e2ca73f1071db5daaa2124e51.tar.gz external_llvm-b16f55f3c82fe72e2ca73f1071db5daaa2124e51.tar.bz2 | |
Tell TargetLoweringOpt whether it is running before
or after legalize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45321 91177308-0d34-0410-b5e6-96231b3b80d8
| -rw-r--r-- | include/llvm/Target/TargetLowering.h | 4 | ||||
| -rw-r--r-- | lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h index 5439ff6..f96322f 100644 --- a/include/llvm/Target/TargetLowering.h +++ b/include/llvm/Target/TargetLowering.h @@ -557,10 +557,12 @@ public: /// that want to combine struct TargetLoweringOpt { SelectionDAG &DAG; + bool AfterLegalize; SDOperand Old; SDOperand New; - explicit TargetLoweringOpt(SelectionDAG &InDAG) : DAG(InDAG) {} + explicit TargetLoweringOpt(SelectionDAG &InDAG, bool afterLegalize) + : DAG(InDAG), AfterLegalize(afterLegalize) {} bool CombineTo(SDOperand O, SDOperand N) { Old = O; diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index a1d8ad9..6eaf7ae 100644 --- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -141,7 +141,7 @@ namespace { /// it can be simplified or if things it uses can be simplified by bit /// propagation. If so, return true. bool SimplifyDemandedBits(SDOperand Op, uint64_t Demanded = ~0ULL) { - TargetLowering::TargetLoweringOpt TLO(DAG); + TargetLowering::TargetLoweringOpt TLO(DAG, AfterLegalize); uint64_t KnownZero, KnownOne; Demanded &= MVT::getIntVTBitMask(Op.getValueType()); if (!TLI.SimplifyDemandedBits(Op, Demanded, KnownZero, KnownOne, TLO)) |
