diff options
author | Nashe Mncube <nashe.mncube@arm.com> | 2024-10-24 10:12:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-24 10:12:01 +0100 |
commit | e37d736def5b95a2710f92881b5fc8b0494d8a05 (patch) | |
tree | 2ebbaa09d66e189fba3d33695755f83c1e3ad1bc /clang/lib/CodeGen/CoverageMappingGen.cpp | |
parent | 61a456bd5ae88eeccc39b28a30be4eb03289446d (diff) | |
download | llvm-e37d736def5b95a2710f92881b5fc8b0494d8a05.zip llvm-e37d736def5b95a2710f92881b5fc8b0494d8a05.tar.gz llvm-e37d736def5b95a2710f92881b5fc8b0494d8a05.tar.bz2 |
Recommit: [llvm][ARM][GlobalOpt]Add widen global arrays pass (#113289)
This is a recommit of #107120 . The original PR was approved but failed
buildbot. The newly added tests should only be run for compilers that
support the ARM target. This has been resolved by adding a config file
for these tests.
- Pass optimizes memcpy's by padding out destinations and sources to a
full word to make ARM 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 string. Heuristic to decide whether to pad or not
is very basic and could be improved to allow more examples to be
padded.
- Pass works at the midend level
Diffstat (limited to 'clang/lib/CodeGen/CoverageMappingGen.cpp')
0 files changed, 0 insertions, 0 deletions