1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/lib/Transforms
Max Kazantsev 773d488805 [IndVars][NFC] Refactor to make modifications of Changed transparent
IndVarSimplify's design is somewhat odd in the way how it reports that
some transform has made a change. It has a `Changed` field which can
be set from within any function, which makes it hard to track whether or
not it was set properly after a transform was made. It leads to oversights
in setting this flag where needed, see example in PR38855.

This patch removes the `Changed` field, turns it into a local and unifies
the signatures of all relevant transform functions to return boolean value
which designates whether or not this transform has made a change.

Differential Revision: https://reviews.llvm.org/D51850
Reviewed By: skatkov

llvm-svn: 341893
2018-09-11 03:57:22 +00:00
..
AggressiveInstCombine [Aggressive InstCombine] Move C bindings to their own header file. 2018-09-05 11:41:12 +00:00
Coroutines [IR] Replace isa<TerminatorInst> with isTerminator(). 2018-08-26 09:51:22 +00:00
Hello
InstCombine [InstCombine] Partially revert rL341674 due to PR38897. 2018-09-10 23:47:21 +00:00
Instrumentation [PGO] Fix some style issue of ControlHeightReduction 2018-09-07 20:23:15 +00:00
IPO HotColdSplitting: check that target supports cold calling convention 2018-09-10 15:08:02 +00:00
ObjCARC ProvenanceAnalysis: Store WeakTrackingVH instead of Value* in UnderlyingValue Cache. 2018-06-21 05:14:00 +00:00
Scalar [IndVars][NFC] Refactor to make modifications of Changed transparent 2018-09-11 03:57:22 +00:00
Utils Don't create a temporary vector of loop blocks just to iterate over them. 2018-09-10 12:32:06 +00:00
Vectorize Move a transformation routine from LoopUtils to LoopVectorize. 2018-09-10 06:16:44 +00:00
CMakeLists.txt Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00
LLVMBuild.txt Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00