[all-commits] [llvm/llvm-project] a1540e: [clang codegen] Fix ABI for HVA returns on AArch64...
Maurice Heumann via All-commits
all-commits at lists.llvm.org
Mon Jun 26 10:46:04 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a1540e4852a90e7f72c996a3832edfd20968bd9e
https://github.com/llvm/llvm-project/commit/a1540e4852a90e7f72c996a3832edfd20968bd9e
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2023-06-26 (Mon, 26 Jun 2023)
Changed paths:
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGenCXX/homogeneous-aggregates.cpp
Log Message:
-----------
[clang codegen] Fix ABI for HVA returns on AArch64 MSVC.
MSVC normally has a bunch of restrictions on returning values directly
which don't apply to passing values directly. (This roughly corresponds
to the definition of a C++14 aggregate.) However, these restrictions
don't apply to HVAs; make sure we check for that.
Fixes https://github.com/llvm/llvm-project/issues/62223
Differential Revision: https://reviews.llvm.org/D153179
Commit: bc7f11ccb01cbc2ae6c1631535ea5c181f70cb1e
https://github.com/llvm/llvm-project/commit/bc7f11ccb01cbc2ae6c1631535ea5c181f70cb1e
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2023-06-26 (Mon, 26 Jun 2023)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/test/CodeGen/AArch64/dag-combine-setcc.ll
M llvm/test/CodeGen/AArch64/fpclamptosat.ll
M llvm/test/CodeGen/AArch64/fpclamptosat_vec.ll
M llvm/test/CodeGen/AArch64/vecreduce-umax-legalization.ll
M llvm/test/CodeGen/AMDGPU/max.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/ARM/fpclamptosat.ll
M llvm/test/CodeGen/ARM/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/min-max.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll
M llvm/test/CodeGen/Thumb2/mve-minmaxi.ll
M llvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll
M llvm/test/CodeGen/VE/Scalar/smax.ll
M llvm/test/CodeGen/VE/Scalar/smin.ll
M llvm/test/CodeGen/VE/Scalar/umax.ll
M llvm/test/CodeGen/VE/Scalar/umin.ll
M llvm/test/CodeGen/WebAssembly/fpclamptosat.ll
M llvm/test/CodeGen/WebAssembly/fpclamptosat_vec.ll
M llvm/test/CodeGen/X86/abds.ll
M llvm/test/CodeGen/X86/abdu.ll
M llvm/test/CodeGen/X86/fpclamptosat.ll
M llvm/test/CodeGen/X86/fpclamptosat_vec.ll
M llvm/test/CodeGen/X86/sdiv_fix_sat.ll
M llvm/test/CodeGen/X86/smax.ll
M llvm/test/CodeGen/X86/smin.ll
M llvm/test/CodeGen/X86/udiv_fix_sat.ll
M llvm/test/CodeGen/X86/umax.ll
M llvm/test/CodeGen/X86/umin.ll
Log Message:
-----------
[SelectionDAG] Improve expansion of wide min/max
The current implementation tries to handle the high and low halves
separately, but that's less efficient in most cases; use a wide SETCC
instead.
Differential Revision: https://reviews.llvm.org/D151358
Commit: 249bd9eab0aa122453073278bb9cd53f73c08cf8
https://github.com/llvm/llvm-project/commit/249bd9eab0aa122453073278bb9cd53f73c08cf8
Author: Maurice Heumann <MauriceHeumann at gmail.com>
Date: 2023-06-26 (Mon, 26 Jun 2023)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/test/CodeGen/ARM/i64_volatile_load_store.ll
Log Message:
-----------
[ARM] Fix codegen of unaligned volatile load/store of i64
Volatile loads/stores of i64 are lowered to LDRD/STRD on ARMv5TE.
However, these instructions require the addresses to be aligned.
Unaligned loads/stores therefore should be ignored by this handling.
Differential Revision: https://reviews.llvm.org/D152790
Compare: https://github.com/llvm/llvm-project/compare/73eecc9ca4db...249bd9eab0aa
More information about the All-commits
mailing list