[all-commits] [llvm/llvm-project] 3e0c51: [OpenMP] Simplify all stores in the device code
Johannes Doerfert via All-commits
all-commits at lists.llvm.org
Tue Dec 28 22:21:59 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3e0c512ce6cec6d7b83b87c49697adf5a67e4196
https://github.com/llvm/llvm-project/commit/3e0c512ce6cec6d7b83b87c49697adf5a67e4196
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2021-12-29 (Wed, 29 Dec 2021)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/test/Transforms/OpenMP/custom_state_machines.ll
M llvm/test/Transforms/OpenMP/spmdization.ll
M llvm/test/Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
Log Message:
-----------
[OpenMP] Simplify all stores in the device code
Similar to loads, we want to be aggressive when it comes to store
simplification. Not everything in LLVM handles dead stores well when
address space casts are involved, we can simply ask the Attributor to do
it for us though.
Reviewed By: tianshilei1992
Differential Revision: https://reviews.llvm.org/D109998
Commit: 5602c866c062622905899ee151f0dc868c846e7a
https://github.com/llvm/llvm-project/commit/5602c866c062622905899ee151f0dc868c846e7a
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2021-12-29 (Wed, 29 Dec 2021)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/heap_to_stack.ll
M llvm/test/Transforms/Attributor/heap_to_stack_gpu.ll
M llvm/test/Transforms/Attributor/memory_locations.ll
M llvm/test/Transforms/Attributor/value-simplify-pointer-info.ll
Log Message:
-----------
[Attributor] Look through allocated heap memory
AAPointerInfo, and thereby other places, can look already through
internal global and stack memory. This patch enables them to look
through heap memory returned by functions with a `noalias` return.
In the future we can look through `noalias` arguments as well but that
will require AAIsDead to learn that such memory can be inspected by the
caller later on. We also need teach AAPointerInfo about dominance to
actually deal with memory that might not be `null` or `undef`
initialized. D106397 is a first step in that direction already.
Reviewed By: kuter
Differential Revision: https://reviews.llvm.org/D109170
Compare: https://github.com/llvm/llvm-project/compare/16da21400458...5602c866c062
More information about the All-commits
mailing list