[llvm-commits] CVS: llvm/include/llvm/CodeGen/SelectionDAG.h SelectionDAGCSEMap.h
Chris Lattner
lattner at cs.uiuc.edu
Fri Aug 11 14:01:00 PDT 2006
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;
More information about the llvm-commits
mailing list