Changes in directory llvm/include/llvm/CodeGen:
SelectionDAG.h updated: 1.115 -> 1.116 SelectionDAGCSEMap.h updated: 1.2 -> 1.3 --- Log message: Start moving leaf nodes over to the CSEMap. --- Diffs of the changes: (+20 -14) SelectionDAG.h | 21 ++++++++------------- SelectionDAGCSEMap.h | 13 ++++++++++++- 2 files changed, 20 insertions(+), 14 deletions(-) Index: llvm/include/llvm/CodeGen/SelectionDAG.h diff -u llvm/include/llvm/CodeGen/SelectionDAG.h:1.115 llvm/include/llvm/CodeGen/SelectionDAG.h:1.116 --- llvm/include/llvm/CodeGen/SelectionDAG.h:1.115 Fri Aug 11 13:37:42 2006 +++ llvm/include/llvm/CodeGen/SelectionDAG.h Fri Aug 11 16:00:46 2006 @@ -52,9 +52,6 @@ // AllNodes - A linked list of nodes in the current DAG. ilist<SDNode> AllNodes; - // ValueNodes - track SrcValue nodes - std::map<std::pair<const Value*, int>, SDNode*> ValueNodes; - public: SelectionDAG(TargetLowering &tli, MachineFunction &mf, MachineDebugInfo *di) : TLI(tli), MF(mf), DI(di) { @@ -110,14 +107,18 @@ void RemoveDeadNodes(); SDOperand getString(const std::string &Val); - SDOperand getConstant(uint64_t Val, MVT::ValueType VT); - SDOperand getTargetConstant(uint64_t Val, MVT::ValueType VT); + SDOperand getConstant(uint64_t Val, MVT::ValueType VT, bool isTarget = false); + SDOperand getTargetConstant(uint64_t Val, MVT::ValueType VT) { + return getConstant(Val, VT, true); + } SDOperand getConstantFP(double Val, MVT::ValueType VT); SDOperand getTargetConstantFP(double Val, MVT::ValueType VT); SDOperand getGlobalAddress(const GlobalValue *GV, MVT::ValueType VT, - int offset = 0); + int offset = 0, bool isTargetGA = false); SDOperand getTargetGlobalAddress(const GlobalValue *GV, MVT::ValueType VT, - int offset = 0); + int offset = 0) { + return getGlobalAddress(GV, VT, offset, true); + } SDOperand getFrameIndex(int FI, MVT::ValueType VT); SDOperand getTargetFrameIndex(int FI, MVT::ValueType VT); SDOperand getJumpTable(int JTI, MVT::ValueType VT); @@ -449,13 +450,8 @@ std::list<std::vector<MVT::ValueType> > VTList; // Maps to auto-CSE operations. - std::map<std::pair<unsigned, MVT::ValueType>, RegisterSDNode*> RegNodes; std::vector<CondCodeSDNode*> CondCodeNodes; - std::map<std::pair<const GlobalValue*, int>, SDNode*> GlobalValues; - std::map<std::pair<const GlobalValue*, int>, SDNode*> TargetGlobalValues; - std::map<std::pair<uint64_t, MVT::ValueType>, SDNode*> Constants; - std::map<std::pair<uint64_t, MVT::ValueType>, SDNode*> TargetConstants; std::map<std::pair<uint64_t, MVT::ValueType>, SDNode*> ConstantFPs; std::map<std::pair<uint64_t, MVT::ValueType>, SDNode*> TargetConstantFPs; std::map<int, SDNode*> FrameIndices, TargetFrameIndices, JumpTableIndices, @@ -464,7 +460,6 @@ std::pair<int, unsigned> >, SDNode*> ConstantPoolIndices; std::map<std::pair<Constant *, std::pair<int, unsigned> >, SDNode*> TargetConstantPoolIndices; - std::map<MachineBasicBlock *, SDNode*> BBNodes; std::vector<SDNode*> ValueTypeNodes; std::map<std::string, SDNode*> ExternalSymbols; std::map<std::string, SDNode*> TargetExternalSymbols; Index: llvm/include/llvm/CodeGen/SelectionDAGCSEMap.h diff -u llvm/include/llvm/CodeGen/SelectionDAGCSEMap.h:1.2 llvm/include/llvm/CodeGen/SelectionDAGCSEMap.h:1.3 --- llvm/include/llvm/CodeGen/SelectionDAGCSEMap.h:1.2 Fri Aug 11 13:53:44 2006 +++ llvm/include/llvm/CodeGen/SelectionDAGCSEMap.h Fri Aug 11 16:00:46 2006 @@ -98,12 +98,23 @@ void SetOperands(const SDOperand *Ops, unsigned NumOps); void AddOperand(SDOperand Op); void AddPointer(const void *Ptr); - void AddInteger(int I) { + void AddInteger(signed I) { Bits.push_back((I >> 0) & 0xFF); Bits.push_back((I >> 8) & 0xFF); Bits.push_back((I >> 16) & 0xFF); Bits.push_back((I >> 24) & 0xFF); } + void AddInteger(unsigned I) { + AddInteger((signed)I); + } + void AddInteger(uint64_t I) { + union { + uint64_t x; + unsigned char A[8]; + }; + x = I; + Bits.append(A, A+8); + } unsigned ComputeHash() const; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits