Index: src/IceTargetLoweringARM32.h |
diff --git a/src/IceTargetLoweringARM32.h b/src/IceTargetLoweringARM32.h |
index 5263bc2293cc47a83d52a09d24c5c9b175f52884..2f342e021af23773fd4aff2cda930053c0982cad 100644 |
--- a/src/IceTargetLoweringARM32.h |
+++ b/src/IceTargetLoweringARM32.h |
@@ -57,9 +57,7 @@ class TargetARM32 : public TargetLowering { |
TargetARM32 &operator=(const TargetARM32 &) = delete; |
public: |
- ~TargetARM32() = default; |
- |
- static void staticInit(); |
+ static void staticInit(const ClFlags &Flags); |
// TODO(jvoung): return a unique_ptr. |
static std::unique_ptr<::Ice::TargetLowering> create(Cfg *Func) { |
return makeUnique<TargetARM32>(Func); |
@@ -130,12 +128,12 @@ public: |
void emitVariable(const Variable *Var) const override; |
- const char *getConstantPrefix() const final { return "#"; } |
void emit(const ConstantUndef *C) const final; |
void emit(const ConstantInteger32 *C) const final; |
void emit(const ConstantInteger64 *C) const final; |
void emit(const ConstantFloat *C) const final; |
void emit(const ConstantDouble *C) const final; |
+ void emit(const ConstantRelocatable *C) const final; |
void lowerArguments() override; |
void addProlog(CfgNode *Node) override; |
@@ -156,12 +154,12 @@ public: |
/// immediates, shifted registers, or modified fp imm. |
Legal_Mem = 1 << 2, /// includes [r0, r1 lsl #2] as well as [sp, #12] |
Legal_Rematerializable = 1 << 3, |
- Legal_All = ~Legal_Rematerializable, |
+ Legal_Default = ~Legal_Rematerializable, |
}; |
using LegalMask = uint32_t; |
Operand *legalizeUndef(Operand *From, int32_t RegNum = Variable::NoRegister); |
- Operand *legalize(Operand *From, LegalMask Allowed = Legal_All, |
+ Operand *legalize(Operand *From, LegalMask Allowed = Legal_Default, |
int32_t RegNum = Variable::NoRegister); |
Variable *legalizeToReg(Operand *From, int32_t RegNum = Variable::NoRegister); |