IR: add optional type to 'byval' function parameters
When we switch to opaque pointer types we will need some way to describe how many bytes a 'byval' parameter should occupy on the stack. This adds a (for now) optional extra type parameter. If present, the type must match the pointee type of the argument. Note to front-end maintainers: if this causes test failures, it's probably because the "byval" attribute is printed after attributes without any parameter after this change. llvm-svn: 362012
This commit is contained in:
@@ -949,9 +949,11 @@ void ValueEnumerator::incorporateFunction(const Function &F) {
|
||||
incorporateFunctionMetadata(F);
|
||||
|
||||
// Adding function arguments to the value table.
|
||||
for (const auto &I : F.args())
|
||||
for (const auto &I : F.args()) {
|
||||
EnumerateValue(&I);
|
||||
|
||||
if (I.hasAttribute(Attribute::ByVal) && I.getParamByValType())
|
||||
EnumerateType(I.getParamByValType());
|
||||
}
|
||||
FirstFuncConstantID = Values.size();
|
||||
|
||||
// Add all function-level constants to the value table.
|
||||
|
||||
Reference in New Issue
Block a user