Index: src/IceInstX8632.cpp |
diff --git a/src/IceInstX8632.cpp b/src/IceInstX8632.cpp |
index 28fa07b61ceaef4f0da09692a1c6f7a4702aaab5..bf26f8468d9717156f2c31d761fd1cfbde252096 100644 |
--- a/src/IceInstX8632.cpp |
+++ b/src/IceInstX8632.cpp |
@@ -28,10 +28,10 @@ |
namespace Ice { |
-namespace X86Internal { |
+namespace X8632 { |
-const MachineTraits<TargetX8632>::InstBrAttributesType |
- MachineTraits<TargetX8632>::InstBrAttributes[] = { |
+const TargetX8632Traits::InstBrAttributesType |
+ TargetX8632Traits::InstBrAttributes[] = { |
#define X(val, encode, opp, dump, emit) \ |
{ X8632::Traits::Cond::opp, dump, emit } \ |
, |
@@ -39,8 +39,8 @@ const MachineTraits<TargetX8632>::InstBrAttributesType |
#undef X |
}; |
-const MachineTraits<TargetX8632>::InstCmppsAttributesType |
- MachineTraits<TargetX8632>::InstCmppsAttributes[] = { |
+const TargetX8632Traits::InstCmppsAttributesType |
+ TargetX8632Traits::InstCmppsAttributes[] = { |
#define X(val, emit) \ |
{ emit } \ |
, |
@@ -48,8 +48,8 @@ const MachineTraits<TargetX8632>::InstCmppsAttributesType |
#undef X |
}; |
-const MachineTraits<TargetX8632>::TypeAttributesType |
- MachineTraits<TargetX8632>::TypeAttributes[] = { |
+const TargetX8632Traits::TypeAttributesType |
+ TargetX8632Traits::TypeAttributes[] = { |
#define X(tag, elementty, cvt, sdss, pdps, spsd, pack, width, fld) \ |
{ cvt, sdss, pdps, spsd, pack, width, fld } \ |
, |
@@ -57,27 +57,28 @@ const MachineTraits<TargetX8632>::TypeAttributesType |
#undef X |
}; |
-const char *MachineTraits<TargetX8632>::InstSegmentRegNames[] = { |
+const char *TargetX8632Traits::InstSegmentRegNames[] = { |
#define X(val, name, prefix) name, |
SEG_REGX8632_TABLE |
#undef X |
}; |
-uint8_t MachineTraits<TargetX8632>::InstSegmentPrefixes[] = { |
+uint8_t TargetX8632Traits::InstSegmentPrefixes[] = { |
#define X(val, name, prefix) prefix, |
SEG_REGX8632_TABLE |
#undef X |
}; |
-void MachineTraits<TargetX8632>::X86Operand::dump(const Cfg *, |
- Ostream &Str) const { |
+void TargetX8632Traits::X86Operand::dump(const Cfg *, Ostream &Str) const { |
if (BuildDefs::dump()) |
Str << "<OperandX8632>"; |
} |
-MachineTraits<TargetX8632>::X86OperandMem::X86OperandMem( |
- Cfg *Func, Type Ty, Variable *Base, Constant *Offset, Variable *Index, |
- uint16_t Shift, SegmentRegisters SegmentReg) |
+TargetX8632Traits::X86OperandMem::X86OperandMem(Cfg *Func, Type Ty, |
+ Variable *Base, |
+ Constant *Offset, |
+ Variable *Index, uint16_t Shift, |
+ SegmentRegisters SegmentReg) |
: X86Operand(kMem, Ty), Base(Base), Offset(Offset), Index(Index), |
Shift(Shift), SegmentReg(SegmentReg), Randomized(false) { |
assert(Shift <= 3); |
@@ -99,8 +100,9 @@ MachineTraits<TargetX8632>::X86OperandMem::X86OperandMem( |
} |
namespace { |
-static int32_t GetRematerializableOffset(Variable *Var, |
- const Ice::TargetX8632 *Target) { |
+static int32_t |
+GetRematerializableOffset(Variable *Var, |
+ const Ice::X8632::TargetX8632 *Target) { |
int32_t Disp = Var->getStackOffset(); |
SizeT RegNum = static_cast<SizeT>(Var->getRegNum()); |
if (RegNum == Target->getFrameReg()) { |
@@ -112,10 +114,11 @@ static int32_t GetRematerializableOffset(Variable *Var, |
} |
} // end of anonymous namespace |
-void MachineTraits<TargetX8632>::X86OperandMem::emit(const Cfg *Func) const { |
+void TargetX8632Traits::X86OperandMem::emit(const Cfg *Func) const { |
if (!BuildDefs::dump()) |
return; |
- const auto *Target = static_cast<const Ice::TargetX8632 *>(Func->getTarget()); |
+ const auto *Target = |
+ static_cast<const ::Ice::X8632::TargetX8632 *>(Func->getTarget()); |
// If the base is rematerializable, we need to replace it with the correct |
// physical register (esp or ebp), and update the Offset. |
int32_t Disp = 0; |
@@ -166,8 +169,8 @@ void MachineTraits<TargetX8632>::X86OperandMem::emit(const Cfg *Func) const { |
} |
} |
-void MachineTraits<TargetX8632>::X86OperandMem::dump(const Cfg *Func, |
- Ostream &Str) const { |
+void TargetX8632Traits::X86OperandMem::dump(const Cfg *Func, |
+ Ostream &Str) const { |
if (!BuildDefs::dump()) |
return; |
if (SegmentReg != DefaultSegment) { |
@@ -177,7 +180,8 @@ void MachineTraits<TargetX8632>::X86OperandMem::dump(const Cfg *Func, |
bool Dumped = false; |
Str << "["; |
int32_t Disp = 0; |
- const auto *Target = static_cast<const Ice::TargetX8632 *>(Func->getTarget()); |
+ const auto *Target = |
+ static_cast<const ::Ice::X8632::TargetX8632 *>(Func->getTarget()); |
if (getBase() && getBase()->isRematerializable()) { |
Disp += GetRematerializableOffset(getBase(), Target); |
} |
@@ -230,20 +234,20 @@ void MachineTraits<TargetX8632>::X86OperandMem::dump(const Cfg *Func, |
Str << "]"; |
} |
-void MachineTraits<TargetX8632>::X86OperandMem::emitSegmentOverride( |
- MachineTraits<TargetX8632>::Assembler *Asm) const { |
+void TargetX8632Traits::X86OperandMem::emitSegmentOverride( |
+ TargetX8632Traits::Assembler *Asm) const { |
if (SegmentReg != DefaultSegment) { |
assert(SegmentReg >= 0 && SegmentReg < SegReg_NUM); |
Asm->emitSegmentOverride(X8632::Traits::InstSegmentPrefixes[SegmentReg]); |
} |
} |
-MachineTraits<TargetX8632>::Address |
-MachineTraits<TargetX8632>::X86OperandMem::toAsmAddress( |
- MachineTraits<TargetX8632>::Assembler *Asm, |
+TargetX8632Traits::Address TargetX8632Traits::X86OperandMem::toAsmAddress( |
+ TargetX8632Traits::Assembler *Asm, |
const Ice::TargetLowering *TargetLowering) const { |
int32_t Disp = 0; |
- const auto *Target = static_cast<const Ice::TargetX8632 *>(TargetLowering); |
+ const auto *Target = |
+ static_cast<const ::Ice::X8632::TargetX8632 *>(TargetLowering); |
if (getBase() && getBase()->isRematerializable()) { |
Disp += GetRematerializableOffset(getBase(), Target); |
} |
@@ -284,8 +288,8 @@ MachineTraits<TargetX8632>::X86OperandMem::toAsmAddress( |
} |
} |
-MachineTraits<TargetX8632>::Address |
-MachineTraits<TargetX8632>::VariableSplit::toAsmAddress(const Cfg *Func) const { |
+TargetX8632Traits::Address |
+TargetX8632Traits::VariableSplit::toAsmAddress(const Cfg *Func) const { |
assert(!Var->hasReg()); |
const ::Ice::TargetLowering *Target = Func->getTarget(); |
int32_t Offset = Var->getStackOffset() + getOffset(); |
@@ -293,7 +297,7 @@ MachineTraits<TargetX8632>::VariableSplit::toAsmAddress(const Cfg *Func) const { |
Offset, AssemblerFixup::NoFixup); |
} |
-void MachineTraits<TargetX8632>::VariableSplit::emit(const Cfg *Func) const { |
+void TargetX8632Traits::VariableSplit::emit(const Cfg *Func) const { |
if (!BuildDefs::dump()) |
return; |
Ostream &Str = Func->getContext()->getStrEmit(); |
@@ -307,8 +311,8 @@ void MachineTraits<TargetX8632>::VariableSplit::emit(const Cfg *Func) const { |
Str << "(%" << Target->getRegName(Target->getFrameOrStackReg(), Ty) << ")"; |
} |
-void MachineTraits<TargetX8632>::VariableSplit::dump(const Cfg *Func, |
- Ostream &Str) const { |
+void TargetX8632Traits::VariableSplit::dump(const Cfg *Func, |
+ Ostream &Str) const { |
if (!BuildDefs::dump()) |
return; |
switch (Part) { |
@@ -327,7 +331,7 @@ void MachineTraits<TargetX8632>::VariableSplit::dump(const Cfg *Func, |
Str << ")"; |
} |
-} // namespace X86Internal |
+} // namespace X8632 |
} // end of namespace Ice |
-X86INSTS_DEFINE_STATIC_DATA(TargetX8632) |
+X86INSTS_DEFINE_STATIC_DATA(X8632, X8632::Traits) |