| Index: src/IceTargetLowering.h
|
| diff --git a/src/IceTargetLowering.h b/src/IceTargetLowering.h
|
| index 39e08def9b2c1a684d2437773f4ff76312e9ae80..d39b8e2ce82e513da8d0cec9710be29fa0c9632c 100644
|
| --- a/src/IceTargetLowering.h
|
| +++ b/src/IceTargetLowering.h
|
| @@ -156,6 +156,10 @@ public:
|
| virtual const llvm::SmallBitVector &getRegisterSetForType(Type Ty) const = 0;
|
| void regAlloc();
|
|
|
| + virtual void makeRandomRegisterPermutation(
|
| + llvm::SmallVectorImpl<int32_t> &Permutation,
|
| + const llvm::SmallBitVector &ExcludeRegisters) = 0;
|
| +
|
| virtual void emitVariable(const Variable *Var, const Cfg *Func) const = 0;
|
|
|
| // Performs target-specific argument lowering.
|
| @@ -169,9 +173,7 @@ public:
|
| virtual ~TargetLowering() {}
|
|
|
| protected:
|
| - TargetLowering(Cfg *Func)
|
| - : Func(Func), Ctx(Func->getContext()), HasComputedFrame(false),
|
| - StackAdjustment(0) {}
|
| + TargetLowering(Cfg *Func);
|
| virtual void lowerAlloca(const InstAlloca *Inst) = 0;
|
| virtual void lowerArithmetic(const InstArithmetic *Inst) = 0;
|
| virtual void lowerAssign(const InstAssign *Inst) = 0;
|
| @@ -208,6 +210,7 @@ protected:
|
| // natural location, as arguments are pushed for a function call.
|
| int32_t StackAdjustment;
|
| LoweringContext Context;
|
| + const bool RandomizeRegisterAllocation;
|
|
|
| private:
|
| TargetLowering(const TargetLowering &) LLVM_DELETED_FUNCTION;
|
|
|