[all-commits] [llvm/llvm-project] 3c8481: CodeGen: Expand memory intrinsics in PreISelIntrin...
Matt Arsenault via All-commits
all-commits at lists.llvm.org
Fri Jun 9 18:05:00 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3c848194f28decca41b7362f9dd35d4939797724
https://github.com/llvm/llvm-project/commit/3c848194f28decca41b7362f9dd35d4939797724
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-06-09 (Fri, 09 Jun 2023)
Changed paths:
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.h
R llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/CMakeLists.txt
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memcpy.inline.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memcpy.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memmove.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.memset.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics-threshold.ll
M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-lds.ll
M llvm/test/CodeGen/AMDGPU/stack-size-overflow.ll
M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/BUILD.gn
Log Message:
-----------
CodeGen: Expand memory intrinsics in PreISelIntrinsicLowering
Expand large or unknown size memory intrinsics into loops in the
default lowering pipeline if the target doesn't have the corresponding
libfunc. Previously AMDGPU had a custom pass which existed to call the
expansion utilities.
With a default no-libcall option, we can remove the libfunc checks in
LoopIdiomRecognize for these, which never made any sense. This also
provides a path to lifting the immarg restriction on
llvm.memcpy.inline.
There seems to be a bug where TLI reports functions as available if
you use -march and not -mtriple.
Commit: 02d25c82b8b54a3c3f3791c700c7f4192554a95e
https://github.com/llvm/llvm-project/commit/02d25c82b8b54a3c3f3791c700c7f4192554a95e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-06-09 (Fri, 09 Jun 2023)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
Log Message:
-----------
GlobalISel: Remove block insertion legalizer check
This report was broken. The passed null block would crash in the
remark constructor.
I have a patch which will introduce a new block, and it seems to work
fine. It doesn't require legalizing any instructions in the new block,
so it's possible those will be missed.
Commit: 4e4c351ae5b81774423a6ed6eb90abf4b82eff90
https://github.com/llvm/llvm-project/commit/4e4c351ae5b81774423a6ed6eb90abf4b82eff90
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2023-06-09 (Fri, 09 Jun 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
A llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trap.mir
M llvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll
M llvm/test/CodeGen/AMDGPU/trap.ll
Log Message:
-----------
AMDGPU: Avoid endpgm in middle of block for fallback trap lowering.
This was inserting an s_endpgm in the middle of the block when it has
to be a terminator. Split the block and insert a branch to a new block
with the trap if it's not in a terminator position.
Fixes verifier error on LDS in function with no trap support (and
other trap sources).
Compare: https://github.com/llvm/llvm-project/compare/2e16df352c7a...4e4c351ae5b8
More information about the All-commits
mailing list