[PATCH] D62319: IR: add 'byval(<ty>)' variant to 'byval' function parameters
David Blaikie via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 28 16:45:12 PDT 2019
dblaikie added a comment.
Generally looking pretty good to me.
================
Comment at: llvm/include/llvm/IR/Argument.h:81
+ /// If this is a byval argument, return its size.
+ Type *getParamByValType() const;
----------------
Comment looks to be out of date (speaks of returning the size, rather than type)
================
Comment at: llvm/lib/IR/Attributes.cpp:394-395
+ Result += "byval";
+ Type *Ty = getValueAsType();
+ if (Ty) {
+ raw_string_ostream OS(Result);
----------------
You can roll the declaration into the condition if you like - pretty common in the LLVM codebase, though not a stylistic requirement by any means.
================
Comment at: llvm/lib/IR/Attributes.cpp:554
+ if (getKindAsEnum() == AI.getKindAsEnum())
+ return getValueAsType() < AI.getValueAsType();
+ return getKindAsEnum() < AI.getKindAsEnum();
----------------
This being pointer ordering - that means it'll be unstable across runs (which I assume/think none of the other attributes are?) - is that OK?(I don't know if that's OK - it probably is OK)
================
Comment at: llvm/test/Assembler/invalid-size1.ll:1-4
+; RUN: not llvm-as %s -o /dev/null 2>&1 | FileCheck %s
+
+; CHECK: error: expected function name
+declare i8* size 4 @ret_size()
----------------
Leftover from the previous version?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D62319/new/
https://reviews.llvm.org/D62319
More information about the llvm-commits
mailing list