OLD | NEW |
1 //===- subzero/src/IceTargetLowering.h - Lowering interface -----*- C++ -*-===// | 1 //===- subzero/src/IceTargetLowering.h - Lowering interface -----*- C++ -*-===// |
2 // | 2 // |
3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
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 // This file declares the TargetLowering and LoweringContext | 10 // This file declares the TargetLowering and LoweringContext |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 RegSet_FramePointer = 1 << 3, | 165 RegSet_FramePointer = 1 << 3, |
166 RegSet_All = ~RegSet_None | 166 RegSet_All = ~RegSet_None |
167 }; | 167 }; |
168 typedef uint32_t RegSetMask; | 168 typedef uint32_t RegSetMask; |
169 | 169 |
170 virtual llvm::SmallBitVector getRegisterSet(RegSetMask Include, | 170 virtual llvm::SmallBitVector getRegisterSet(RegSetMask Include, |
171 RegSetMask Exclude) const = 0; | 171 RegSetMask Exclude) const = 0; |
172 virtual const llvm::SmallBitVector &getRegisterSetForType(Type Ty) const = 0; | 172 virtual const llvm::SmallBitVector &getRegisterSetForType(Type Ty) const = 0; |
173 void regAlloc(); | 173 void regAlloc(); |
174 | 174 |
175 virtual void emitVariable(const Variable *Var, const Cfg *Func) const = 0; | 175 virtual void emitVariable(const Variable *Var) const = 0; |
176 | 176 |
177 // Performs target-specific argument lowering. | 177 // Performs target-specific argument lowering. |
178 virtual void lowerArguments() = 0; | 178 virtual void lowerArguments() = 0; |
179 | 179 |
180 virtual void addProlog(CfgNode *Node) = 0; | 180 virtual void addProlog(CfgNode *Node) = 0; |
181 virtual void addEpilog(CfgNode *Node) = 0; | 181 virtual void addEpilog(CfgNode *Node) = 0; |
182 | 182 |
183 virtual void emitConstants() const = 0; | 183 virtual void emitConstants() const = 0; |
184 | 184 |
185 virtual ~TargetLowering() {} | 185 virtual ~TargetLowering() {} |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 private: | 253 private: |
254 TargetGlobalInitLowering(const TargetGlobalInitLowering &) | 254 TargetGlobalInitLowering(const TargetGlobalInitLowering &) |
255 LLVM_DELETED_FUNCTION; | 255 LLVM_DELETED_FUNCTION; |
256 TargetGlobalInitLowering & | 256 TargetGlobalInitLowering & |
257 operator=(const TargetGlobalInitLowering &) LLVM_DELETED_FUNCTION; | 257 operator=(const TargetGlobalInitLowering &) LLVM_DELETED_FUNCTION; |
258 }; | 258 }; |
259 | 259 |
260 } // end of namespace Ice | 260 } // end of namespace Ice |
261 | 261 |
262 #endif // SUBZERO_SRC_ICETARGETLOWERING_H | 262 #endif // SUBZERO_SRC_ICETARGETLOWERING_H |
OLD | NEW |