summaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen/CallingConvLower.h
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
commitb8cafe3427a168414400e5dfcbea78996792d2c3 (patch)
treeaedcf29317486800a015207db85b4e61a90ca453 /include/llvm/CodeGen/CallingConvLower.h
parent29c8c370457fc6983bec940168c337a85d5a1e07 (diff)
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.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48122 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/CallingConvLower.h')
-rw-r--r--include/llvm/CodeGen/CallingConvLower.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/llvm/CodeGen/CallingConvLower.h b/include/llvm/CodeGen/CallingConvLower.h
index 8fe3b16c1ba1..34e20903fa76 100644
--- a/include/llvm/CodeGen/CallingConvLower.h
+++ b/include/llvm/CodeGen/CallingConvLower.h
@@ -17,6 +17,7 @@
#include "llvm/ADT/SmallVector.h"
#include "llvm/CodeGen/ValueTypes.h"
+#include "llvm/CodeGen/SelectionDAGNodes.h"
namespace llvm {
class TargetRegisterInfo;
@@ -97,7 +98,7 @@ public:
/// reflect the change.
typedef bool CCAssignFn(unsigned ValNo, MVT::ValueType ValVT,
MVT::ValueType LocVT, CCValAssign::LocInfo LocInfo,
- unsigned ArgFlags, CCState &State);
+ ISD::ParamFlags::ParamFlagsTy ArgFlags, CCState &State);
/// CCState - This class holds information needed while lowering arguments and
@@ -196,7 +197,8 @@ public:
// parameter attribute.
void HandleByVal(unsigned ValNo, MVT::ValueType ValVT,
MVT::ValueType LocVT, CCValAssign::LocInfo LocInfo,
- int MinSize, int MinAlign, unsigned ArgFlags);
+ int MinSize, int MinAlign,
+ ISD::ParamFlags::ParamFlagsTy ArgFlags);
private:
/// MarkAllocated - Mark a register and all of its aliases as allocated.