Rename legalizeToVar to the more accurate legalizeToReg.
BUG=
R=stichnot@chromium.org
Review URL: https://codereview.chromium.org/1245063003.
diff --git a/src/IceTargetLoweringARM32.cpp b/src/IceTargetLoweringARM32.cpp
index e09a85f..9f7a90d 100644
--- a/src/IceTargetLoweringARM32.cpp
+++ b/src/IceTargetLoweringARM32.cpp
@@ -1027,7 +1027,7 @@
void TargetARM32::div0Check(Type Ty, Operand *SrcLo, Operand *SrcHi) {
if (isGuaranteedNonzeroInt(SrcLo) || isGuaranteedNonzeroInt(SrcHi))
return;
- Variable *SrcLoReg = legalizeToVar(SrcLo);
+ Variable *SrcLoReg = legalizeToReg(SrcLo);
switch (Ty) {
default:
llvm_unreachable("Unexpected type");
@@ -1066,7 +1066,7 @@
DivInstr DivFunc, const char *DivHelperName,
bool IsRemainder) {
div0Check(Dest->getType(), Src1, nullptr);
- Variable *Src1R = legalizeToVar(Src1);
+ Variable *Src1R = legalizeToReg(Src1);
Variable *T0R = Src0R;
Variable *T1R = Src1R;
if (Dest->getType() != IceType_i32) {
@@ -1163,8 +1163,8 @@
}
Variable *DestLo = llvm::cast<Variable>(loOperand(Dest));
Variable *DestHi = llvm::cast<Variable>(hiOperand(Dest));
- Variable *Src0RLo = legalizeToVar(loOperand(Src0));
- Variable *Src0RHi = legalizeToVar(hiOperand(Src0));
+ Variable *Src0RLo = legalizeToReg(loOperand(Src0));
+ Variable *Src0RHi = legalizeToReg(hiOperand(Src0));
Operand *Src1Lo = loOperand(Src1);
Operand *Src1Hi = hiOperand(Src1);
Variable *T_Lo = makeReg(DestLo->getType());
@@ -1236,8 +1236,8 @@
Variable *T_Acc = makeReg(IceType_i32);
Variable *T_Acc1 = makeReg(IceType_i32);
Variable *T_Hi1 = makeReg(IceType_i32);
- Variable *Src1RLo = legalizeToVar(Src1Lo);
- Variable *Src1RHi = legalizeToVar(Src1Hi);
+ Variable *Src1RLo = legalizeToReg(Src1Lo);
+ Variable *Src1RHi = legalizeToReg(Src1Hi);
_mul(T_Acc, Src0RLo, Src1RHi);
_mla(T_Acc1, Src1RLo, Src0RHi, T_Acc);
_umull(T_Lo, T_Hi1, Src0RLo, Src1RLo);
@@ -1264,7 +1264,7 @@
// and saturate to the range 0-32, so the negative value will
// saturate to 32.
Variable *T_Hi = makeReg(IceType_i32);
- Variable *Src1RLo = legalizeToVar(Src1Lo);
+ Variable *Src1RLo = legalizeToReg(Src1Lo);
Constant *ThirtyTwo = Ctx->getConstantInt32(32);
Variable *T_C1 = makeReg(IceType_i32);
Variable *T_C2 = makeReg(IceType_i32);
@@ -1303,7 +1303,7 @@
// right shifts should also be arithmetic.
bool IsAshr = Inst->getOp() == InstArithmetic::Ashr;
Variable *T_Lo = makeReg(IceType_i32);
- Variable *Src1RLo = legalizeToVar(Src1Lo);
+ Variable *Src1RLo = legalizeToReg(Src1Lo);
Constant *ThirtyTwo = Ctx->getConstantInt32(32);
Variable *T_C1 = makeReg(IceType_i32);
Variable *T_C2 = makeReg(IceType_i32);
@@ -1353,7 +1353,7 @@
return;
}
// Dest->getType() is a non-i64 scalar.
- Variable *Src0R = legalizeToVar(Src0);
+ Variable *Src0R = legalizeToReg(Src0);
Variable *T = makeReg(Dest->getType());
// Handle div/rem separately. They require a non-legalized Src1 to inspect
// whether or not Src1 is a non-zero constant. Once legalized it is more
@@ -1413,7 +1413,7 @@
_mov(Dest, T);
return;
case InstArithmetic::Mul: {
- Variable *Src1R = legalizeToVar(Src1RF);
+ Variable *Src1R = legalizeToReg(Src1RF);
_mul(T, Src0R, Src1R);
_mov(Dest, T);
return;
@@ -1502,7 +1502,7 @@
Operand *Cond = Inst->getCondition();
// TODO(jvoung): Handle folding opportunities.
- Variable *Src0R = legalizeToVar(Cond);
+ Variable *Src0R = legalizeToReg(Cond);
Constant *Zero = Ctx->getConstantZero(IceType_i32);
_cmp(Src0R, Zero);
_br(Inst->getTargetTrue(), Inst->getTargetFalse(), CondARM32::NE);
@@ -1596,7 +1596,7 @@
// Copy arguments to be passed in registers to the appropriate registers.
for (auto &GPRArg : GPRArgs) {
- Variable *Reg = legalizeToVar(GPRArg.first, GPRArg.second);
+ Variable *Reg = legalizeToReg(GPRArg.first, GPRArg.second);
// Generate a FakeUse of register arguments so that they do not get
// dead code eliminated as a result of the FakeKill of scratch
// registers after the call.
@@ -1722,11 +1722,11 @@
Operand *Src0RF = legalize(Src0, Legal_Reg | Legal_Flex);
_mov(T_Lo, Src0RF);
} else if (Src0->getType() == IceType_i1) {
- Variable *Src0R = legalizeToVar(Src0);
+ Variable *Src0R = legalizeToReg(Src0);
_lsl(T_Lo, Src0R, ShiftAmt);
_asr(T_Lo, T_Lo, ShiftAmt);
} else {
- Variable *Src0R = legalizeToVar(Src0);
+ Variable *Src0R = legalizeToReg(Src0);
_sxt(T_Lo, Src0R);
}
_mov(DestLo, T_Lo);
@@ -1744,7 +1744,7 @@
// lsl t1, src_reg, 31
// asr t1, t1, 31
// dst = t1
- Variable *Src0R = legalizeToVar(Src0);
+ Variable *Src0R = legalizeToReg(Src0);
Constant *ShiftAmt = Ctx->getConstantInt32(31);
Variable *T = makeReg(Dest->getType());
_lsl(T, Src0R, ShiftAmt);
@@ -1752,7 +1752,7 @@
_mov(Dest, T);
} else {
// t1 = sxt src; dst = t1
- Variable *Src0R = legalizeToVar(Src0);
+ Variable *Src0R = legalizeToReg(Src0);
Variable *T = makeReg(Dest->getType());
_sxt(T, Src0R);
_mov(Dest, T);
@@ -1774,7 +1774,7 @@
Operand *Src0RF = legalize(Src0, Legal_Reg | Legal_Flex);
_mov(T_Lo, Src0RF);
} else {
- Variable *Src0R = legalizeToVar(Src0);
+ Variable *Src0R = legalizeToReg(Src0);
_uxt(T_Lo, Src0R);
}
if (Src0->getType() == IceType_i1) {
@@ -1798,7 +1798,7 @@
_mov(Dest, T);
} else {
// t1 = uxt src; dst = t1
- Variable *Src0R = legalizeToVar(Src0);
+ Variable *Src0R = legalizeToReg(Src0);
Variable *T = makeReg(Dest->getType());
_uxt(T, Src0R);
_mov(Dest, T);
@@ -1912,13 +1912,13 @@
Variable *Src0Lo, *Src0Hi;
Operand *Src1LoRF, *Src1HiRF;
if (TableIcmp64[Index].Swapped) {
- Src0Lo = legalizeToVar(loOperand(Src1));
- Src0Hi = legalizeToVar(hiOperand(Src1));
+ Src0Lo = legalizeToReg(loOperand(Src1));
+ Src0Hi = legalizeToReg(hiOperand(Src1));
Src1LoRF = legalize(loOperand(Src0), Legal_Reg | Legal_Flex);
Src1HiRF = legalize(hiOperand(Src0), Legal_Reg | Legal_Flex);
} else {
- Src0Lo = legalizeToVar(loOperand(Src0));
- Src0Hi = legalizeToVar(hiOperand(Src0));
+ Src0Lo = legalizeToReg(loOperand(Src0));
+ Src0Hi = legalizeToReg(hiOperand(Src0));
Src1LoRF = legalize(loOperand(Src1), Legal_Reg | Legal_Flex);
Src1HiRF = legalize(hiOperand(Src1), Legal_Reg | Legal_Flex);
}
@@ -1977,13 +1977,13 @@
if (ShiftAmt) {
ShiftConst = Ctx->getConstantInt32(ShiftAmt);
Src0R = makeReg(IceType_i32);
- _lsl(Src0R, legalizeToVar(Src0), ShiftConst);
+ _lsl(Src0R, legalizeToReg(Src0), ShiftConst);
} else {
- Src0R = legalizeToVar(Src0);
+ Src0R = legalizeToReg(Src0);
}
_mov(T, Zero);
if (ShiftAmt) {
- Variable *Src1R = legalizeToVar(Src1);
+ Variable *Src1R = legalizeToReg(Src1);
OperandARM32FlexReg *Src1RShifted = OperandARM32FlexReg::create(
Func, IceType_i32, Src1R, OperandARM32::LSL, ShiftConst);
_cmp(Src0R, Src1RShifted);
@@ -2037,8 +2037,8 @@
Type Ty = Val->getType();
if (Ty == IceType_i64) {
Val = legalizeUndef(Val);
- Variable *Val_Lo = legalizeToVar(loOperand(Val));
- Variable *Val_Hi = legalizeToVar(hiOperand(Val));
+ Variable *Val_Lo = legalizeToReg(loOperand(Val));
+ Variable *Val_Hi = legalizeToReg(hiOperand(Val));
Variable *T_Lo = makeReg(IceType_i32);
Variable *T_Hi = makeReg(IceType_i32);
Variable *DestLo = llvm::cast<Variable>(loOperand(Dest));
@@ -2049,7 +2049,7 @@
_mov(DestHi, T_Lo);
} else {
assert(Ty == IceType_i32 || Ty == IceType_i16);
- Variable *ValR = legalizeToVar(Val);
+ Variable *ValR = legalizeToReg(Val);
Variable *T = makeReg(Ty);
_rev(T, ValR);
if (Val->getType() == IceType_i16) {
@@ -2090,10 +2090,10 @@
Variable *ValHiR = nullptr;
if (Val->getType() == IceType_i64) {
Val = legalizeUndef(Val);
- ValLoR = legalizeToVar(loOperand(Val));
- ValHiR = legalizeToVar(hiOperand(Val));
+ ValLoR = legalizeToReg(loOperand(Val));
+ ValHiR = legalizeToReg(hiOperand(Val));
} else {
- ValLoR = legalizeToVar(Val);
+ ValLoR = legalizeToReg(Val);
}
lowerCLZ(Instr->getDest(), ValLoR, ValHiR);
return;
@@ -2105,8 +2105,8 @@
Variable *ValHiR = nullptr;
if (Val->getType() == IceType_i64) {
Val = legalizeUndef(Val);
- ValLoR = legalizeToVar(loOperand(Val));
- ValHiR = legalizeToVar(hiOperand(Val));
+ ValLoR = legalizeToReg(loOperand(Val));
+ ValHiR = legalizeToReg(hiOperand(Val));
Variable *TLo = makeReg(IceType_i32);
Variable *THi = makeReg(IceType_i32);
_rbit(TLo, ValLoR);
@@ -2114,7 +2114,7 @@
ValLoR = THi;
ValHiR = TLo;
} else {
- ValLoR = legalizeToVar(Val);
+ ValLoR = legalizeToReg(Val);
Variable *T = makeReg(IceType_i32);
_rbit(T, ValLoR);
ValLoR = T;
@@ -2272,8 +2272,8 @@
Operand *Src0 = Inst->getRetValue();
if (Src0->getType() == IceType_i64) {
Src0 = legalizeUndef(Src0);
- Variable *R0 = legalizeToVar(loOperand(Src0), RegARM32::Reg_r0);
- Variable *R1 = legalizeToVar(hiOperand(Src0), RegARM32::Reg_r1);
+ Variable *R0 = legalizeToReg(loOperand(Src0), RegARM32::Reg_r0);
+ Variable *R1 = legalizeToReg(hiOperand(Src0), RegARM32::Reg_r1);
Reg = R0;
Context.insert(InstFakeUse::create(Func, R1));
} else if (isScalarFloatingType(Src0->getType())) {
@@ -2317,7 +2317,7 @@
}
// TODO(jvoung): handle folding opportunities.
// cmp cond, #0; mov t, SrcF; mov_cond t, SrcT; mov dest, t
- Variable *CmpOpnd0 = legalizeToVar(Condition);
+ Variable *CmpOpnd0 = legalizeToReg(Condition);
Operand *CmpOpnd1 = Ctx->getConstantZero(IceType_i32);
_cmp(CmpOpnd0, CmpOpnd1);
CondARM32::Cond Cond = CondARM32::NE;
@@ -2358,14 +2358,14 @@
if (Ty == IceType_i64) {
Value = legalizeUndef(Value);
- Variable *ValueHi = legalizeToVar(hiOperand(Value));
- Variable *ValueLo = legalizeToVar(loOperand(Value));
+ Variable *ValueHi = legalizeToReg(hiOperand(Value));
+ Variable *ValueLo = legalizeToReg(loOperand(Value));
_str(ValueHi, llvm::cast<OperandARM32Mem>(hiOperand(NewAddr)));
_str(ValueLo, llvm::cast<OperandARM32Mem>(loOperand(NewAddr)));
} else if (isVectorType(Ty)) {
UnimplementedError(Func->getContext()->getFlags());
} else {
- Variable *ValueR = legalizeToVar(Value);
+ Variable *ValueR = legalizeToReg(Value);
_str(ValueR, NewAddr);
}
}
@@ -2381,8 +2381,8 @@
SizeT NumCases = Inst->getNumCases();
if (Src0->getType() == IceType_i64) {
Src0 = legalizeUndef(Src0);
- Variable *Src0Lo = legalizeToVar(loOperand(Src0));
- Variable *Src0Hi = legalizeToVar(hiOperand(Src0));
+ Variable *Src0Lo = legalizeToReg(loOperand(Src0));
+ Variable *Src0Hi = legalizeToReg(hiOperand(Src0));
for (SizeT I = 0; I < NumCases; ++I) {
Operand *ValueLo = Ctx->getConstantInt32(Inst->getValue(I));
Operand *ValueHi = Ctx->getConstantInt32(Inst->getValue(I) >> 32);
@@ -2397,7 +2397,7 @@
}
// 32 bit integer
- Variable *Src0Var = legalizeToVar(Src0);
+ Variable *Src0Var = legalizeToReg(Src0);
for (SizeT I = 0; I < NumCases; ++I) {
Operand *Value = Ctx->getConstantInt32(Inst->getValue(I));
Value = legalize(Value, Legal_Reg | Legal_Flex);
@@ -2465,10 +2465,10 @@
Variable *RegBase = nullptr;
Variable *RegIndex = nullptr;
if (Base) {
- RegBase = legalizeToVar(Base);
+ RegBase = legalizeToReg(Base);
}
if (Index) {
- RegIndex = legalizeToVar(Index);
+ RegIndex = legalizeToReg(Index);
}
// Create a new operand if there was a change.
if (Base != RegBase || Index != RegIndex) {
@@ -2583,7 +2583,7 @@
}
/// Provide a trivial wrapper to legalize() for this common usage.
-Variable *TargetARM32::legalizeToVar(Operand *From, int32_t RegNum) {
+Variable *TargetARM32::legalizeToReg(Operand *From, int32_t RegNum) {
return llvm::cast<Variable>(legalize(From, Legal_Reg, RegNum));
}
@@ -2620,7 +2620,7 @@
// If we didn't do address mode optimization, then we only
// have a base/offset to work with. ARM always requires a base
// register, so just use that to hold the operand.
- Variable *Base = legalizeToVar(Operand);
+ Variable *Base = legalizeToReg(Operand);
return OperandARM32Mem::create(
Func, Ty, Base,
llvm::cast<ConstantInteger32>(Ctx->getConstantZero(IceType_i32)));
diff --git a/src/IceTargetLoweringARM32.h b/src/IceTargetLoweringARM32.h
index 95e4691..1e0f284 100644
--- a/src/IceTargetLoweringARM32.h
+++ b/src/IceTargetLoweringARM32.h
@@ -149,7 +149,7 @@
typedef uint32_t LegalMask;
Operand *legalize(Operand *From, LegalMask Allowed = Legal_All,
int32_t RegNum = Variable::NoRegister);
- Variable *legalizeToVar(Operand *From, int32_t RegNum = Variable::NoRegister);
+ Variable *legalizeToReg(Operand *From, int32_t RegNum = Variable::NoRegister);
OperandARM32Mem *formMemoryOperand(Operand *Ptr, Type Ty);
Variable *makeReg(Type Ty, int32_t RegNum = Variable::NoRegister);
diff --git a/src/IceTargetLoweringX86Base.h b/src/IceTargetLoweringX86Base.h
index eef9536..a417ff7 100644
--- a/src/IceTargetLoweringX86Base.h
+++ b/src/IceTargetLoweringX86Base.h
@@ -246,7 +246,7 @@
typedef uint32_t LegalMask;
Operand *legalize(Operand *From, LegalMask Allowed = Legal_All,
int32_t RegNum = Variable::NoRegister);
- Variable *legalizeToVar(Operand *From, int32_t RegNum = Variable::NoRegister);
+ Variable *legalizeToReg(Operand *From, int32_t RegNum = Variable::NoRegister);
/// Legalize the first source operand for use in the cmp instruction.
Operand *legalizeSrc0ForCmp(Operand *Src0, Operand *Src1);
/// Turn a pointer operand into a memory operand that can be
diff --git a/src/IceTargetLoweringX86BaseImpl.h b/src/IceTargetLoweringX86BaseImpl.h
index cd1c90d..5ceef36 100644
--- a/src/IceTargetLoweringX86BaseImpl.h
+++ b/src/IceTargetLoweringX86BaseImpl.h
@@ -1650,7 +1650,7 @@
// TODO: Trap on integer divide and integer modulo by zero.
// See: https://code.google.com/p/nativeclient/issues/detail?id=3899
if (llvm::isa<typename Traits::X86OperandMem>(Src1))
- Src1 = legalizeToVar(Src1);
+ Src1 = legalizeToReg(Src1);
switch (Inst->getOp()) {
case InstArithmetic::_num:
llvm_unreachable("Unknown arithmetic operator");
@@ -1827,21 +1827,21 @@
case InstArithmetic::Shl:
_mov(T, Src0);
if (!llvm::isa<Constant>(Src1))
- Src1 = legalizeToVar(Src1, Traits::RegisterSet::Reg_ecx);
+ Src1 = legalizeToReg(Src1, Traits::RegisterSet::Reg_ecx);
_shl(T, Src1);
_mov(Dest, T);
break;
case InstArithmetic::Lshr:
_mov(T, Src0);
if (!llvm::isa<Constant>(Src1))
- Src1 = legalizeToVar(Src1, Traits::RegisterSet::Reg_ecx);
+ Src1 = legalizeToReg(Src1, Traits::RegisterSet::Reg_ecx);
_shr(T, Src1);
_mov(Dest, T);
break;
case InstArithmetic::Ashr:
_mov(T, Src0);
if (!llvm::isa<Constant>(Src1))
- Src1 = legalizeToVar(Src1, Traits::RegisterSet::Reg_ecx);
+ Src1 = legalizeToReg(Src1, Traits::RegisterSet::Reg_ecx);
_sar(T, Src1);
_mov(Dest, T);
break;
@@ -2186,7 +2186,7 @@
// before any stack adjustment is done.
for (SizeT i = 0, NumXmmArgs = XmmArgs.size(); i < NumXmmArgs; ++i) {
Variable *Reg =
- legalizeToVar(XmmArgs[i], Traits::RegisterSet::Reg_xmm0 + i);
+ legalizeToReg(XmmArgs[i], Traits::RegisterSet::Reg_xmm0 + i);
// Generate a FakeUse of register arguments so that they do not get
// dead code eliminated as a result of the FakeKill of scratch
// registers after the call.
@@ -2483,7 +2483,7 @@
Inst->getSrc(0)->getType() == IceType_v4f32);
Operand *Src0RM = legalize(Inst->getSrc(0), Legal_Reg | Legal_Mem);
if (llvm::isa<typename Traits::X86OperandMem>(Src0RM))
- Src0RM = legalizeToVar(Src0RM);
+ Src0RM = legalizeToReg(Src0RM);
Variable *T = makeReg(Dest->getType());
_cvt(T, Src0RM, Traits::Insts::Cvt::Tps2dq);
_movp(Dest, T);
@@ -2560,7 +2560,7 @@
Inst->getSrc(0)->getType() == IceType_v4i32);
Operand *Src0RM = legalize(Inst->getSrc(0), Legal_Reg | Legal_Mem);
if (llvm::isa<typename Traits::X86OperandMem>(Src0RM))
- Src0RM = legalizeToVar(Src0RM);
+ Src0RM = legalizeToReg(Src0RM);
Variable *T = makeReg(Dest->getType());
_cvt(T, Src0RM, Traits::Insts::Cvt::Dq2ps);
_movp(Dest, T);
@@ -2775,7 +2775,7 @@
case IceType_v16i8:
case IceType_v4i32:
case IceType_v4f32: {
- _movp(Dest, legalizeToVar(Src0));
+ _movp(Dest, legalizeToReg(Src0));
} break;
}
break;
@@ -2804,7 +2804,7 @@
if (CanUsePextr && Ty != IceType_v4f32) {
// Use pextrb, pextrw, or pextrd.
Constant *Mask = Ctx->getConstantInt32(Index);
- Variable *SourceVectR = legalizeToVar(SourceVectNotLegalized);
+ Variable *SourceVectR = legalizeToReg(SourceVectNotLegalized);
_pextr(ExtractedElementR, SourceVectR, Mask);
} else if (Ty == IceType_v4i32 || Ty == IceType_v4f32 || Ty == IceType_v4i1) {
// Use pshufd and movd/movss.
@@ -2816,7 +2816,7 @@
T = makeReg(Ty);
_pshufd(T, legalize(SourceVectNotLegalized, Legal_Reg | Legal_Mem), Mask);
} else {
- T = legalizeToVar(SourceVectNotLegalized);
+ T = legalizeToReg(SourceVectNotLegalized);
}
if (InVectorElementTy == IceType_i32) {
@@ -2838,7 +2838,7 @@
// support for legalizing to mem is implemented.
Variable *Slot = Func->template makeVariable(Ty);
Slot->setWeight(RegWeight::Zero);
- _movp(Slot, legalizeToVar(SourceVectNotLegalized));
+ _movp(Slot, legalizeToReg(SourceVectNotLegalized));
// Compute the location of the element in memory.
unsigned Offset = Index * typeWidthInBytes(InVectorElementTy);
@@ -2889,7 +2889,7 @@
Operand *Src0RM = legalize(Src0, Legal_Reg | Legal_Mem);
Operand *Src1RM = legalize(Src1, Legal_Reg | Legal_Mem);
if (llvm::isa<typename Traits::X86OperandMem>(Src1RM))
- Src1RM = legalizeToVar(Src1RM);
+ Src1RM = legalizeToReg(Src1RM);
switch (Condition) {
default: {
@@ -3038,13 +3038,13 @@
break;
case InstIcmp::Eq: {
if (llvm::isa<typename Traits::X86OperandMem>(Src1RM))
- Src1RM = legalizeToVar(Src1RM);
+ Src1RM = legalizeToReg(Src1RM);
_movp(T, Src0RM);
_pcmpeq(T, Src1RM);
} break;
case InstIcmp::Ne: {
if (llvm::isa<typename Traits::X86OperandMem>(Src1RM))
- Src1RM = legalizeToVar(Src1RM);
+ Src1RM = legalizeToReg(Src1RM);
_movp(T, Src0RM);
_pcmpeq(T, Src1RM);
Variable *MinusOne = makeVectorOfMinusOnes(Ty);
@@ -3053,7 +3053,7 @@
case InstIcmp::Ugt:
case InstIcmp::Sgt: {
if (llvm::isa<typename Traits::X86OperandMem>(Src1RM))
- Src1RM = legalizeToVar(Src1RM);
+ Src1RM = legalizeToReg(Src1RM);
_movp(T, Src0RM);
_pcmpgt(T, Src1RM);
} break;
@@ -3061,7 +3061,7 @@
case InstIcmp::Sge: {
// !(Src1RM > Src0RM)
if (llvm::isa<typename Traits::X86OperandMem>(Src0RM))
- Src0RM = legalizeToVar(Src0RM);
+ Src0RM = legalizeToReg(Src0RM);
_movp(T, Src1RM);
_pcmpgt(T, Src0RM);
Variable *MinusOne = makeVectorOfMinusOnes(Ty);
@@ -3070,7 +3070,7 @@
case InstIcmp::Ult:
case InstIcmp::Slt: {
if (llvm::isa<typename Traits::X86OperandMem>(Src0RM))
- Src0RM = legalizeToVar(Src0RM);
+ Src0RM = legalizeToReg(Src0RM);
_movp(T, Src1RM);
_pcmpgt(T, Src0RM);
} break;
@@ -3078,7 +3078,7 @@
case InstIcmp::Sle: {
// !(Src0RM > Src1RM)
if (llvm::isa<typename Traits::X86OperandMem>(Src1RM))
- Src1RM = legalizeToVar(Src1RM);
+ Src1RM = legalizeToReg(Src1RM);
_movp(T, Src0RM);
_pcmpgt(T, Src1RM);
Variable *MinusOne = makeVectorOfMinusOnes(Ty);
@@ -3173,7 +3173,7 @@
if (InVectorElementTy == IceType_f32) {
// ElementR will be in an XMM register since it is floating point.
- ElementR = legalizeToVar(ElementToInsertNotLegalized);
+ ElementR = legalizeToReg(ElementToInsertNotLegalized);
} else {
// Copy an integer to an XMM register.
Operand *T = legalize(ElementToInsertNotLegalized, Legal_Reg | Legal_Mem);
@@ -3237,13 +3237,13 @@
// support for legalizing to mem is implemented.
Variable *Slot = Func->template makeVariable(Ty);
Slot->setWeight(RegWeight::Zero);
- _movp(Slot, legalizeToVar(SourceVectNotLegalized));
+ _movp(Slot, legalizeToReg(SourceVectNotLegalized));
// Compute the location of the position to insert in memory.
unsigned Offset = Index * typeWidthInBytes(InVectorElementTy);
typename Traits::X86OperandMem *Loc =
getMemoryOperandForStackSlot(InVectorElementTy, Slot, Offset);
- _store(legalizeToVar(ElementToInsertNotLegalized), Loc);
+ _store(legalizeToReg(ElementToInsertNotLegalized), Loc);
Variable *T = makeReg(Ty);
_movp(T, Slot);
@@ -3400,8 +3400,8 @@
// argument must be a register. Use rotate left for 16-bit bswap.
if (Val->getType() == IceType_i64) {
Val = legalizeUndef(Val);
- Variable *T_Lo = legalizeToVar(loOperand(Val));
- Variable *T_Hi = legalizeToVar(hiOperand(Val));
+ Variable *T_Lo = legalizeToReg(loOperand(Val));
+ Variable *T_Hi = legalizeToReg(hiOperand(Val));
Variable *DestLo = llvm::cast<Variable>(loOperand(Dest));
Variable *DestHi = llvm::cast<Variable>(hiOperand(Dest));
_bswap(T_Lo);
@@ -3409,7 +3409,7 @@
_mov(DestLo, T_Hi);
_mov(DestHi, T_Lo);
} else if (Val->getType() == IceType_i32) {
- Variable *T = legalizeToVar(Val);
+ Variable *T = legalizeToReg(Val);
_bswap(T);
_mov(Dest, T);
} else {
@@ -3487,9 +3487,9 @@
// Src is an f32 or f64, we need to make sure it's in a register.
if (isVectorType(Ty)) {
if (llvm::isa<typename Traits::X86OperandMem>(Src))
- Src = legalizeToVar(Src);
+ Src = legalizeToReg(Src);
} else {
- Src = legalizeToVar(Src);
+ Src = legalizeToReg(Src);
}
_pand(T, Src);
if (isVectorType(Ty))
@@ -3619,7 +3619,7 @@
_mov(T_eax, Expected);
typename Traits::X86OperandMem *Addr =
formMemoryOperand(Ptr, Expected->getType());
- Variable *DesiredReg = legalizeToVar(Desired);
+ Variable *DesiredReg = legalizeToReg(Desired);
const bool Locked = true;
_cmpxchg(Addr, T_eax, DesiredReg, Locked);
_mov(DestPrev, T_eax);
@@ -3961,7 +3961,7 @@
Variable *DestLo = llvm::cast<Variable>(loOperand(Dest));
Variable *DestHi = llvm::cast<Variable>(hiOperand(Dest));
// Will be using "test" on this, so we need a registerized variable.
- Variable *SecondVar = legalizeToVar(SecondVal);
+ Variable *SecondVar = legalizeToReg(SecondVal);
Variable *T_Dest2 = makeReg(IceType_i32);
if (Cttz) {
_bsf(T_Dest2, SecondVar);
@@ -4273,15 +4273,15 @@
Operand *Src0 = legalize(Inst->getRetValue());
if (Src0->getType() == IceType_i64) {
Variable *eax =
- legalizeToVar(loOperand(Src0), Traits::RegisterSet::Reg_eax);
+ legalizeToReg(loOperand(Src0), Traits::RegisterSet::Reg_eax);
Variable *edx =
- legalizeToVar(hiOperand(Src0), Traits::RegisterSet::Reg_edx);
+ legalizeToReg(hiOperand(Src0), Traits::RegisterSet::Reg_edx);
Reg = eax;
Context.insert(InstFakeUse::create(Func, edx));
} else if (isScalarFloatingType(Src0->getType())) {
_fld(Src0);
} else if (isVectorType(Src0->getType())) {
- Reg = legalizeToVar(Src0, Traits::RegisterSet::Reg_xmm0);
+ Reg = legalizeToReg(Src0, Traits::RegisterSet::Reg_xmm0);
} else {
_mov(Reg, Src0, Traits::RegisterSet::Reg_eax);
}
@@ -4461,7 +4461,7 @@
_store(ValueLo,
llvm::cast<typename Traits::X86OperandMem>(loOperand(NewAddr)));
} else if (isVectorType(Ty)) {
- _storep(legalizeToVar(Value), NewAddr);
+ _storep(legalizeToReg(Value), NewAddr);
} else {
Value = legalize(Value, Legal_Reg | Legal_Imm);
_store(Value, NewAddr);
@@ -4542,7 +4542,7 @@
Index = makeReg(getPointerType());
_movzx(Index, RangeIndex);
} else {
- Index = legalizeToVar(RangeIndex);
+ Index = legalizeToReg(RangeIndex);
}
constexpr RelocOffsetT RelocOffset = 0;
@@ -4553,7 +4553,7 @@
uint16_t Shift = typeWidthInBytesLog2(getPointerType());
// TODO(ascull): remove need for legalize by allowing null base in memop
auto *MemTarget = Traits::X86OperandMem::create(
- Func, getPointerType(), legalizeToVar(Base), Offset, Index, Shift);
+ Func, getPointerType(), legalizeToReg(Base), Offset, Index, Shift);
Variable *Target = nullptr;
_mov(Target, MemTarget);
_jmp(Target);
@@ -4597,8 +4597,8 @@
Operand *Src0Lo = loOperand(Src0);
Operand *Src0Hi = hiOperand(Src0);
if (NumCases >= 2) {
- Src0Lo = legalizeToVar(Src0Lo);
- Src0Hi = legalizeToVar(Src0Hi);
+ Src0Lo = legalizeToReg(Src0Lo);
+ Src0Hi = legalizeToReg(Src0Hi);
} else {
Src0Lo = legalize(Src0Lo, Legal_Reg | Legal_Mem);
Src0Hi = legalize(Src0Hi, Legal_Reg | Legal_Mem);
@@ -4620,7 +4620,7 @@
// OK, we'll be slightly less naive by forcing Src into a physical
// register if there are 2 or more uses.
if (NumCases >= 2)
- Src0 = legalizeToVar(Src0);
+ Src0 = legalizeToReg(Src0);
else
Src0 = legalize(Src0, Legal_Reg | Legal_Mem);
for (SizeT I = 0; I < NumCases; ++I) {
@@ -4649,8 +4649,8 @@
// This might be handled by a higher level lowering of switches.
SizeT NumCases = Inst->getNumCases();
if (NumCases >= 2) {
- Src0Lo = legalizeToVar(Src0Lo);
- Src0Hi = legalizeToVar(Src0Hi);
+ Src0Lo = legalizeToReg(Src0Lo);
+ Src0Hi = legalizeToReg(Src0Hi);
} else {
Src0Lo = legalize(Src0Lo, Legal_Reg | Legal_Mem);
Src0Hi = legalize(Src0Hi, Legal_Reg | Legal_Mem);
@@ -4690,7 +4690,7 @@
}
// Going to be using multiple times so get it in a register early
- Variable *Comparison = legalizeToVar(Src0);
+ Variable *Comparison = legalizeToReg(Src0);
// A span is over the clusters
struct SearchSpan {
@@ -4800,7 +4800,7 @@
if (NextCast->getCastKind() == InstCast::Sext &&
NextCast->getSrc(0) == SignExtendedResult) {
NextCast->setDeleted();
- _movp(NextCast->getDest(), legalizeToVar(SignExtendedResult));
+ _movp(NextCast->getDest(), legalizeToReg(SignExtendedResult));
// Skip over the instruction.
Context.advanceNext();
}
@@ -5198,10 +5198,10 @@
Variable *RegBase = nullptr;
Variable *RegIndex = nullptr;
if (Base) {
- RegBase = legalizeToVar(Base);
+ RegBase = legalizeToReg(Base);
}
if (Index) {
- RegIndex = legalizeToVar(Index);
+ RegIndex = legalizeToReg(Index);
}
if (Base != RegBase || Index != RegIndex) {
Mem = Traits::X86OperandMem::create(Func, Ty, RegBase, Mem->getOffset(),
@@ -5280,7 +5280,7 @@
/// Provide a trivial wrapper to legalize() for this common usage.
template <class Machine>
-Variable *TargetX86Base<Machine>::legalizeToVar(Operand *From, int32_t RegNum) {
+Variable *TargetX86Base<Machine>::legalizeToReg(Operand *From, int32_t RegNum) {
return llvm::cast<Variable>(legalize(From, Legal_Reg, RegNum));
}