GlobalISel: Fix marking byval arguments as immutable
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Sat, 6 Mar 2021 16:49:30 +0000 (11:49 -0500)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 12 Mar 2021 14:01:53 +0000 (09:01 -0500)
commit6b76d82853fdc64160dda44610407c04af620292
treea5ad493127c162c9be71b22a44c64fe0983acaf6
parent34471c30602b5deccca4ed7607721e819e26b39c
GlobalISel: Fix marking byval arguments as immutable

byval arguments need to be assumed writable. Only implicitly stack
passed arguments which aren't addressable in the IR can be assumed
immutable.

Mips is still broken since for some reason its doing its own thing
with the ValueHandlers (and x86 doesn't actually handle byval
arguments now, although some of the code is there).
llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
llvm/lib/Target/ARM/ARMCallLowering.cpp
llvm/lib/Target/Mips/MipsCallLowering.cpp
llvm/lib/Target/X86/X86CallLowering.cpp
llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-stack-objects.ll [new file with mode: 0644]
llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll