mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-21 23:17:16 +00:00
Wrap MVT::ValueType in a struct to get type safety
and better control the abstraction. Rename the type to MVT. To update out-of-tree patches, the main thing to do is to rename MVT::ValueType to MVT, and rewrite expressions like MVT::getSizeInBits(VT) in the form VT.getSizeInBits(). Use VT.getSimpleVT() to extract a MVT::SimpleValueType for use in switch statements (you will get an assert failure if VT is an extended value type - these shouldn't exist after type legalization). This results in a small speedup of codegen and no new testsuite failures (x86-64 linux). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52044 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -26,9 +26,9 @@ void CallingConvEmitter::run(std::ostream &O) {
|
||||
// other.
|
||||
for (unsigned i = 0, e = CCs.size(); i != e; ++i) {
|
||||
O << "static bool " << CCs[i]->getName()
|
||||
<< "(unsigned ValNo, MVT::ValueType ValVT,\n"
|
||||
<< "(unsigned ValNo, MVT ValVT,\n"
|
||||
<< std::string(CCs[i]->getName().size()+13, ' ')
|
||||
<< "MVT::ValueType LocVT, CCValAssign::LocInfo LocInfo,\n"
|
||||
<< "MVT LocVT, CCValAssign::LocInfo LocInfo,\n"
|
||||
<< std::string(CCs[i]->getName().size()+13, ' ')
|
||||
<< "ISD::ArgFlagsTy ArgFlags, CCState &State);\n";
|
||||
}
|
||||
@@ -44,9 +44,9 @@ void CallingConvEmitter::EmitCallingConv(Record *CC, std::ostream &O) {
|
||||
Counter = 0;
|
||||
|
||||
O << "\n\nstatic bool " << CC->getName()
|
||||
<< "(unsigned ValNo, MVT::ValueType ValVT,\n"
|
||||
<< "(unsigned ValNo, MVT ValVT,\n"
|
||||
<< std::string(CC->getName().size()+13, ' ')
|
||||
<< "MVT::ValueType LocVT, CCValAssign::LocInfo LocInfo,\n"
|
||||
<< "MVT LocVT, CCValAssign::LocInfo LocInfo,\n"
|
||||
<< std::string(CC->getName().size()+13, ' ')
|
||||
<< "ISD::ArgFlagsTy ArgFlags, CCState &State) {\n";
|
||||
// Emit all of the actions, in order.
|
||||
@@ -163,12 +163,12 @@ void CallingConvEmitter::EmitAction(Record *Action,
|
||||
O << Size << ", ";
|
||||
else
|
||||
O << "\n" << IndentStr << " State.getTarget().getTargetData()"
|
||||
"->getABITypeSize(MVT::getTypeForValueType(LocVT)), ";
|
||||
"->getABITypeSize(LocVT.getTypeForMVT()), ";
|
||||
if (Align)
|
||||
O << Align;
|
||||
else
|
||||
O << "\n" << IndentStr << " State.getTarget().getTargetData()"
|
||||
"->getABITypeAlignment(MVT::getTypeForValueType(LocVT))";
|
||||
"->getABITypeAlignment(LocVT.getTypeForMVT())";
|
||||
O << ");\n" << IndentStr
|
||||
<< "State.addLoc(CCValAssign::getMem(ValNo, ValVT, Offset"
|
||||
<< Counter << ", LocVT, LocInfo));\n";
|
||||
|
||||
Reference in New Issue
Block a user