llvm-project/llvm/lib/Transforms
Sanjay Patel f34311c402 [GlobalOpt] recompute alignments for loads and stores of updated globals
GlobalOpt can slice structs/arrays and change GEPs in the process,
but it was not updating alignments for load/store users. This
eventually causes the crashing seen in:
https://llvm.org/PR49661
https://llvm.org/PR50253

On x86, this required SLP+codegen to create an aligned vector
store on an invalid address. The bugs would be easier to
demonstrate on a target with stricter alignment requirements.

I'm not sure if this is a complete solution. The alignment
updating code is adapted from InstCombine, so I assume that
part is tested and good.

Differential Revision: https://reviews.llvm.org/D102552
2021-05-20 12:12:21 -04:00
..
AggressiveInstCombine [NewPM] Don't mark AA analyses as preserved 2021-05-18 13:49:03 -07:00
CFGuard llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
Coroutines [Coroutines] Salvege Debug.values 2021-05-13 13:06:33 +08:00
Hello
IPO [GlobalOpt] recompute alignments for loads and stores of updated globals 2021-05-20 12:12:21 -04:00
InstCombine [NewPM] Don't mark AA analyses as preserved 2021-05-18 13:49:03 -07:00
Instrumentation Revert "[HWASAN] Update the tag info for X86_64." 2021-05-20 13:12:59 +08:00
ObjCARC [NFC][AA] Prepare to convert AliasResult to class with PartialAlias offset. 2021-04-09 12:54:22 +03:00
Scalar [Remarks] Add analysis remarks for memset/memcpy/memmove lengths 2021-05-19 15:09:18 -07:00
Utils Revert "[Debugify][Original DI] Test dbg var loc preservation" 2021-05-20 07:11:35 -07:00
Vectorize [SLP]Try to vectorize tiny trees with shuffled gathers of extractelements. 2021-05-20 08:36:16 -07:00
CMakeLists.txt [NewPM][HelloWorld] Move HelloWorld to Utils 2021-02-03 12:59:40 -08:00