1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/lib/Transforms
Sameer Sahasrabuddhe 11bc679be9 [LoopSimplify] don't separate nested loops with convergent calls
Summary:
When a loop has multiple backedges, loop simplification attempts to
separate them out into nested loops. This results in incorrect control
flow in the presence of some functions like a GPU barrier. This change
skips the transformation when such "convergent" function calls are
present in the loop body.

Reviewed By: nhaehnle

Differential Revision: https://reviews.llvm.org/D80078
2020-05-19 09:22:39 +05:30
..
AggressiveInstCombine
CFGuard
Coroutines Fix several places that were calling verifyFunction or verifyModule without checking the return value. 2020-05-18 13:28:46 -07:00
Hello
InstCombine [InstCombine][NFC] Simplify check in sinking 2020-05-18 18:10:40 +07:00
Instrumentation [Sanitizers] Use getParamByValType() (NFC) 2020-05-18 22:06:18 +02:00
IPO [llvm][NFC] Fixed non-compliant style in InlineAdvisor.h 2020-05-18 10:26:45 -07:00
ObjCARC [Pass] Ensure we don't include PassSupport.h or PassAnalysisSupport.h directly 2020-04-26 12:58:20 +01:00
Scalar [Loads] Require Align in isSafeToLoadUnconditionally() (NFC) 2020-05-18 20:50:35 +02:00
Utils [LoopSimplify] don't separate nested loops with convergent calls 2020-05-19 09:22:39 +05:30
Vectorize [NFC] Replace MaybeAlign with Align in TargetTransformInfo. 2020-05-18 19:25:49 -07:00
CMakeLists.txt
LLVMBuild.txt