[all-commits] [llvm/llvm-project] ab90d2: [llvm][ARM]Add widen global arrays pass (#107120)
Nashe Mncube via All-commits
all-commits at lists.llvm.org
Thu Oct 17 03:56:22 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ab90d2793cf56758a91f7a7ae027850af2455d3e
https://github.com/llvm/llvm-project/commit/ab90d2793cf56758a91f7a7ae027850af2455d3e
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2024-10-17 (Thu, 17 Oct 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-dest-non-array.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-global-dest.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-non-byte-array.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-non-const-global.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-string-multi-use.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-1.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-2.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-lengths-dont-match.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-more-than-64-bytes.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-ptrtoint.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-struct-test.ll
A llvm/test/Transforms/GlobalOpt/ARM/arm-widen-strings-volatile.ll
Log Message:
-----------
[llvm][ARM]Add widen global arrays pass (#107120)
- Pass optimizes memcpy's by padding out destinations and sources to a
full word to make backend generate full word loads instead of loading a
single byte (ldrb) and/or half word (ldrh). Only pads destination when
it's a stack allocated constant size array and source when it's constant
array. Heuristic to decide whether to pad or not is very basic and could
be improved to allow more examples to be padded.
- Pass works within GlobalOpt but is disabled by default on all targets
except ARM.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list