[PATCH] D86125: [GlobalISel][CallLowering] Look through call parameters for flags

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 17 18:04:44 PDT 2020


paquette created this revision.
paquette added reviewers: aemerson, arsenm.
Herald added subscribers: kerbowa, hiraditya, rovka, nhaehnle, jvesely.
Herald added a project: LLVM.
paquette requested review of this revision.
Herald added a subscriber: wdng.

We weren't looking through the parameters on calls at all.

E.g., say you had

  declare i32 @zext(i32 zeroext %x)
  
  ...
  %y = call i32 @zext(i32 %something)
  ...

At the point of the call, we wouldn't know that `%something` should have the zeroext attribute.

This sets flags in about the same way as `TargetLoweringBase::ArgListEntry::setAttributes`.


https://reviews.llvm.org/D86125

Files:
  llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
  llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
  llvm/test/CodeGen/AArch64/GlobalISel/call-translator.ll
  llvm/test/CodeGen/AArch64/GlobalISel/swifterror.ll
  llvm/test/CodeGen/AArch64/GlobalISel/swiftself.ll
  llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-sret.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D86125.286187.patch
Type: text/x-patch
Size: 11019 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200818/0246882c/attachment.bin>


More information about the llvm-commits mailing list