summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2019-06-05 20:37:47 +0000
committerTim Northover <tnorthover@apple.com>2019-06-05 20:37:47 +0000
commit607c8a9d1481312acb421425ac8c8df56a0c9012 (patch)
tree9c7c049d9488b8242df980d6f4d3a9c892658d62 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parent4fb580c31475aa5cf1481927ed6cfefa7a14d5aa (diff)
downloadbcm5719-llvm-607c8a9d1481312acb421425ac8c8df56a0c9012.tar.gz
bcm5719-llvm-607c8a9d1481312acb421425ac8c8df56a0c9012.zip
IR: make getParamByValType Just Work. NFC.
Most parts of LLVM don't care whether the byval type is derived from an explicit Attribute or from the parameter's pointee type, so it makes sense for the main access function to just return the right value. The very few users who do care (only BitcodeReader so far) can find out how it's specified by accessing the Attribute directly. llvm-svn: 362642
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
-rw-r--r--llvm/lib/Bitcode/Reader/BitcodeReader.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
index 9f562ba82db..c33fc568abe 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -3049,7 +3049,8 @@ Error BitcodeReader::parseFunctionRecord(ArrayRef<uint64_t> Record) {
// pointee type. There should be no opaque pointers where the byval type is
// implicit.
for (auto &Arg : Func->args()) {
- if (Arg.hasByValAttr() && !Arg.getParamByValType()) {
+ if (Arg.hasByValAttr() &&
+ !Arg.getAttribute(Attribute::ByVal).getValueAsType()) {
Arg.removeAttr(Attribute::ByVal);
Arg.addAttr(Attribute::getWithByValType(
Context, Arg.getType()->getPointerElementType()));
OpenPOWER on IntegriCloud