OLD | NEW |
1 //===-- CodeGen/MachineConstantPool.h - Abstract Constant Pool --*- C++ -*-===// | 1 //===-- CodeGen/MachineConstantPool.h - Abstract Constant Pool --*- C++ -*-===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 /// @file | 10 /// @file |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 /// whether or not it may generate a relocation entry. This must be | 51 /// whether or not it may generate a relocation entry. This must be |
52 /// conservative, so if it might codegen to a relocatable entry, it should say | 52 /// conservative, so if it might codegen to a relocatable entry, it should say |
53 /// so. The return values are the same as Constant::getRelocationInfo(). | 53 /// so. The return values are the same as Constant::getRelocationInfo(). |
54 virtual unsigned getRelocationInfo() const = 0; | 54 virtual unsigned getRelocationInfo() const = 0; |
55 | 55 |
56 virtual int getExistingMachineCPValue(MachineConstantPool *CP, | 56 virtual int getExistingMachineCPValue(MachineConstantPool *CP, |
57 unsigned Alignment) = 0; | 57 unsigned Alignment) = 0; |
58 | 58 |
59 virtual void addSelectionDAGCSEId(FoldingSetNodeID &ID) = 0; | 59 virtual void addSelectionDAGCSEId(FoldingSetNodeID &ID) = 0; |
60 | 60 |
| 61 // @LOCALMOD-START |
| 62 /// getJumpTableIndex - Check if this is a reference to a jump table. |
| 63 /// If so, return a pointer to the jump table index value that is stored |
| 64 /// in the constant pool, else return 0. |
| 65 /// The default behavior is to indicate that the value is not a jump table |
| 66 /// index. This is used by BranchFolder::runOnMachineFunction() and only in |
| 67 /// conjunction with ARM targets |
| 68 /// TODO: this should be cleaned up as it does tripple duty: tester, setter, g
etter |
| 69 virtual unsigned *getJumpTableIndex() { return 0; } |
| 70 // @LOCALMOD-END |
| 71 |
61 /// print - Implement operator<< | 72 /// print - Implement operator<< |
62 virtual void print(raw_ostream &O) const = 0; | 73 virtual void print(raw_ostream &O) const = 0; |
63 }; | 74 }; |
64 | 75 |
65 inline raw_ostream &operator<<(raw_ostream &OS, | 76 inline raw_ostream &operator<<(raw_ostream &OS, |
66 const MachineConstantPoolValue &V) { | 77 const MachineConstantPoolValue &V) { |
67 V.print(OS); | 78 V.print(OS); |
68 return OS; | 79 return OS; |
69 } | 80 } |
70 | 81 |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
170 /// | 181 /// |
171 void print(raw_ostream &OS) const; | 182 void print(raw_ostream &OS) const; |
172 | 183 |
173 /// dump - Call print(cerr) to be called from the debugger. | 184 /// dump - Call print(cerr) to be called from the debugger. |
174 void dump() const; | 185 void dump() const; |
175 }; | 186 }; |
176 | 187 |
177 } // End llvm namespace | 188 } // End llvm namespace |
178 | 189 |
179 #endif | 190 #endif |
OLD | NEW |