[PATCH] D91840: OpaquePtr: Require byval on x86_intrcc parameter 0

Matt Arsenault via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 19 20:00:00 PST 2020


arsenm created this revision.
arsenm added reviewers: rnk, aaboud, craig.topper.
Herald added subscribers: dexonsmith, pengfei, hiraditya.
Herald added a project: LLVM.
arsenm requested review of this revision.
Herald added a subscriber: wdng.

Currently the backend special cases x86_intrcc and treats the first
parameter as byval. Make the IR require byval for this parameter to
remove this special case, and avoid the dependence on the pointee
element type.

      

Fixes bug 46672.

      

I'm not sure the IR is enforcing all the calling convention
constraints. clang seems to ignore the attribute for empty parameter
lists, but the IR tolerates it.


https://reviews.llvm.org/D91840

Files:
  clang/lib/CodeGen/TargetInfo.cpp
  clang/test/CodeGen/attr-x86-interrupt.c
  clang/test/CodeGenCXX/attr-x86-interrupt.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  llvm/lib/IR/AutoUpgrade.cpp
  llvm/lib/IR/Verifier.cpp
  llvm/test/Assembler/x86_intrcc.ll
  llvm/test/Bitcode/Inputs/x86_intrcc_upgrade.bc
  llvm/test/Bitcode/compatibility-6.0.ll
  llvm/test/Bitcode/compatibility.ll
  llvm/test/Bitcode/x86_intr-upgrade.test
  llvm/test/CodeGen/X86/x86-32-intrcc.ll
  llvm/test/CodeGen/X86/x86-64-intrcc-nosse.ll
  llvm/test/CodeGen/X86/x86-64-intrcc.ll
  llvm/test/CodeGen/X86/x86-interrupt_cc.ll
  llvm/test/CodeGen/X86/x86-interrupt_cld.ll
  llvm/test/CodeGen/X86/x86-interrupt_vzeroupper.ll
  llvm/test/CodeGen/X86/x86-no_caller_saved_registers.ll
  llvm/test/Verifier/x86_intr.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D91840.306588.patch
Type: text/x-patch
Size: 22940 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20201120/4f576137/attachment-0001.bin>


More information about the cfe-commits mailing list