1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 12:43:36 +01:00
llvm-mirror/lib/Transforms
Sanjay Patel ab450c2c65 [InstCombine] canonicalize add/sub with bool
add A, sext(B) --> sub A, zext(B)

We have to choose 1 of these forms, so I'm opting for the
zext because that's easier for value tracking.

The backend should be prepared for this change after:
D57401
rL353433

This is also a preliminary step towards reducing the amount
of bit hackery that we do in IR to optimize icmp/select.
That should be waiting to happen at a later optimization stage.

The seeming regression in the fuzzer test was discussed in:
D58359

We were only managing that fold in instcombine by luck, and
other passes should be able to deal with that better anyway.

llvm-svn: 354748
2019-02-24 16:57:45 +00:00
..
AggressiveInstCombine Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Coroutines [opaque pointer types] Pass value type to LoadInst creation. 2019-02-01 20:44:24 +00:00
Hello Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
InstCombine [InstCombine] canonicalize add/sub with bool 2019-02-24 16:57:45 +00:00
Instrumentation [Instrumentation][NFC] Fix warning. 2019-02-14 12:10:49 +00:00
IPO [Inliner] Pass nullptr for the ORE param of getInlineCost if RemarkEnabled 2019-02-21 02:57:52 +00:00
ObjCARC [opaque pointer types] Pass function type for CallBase::setCalledFunction. 2019-02-01 20:44:54 +00:00
Scalar [DTU] Refine the interface and logic of applyUpdates 2019-02-22 13:48:38 +00:00
Utils BreakCriticalEdges: Update PostDominatorTree 2019-02-22 15:01:41 +00:00
Vectorize [MemorySSA & LoopPassManager] Add remaining book keeping [NFCI]. 2019-02-12 23:48:02 +00:00
CMakeLists.txt
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00