Reapply "OpaquePtr: Add type to sret attribute"
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 29 Sep 2020 13:33:55 +0000 (09:33 -0400)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 16 Oct 2020 15:05:02 +0000 (11:05 -0400)
commit0a7cd99a702595ccf73c957be0127af9f25fb9a2
tree01837b082bd0229afc320b4371fe3558b1a9758f
parent97533b10b27db058cc77c81a4f964b66392871c6
Reapply "OpaquePtr: Add type to sret attribute"

This reverts commit eb9f7c28e5fe6d75fed3587023e17f2997c8024b.

Previously this was incorrectly handling linking of the contained
type, so this merges the fixes from D88973.
148 files changed:
clang/lib/CodeGen/CGCall.cpp
clang/test/CodeGen/2006-05-19-SingleEltReturn.c
clang/test/CodeGen/64bit-swiftcall.c
clang/test/CodeGen/X86/x86_32-arguments-darwin.c
clang/test/CodeGen/X86/x86_32-arguments-iamcu.c
clang/test/CodeGen/X86/x86_64-arguments-nacl.c
clang/test/CodeGen/X86/x86_64-arguments-win32.c
clang/test/CodeGen/X86/x86_64-arguments.c
clang/test/CodeGen/aarch64-varargs.c
clang/test/CodeGen/aggregate-assign-call.c
clang/test/CodeGen/aix-alignment.c
clang/test/CodeGen/aligned-sret.c
clang/test/CodeGen/arc/arguments.c
clang/test/CodeGen/arm-aapcs-vfp.c
clang/test/CodeGen/arm-homogenous.c
clang/test/CodeGen/arm-neon-vld.c
clang/test/CodeGen/arm-swiftcall.c
clang/test/CodeGen/arm-varargs.c
clang/test/CodeGen/arm-vector-arguments.c
clang/test/CodeGen/arm-vfp16-arguments.c
clang/test/CodeGen/arm-vfp16-arguments2.cpp
clang/test/CodeGen/arm64-arguments.c
clang/test/CodeGen/arm64-microsoft-arguments.cpp
clang/test/CodeGen/arm64_32.c
clang/test/CodeGen/arm_neon_intrinsics.c
clang/test/CodeGen/blocks.c
clang/test/CodeGen/c11atomics-ios.c
clang/test/CodeGen/c11atomics.c
clang/test/CodeGen/lanai-arguments.c
clang/test/CodeGen/le32-arguments.c
clang/test/CodeGen/mcu-struct-return.c
clang/test/CodeGen/mingw-long-double.c
clang/test/CodeGen/mips-zero-sized-struct.c
clang/test/CodeGen/mips64-padding-arg.c
clang/test/CodeGen/ms_abi.c
clang/test/CodeGen/powerpc-c99complex.c
clang/test/CodeGen/ppc-aggregate-abi.cpp
clang/test/CodeGen/ppc32-and-aix-struct-return.c
clang/test/CodeGen/ppc64-align-struct.c
clang/test/CodeGen/ppc64-elf-abi.c
clang/test/CodeGen/ppc64-qpx-vector.c
clang/test/CodeGen/ppc64-soft-float.c
clang/test/CodeGen/ppc64-vector.c
clang/test/CodeGen/ppc64le-aggregates.c
clang/test/CodeGen/ppc64le-f128Aggregates.c
clang/test/CodeGen/regparm-struct.c
clang/test/CodeGen/renderscript.c
clang/test/CodeGen/riscv32-ilp32-abi.c
clang/test/CodeGen/riscv32-ilp32-ilp32f-abi.c
clang/test/CodeGen/riscv32-ilp32-ilp32f-ilp32d-abi.c
clang/test/CodeGen/riscv32-ilp32d-abi.c
clang/test/CodeGen/riscv32-ilp32f-abi.c
clang/test/CodeGen/riscv32-ilp32f-ilp32d-abi.c
clang/test/CodeGen/riscv64-lp64-abi.c
clang/test/CodeGen/riscv64-lp64-lp64f-abi.c
clang/test/CodeGen/riscv64-lp64-lp64f-lp64d-abi.c
clang/test/CodeGen/riscv64-lp64d-abi.c
clang/test/CodeGen/sparcv9-abi.c
clang/test/CodeGen/struct-passing.c
clang/test/CodeGen/systemz-abi-vector.c
clang/test/CodeGen/systemz-abi.c
clang/test/CodeGen/systemz-abi.cpp
clang/test/CodeGen/systemz-inline-asm.c
clang/test/CodeGen/vectorcall.c
clang/test/CodeGen/wasm-arguments.c
clang/test/CodeGen/wasm-varargs.c
clang/test/CodeGen/windows-struct-abi.c
clang/test/CodeGen/windows-swiftcall.c
clang/test/CodeGenCXX/aix-alignment.cpp
clang/test/CodeGenCXX/arm-cc.cpp
clang/test/CodeGenCXX/builtin-source-location.cpp
clang/test/CodeGenCXX/call-with-static-chain.cpp
clang/test/CodeGenCXX/conditional-gnu-ext.cpp
clang/test/CodeGenCXX/cxx1z-copy-omission.cpp
clang/test/CodeGenCXX/cxx1z-lambda-star-this.cpp
clang/test/CodeGenCXX/exceptions.cpp
clang/test/CodeGenCXX/homogeneous-aggregates.cpp
clang/test/CodeGenCXX/lambda-expressions.cpp
clang/test/CodeGenCXX/matrix-type-builtins.cpp
clang/test/CodeGenCXX/matrix-type.cpp
clang/test/CodeGenCXX/microsoft-abi-byval-sret.cpp
clang/test/CodeGenCXX/microsoft-abi-byval-thunks.cpp
clang/test/CodeGenCXX/microsoft-abi-cdecl-method-sret.cpp
clang/test/CodeGenCXX/microsoft-abi-eh-cleanups.cpp
clang/test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp
clang/test/CodeGenCXX/microsoft-abi-unknown-arch.cpp
clang/test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp
clang/test/CodeGenCXX/pass-by-value-noalias.cpp
clang/test/CodeGenCXX/regcall.cpp
clang/test/CodeGenCXX/stack-reuse-miscompile.cpp
clang/test/CodeGenCXX/stack-reuse.cpp
clang/test/CodeGenCXX/temporaries.cpp
clang/test/CodeGenCXX/thiscall-struct-return.cpp
clang/test/CodeGenCXX/thunk-returning-memptr.cpp
clang/test/CodeGenCXX/thunks.cpp
clang/test/CodeGenCXX/trivial_abi.cpp
clang/test/CodeGenCXX/unknown-anytype.cpp
clang/test/CodeGenCXX/wasm-args-returns.cpp
clang/test/CodeGenCXX/x86_32-arguments.cpp
clang/test/CodeGenCXX/x86_64-arguments.cpp
clang/test/CodeGenCoroutines/coro-await.cpp
clang/test/CodeGenCoroutines/coro-gro-nrvo.cpp
clang/test/CodeGenObjC/arc.m
clang/test/CodeGenObjC/direct-method.m
clang/test/CodeGenObjC/nontrivial-c-struct-exception.m
clang/test/CodeGenObjC/objc-non-trivial-struct-nrvo.m
clang/test/CodeGenObjC/stret-1.m
clang/test/CodeGenObjC/stret_lookup.m
clang/test/CodeGenObjC/weak-in-c-struct.m
clang/test/CodeGenObjCXX/objc-struct-cxx-abi.mm
clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
clang/test/CodeGenOpenCLCXX/addrspace-of-this.cl
clang/test/Modules/templates.mm
llvm/docs/LangRef.rst
llvm/docs/ReleaseNotes.rst
llvm/include/llvm/IR/Attributes.h
llvm/include/llvm/IR/Attributes.td
llvm/include/llvm/IR/Function.h
llvm/lib/AsmParser/LLParser.cpp
llvm/lib/AsmParser/LLParser.h
llvm/lib/Bitcode/Reader/BitcodeReader.cpp
llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
llvm/lib/IR/AsmWriter.cpp
llvm/lib/IR/AttributeImpl.h
llvm/lib/IR/Attributes.cpp
llvm/lib/IR/Core.cpp
llvm/lib/Linker/IRMover.cpp
llvm/lib/Transforms/Utils/ValueMapper.cpp
llvm/test/Assembler/sret-type-attr.ll [new file with mode: 0644]
llvm/test/Bitcode/attributes-3.3.ll
llvm/test/Bitcode/attributes.ll
llvm/test/Bitcode/compatibility-3.6.ll
llvm/test/Bitcode/compatibility-3.7.ll
llvm/test/Bitcode/compatibility-3.8.ll
llvm/test/Bitcode/compatibility-3.9.ll
llvm/test/Bitcode/compatibility-4.0.ll
llvm/test/Bitcode/compatibility-5.0.ll
llvm/test/Bitcode/compatibility-6.0.ll
llvm/test/Bitcode/compatibility.ll
llvm/test/Bitcode/highLevelStructure.3.2.ll
llvm/test/Linker/Inputs/sret-type-input.ll [new file with mode: 0644]
llvm/test/Linker/sret-types.ll [new file with mode: 0644]
llvm/test/Transforms/Attributor/ArgumentPromotion/sret.ll
llvm/test/Transforms/Attributor/value-simplify.ll
llvm/test/Verifier/align.ll
llvm/test/Verifier/byref.ll
llvm/test/Verifier/noundef.ll