aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2023-11-20 15:37:56 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2023-11-20 15:38:48 +0000
commit59d14b623357d9b0514a9575e6d92474694b2f74 (patch)
treef87b112d1ac6969ae71da42ee2ddf224b16cb74d /clang/lib/CodeGen/CodeGenModule.cpp
parenta2cf44b72cbf9361f37dd6f680502bb18070cba3 (diff)
downloadllvm-59d14b623357d9b0514a9575e6d92474694b2f74.zip
llvm-59d14b623357d9b0514a9575e6d92474694b2f74.tar.gz
llvm-59d14b623357d9b0514a9575e6d92474694b2f74.tar.bz2
[X86] combineLoad - try to reuse existing constant pool entries for smaller vector constant data (REAPPLIED)
If we already have a YMM/ZMM constant that a smaller XMM/YMM has matching lower bits, then ensure we reuse the same constant pool entry. Extends the similar combines we already have to reuse VBROADCAST_LOAD/SUBV_BROADCAST_LOAD constant loads. This is a mainly a canonicalization, but should make it easier for us to merge constant loads in a future commit (related to both #70947 and better X86FixupVectorConstantsPass usage for #71078). Reapplied with fix to ensure we don't 'flip-flop' between multiple matching constants - only perform the fold if the new constant pool entry is larger than the current entry.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions