summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/CallingConvEmitter.cpp
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2008-03-10 02:17:22 +0000
committerDale Johannesen <dalej@apple.com>2008-03-10 02:17:22 +0000
commit4e622ec86d8b4b8e40dcf3c8dcfd405190a31bbb (patch)
tree5733d27417818263b54a8c9b5c4263ee2377ec88 /llvm/utils/TableGen/CallingConvEmitter.cpp
parent148562f13e787d7c4d5862ee473234e4bf0a1258 (diff)
downloadbcm5719-llvm-4e622ec86d8b4b8e40dcf3c8dcfd405190a31bbb.tar.gz
bcm5719-llvm-4e622ec86d8b4b8e40dcf3c8dcfd405190a31bbb.zip
Increase ISD::ParamFlags to 64 bits. Increase the ByValSize
field to 32 bits, thus enabling correct handling of ByVal structs bigger than 0x1ffff. Abstract interface a bit. Fixes gcc.c-torture/execute/pr23135.c and gcc.c-torture/execute/pr28982b.c in gcc testsuite (were ICE'ing on ppc32, quietly producing wrong code on x86-32.) llvm-svn: 48122
Diffstat (limited to 'llvm/utils/TableGen/CallingConvEmitter.cpp')
-rw-r--r--llvm/utils/TableGen/CallingConvEmitter.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/utils/TableGen/CallingConvEmitter.cpp b/llvm/utils/TableGen/CallingConvEmitter.cpp
index 0ffbd683d38..48f7cb33e6e 100644
--- a/llvm/utils/TableGen/CallingConvEmitter.cpp
+++ b/llvm/utils/TableGen/CallingConvEmitter.cpp
@@ -30,7 +30,7 @@ void CallingConvEmitter::run(std::ostream &O) {
<< std::string(CCs[i]->getName().size()+13, ' ')
<< "MVT::ValueType LocVT, CCValAssign::LocInfo LocInfo,\n"
<< std::string(CCs[i]->getName().size()+13, ' ')
- << "unsigned ArgFlags, CCState &State);\n";
+ << "ISD::ParamFlags::ParamFlagsTy ArgFlags, CCState &State);\n";
}
// Emit each calling convention description in full.
@@ -48,7 +48,7 @@ void CallingConvEmitter::EmitCallingConv(Record *CC, std::ostream &O) {
<< std::string(CC->getName().size()+13, ' ')
<< "MVT::ValueType LocVT, CCValAssign::LocInfo LocInfo,\n"
<< std::string(CC->getName().size()+13, ' ')
- << "unsigned ArgFlags, CCState &State) {\n";
+ << "ISD::ParamFlags::ParamFlagsTy ArgFlags, CCState &State) {\n";
// Emit all of the actions, in order.
for (unsigned i = 0, e = CCActions->getSize(); i != e; ++i) {
O << "\n";
OpenPOWER on IntegriCloud