1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/lib/Transforms/InstCombine
Vedant Kumar 98a26932cb [InstCombine] Preserve debug values for eliminable casts
A cast from A to B is eliminable if its result is casted to C, and if
the pair of casts could just be expressed as a single cast. E.g here,
%c1 is eliminable:

  %c1 = zext i16 %A to i32
  %c2 = sext i32 %c1 to i64

InstCombine optimizes away eliminable casts. This patch teaches it to
insert a dbg.value intrinsic pointing to the final result, so that local
variables pointing to the eliminable result are preserved.

Differential Revision: https://reviews.llvm.org/D42566

llvm-svn: 323570
2018-01-26 22:02:52 +00:00
..
CMakeLists.txt
InstCombineAddSub.cpp [InstCombine] canonicalize constant-minus-boolean to select-of-constants 2017-12-06 21:22:57 +00:00
InstCombineAndOrXor.cpp [InstCombine] narrow masked zexted binops (PR35792) 2018-01-25 16:34:36 +00:00
InstCombineCalls.cpp Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1) 2018-01-19 17:13:12 +00:00
InstCombineCasts.cpp [InstCombine] Preserve debug values for eliminable casts 2018-01-26 22:02:52 +00:00
InstCombineCompares.cpp [InstCombine] weaken assertions for icmp folds (PR35846) 2018-01-09 18:56:03 +00:00
InstCombineInternal.h [InstCombine] narrow masked zexted binops (PR35792) 2018-01-25 16:34:36 +00:00
InstCombineLoadStoreAlloca.cpp Remove redundant includes from lib/Transforms. 2017-12-13 21:31:01 +00:00
InstCombineMulDivRem.cpp [InstCombine] (X << Y) / X -> 1 << Y 2018-01-21 16:14:51 +00:00
InstCombinePHI.cpp Remove redundant includes from lib/Transforms. 2017-12-13 21:31:01 +00:00
InstCombineSelect.cpp [InstCombine] Make foldSelectOpOp able to handle two-operand getelementptr 2018-01-19 10:05:15 +00:00
InstCombineShifts.cpp [InstCombine] Check for out of range ashr values using APInt before calling getZExtValue 2018-01-09 14:23:46 +00:00
InstCombineSimplifyDemanded.cpp [InstCombine] fix demanded-bits propagation for zext/trunc 2018-01-17 14:39:28 +00:00
InstCombineVectorOps.cpp [InstCombine] Gracefully handle out of range extractelement indices 2017-12-27 12:00:18 +00:00
InstructionCombining.cpp [PM][InstCombine] fixing omission of AliasAnalysis in new-pass-manager's version of InstCombine 2017-12-14 10:36:31 +00:00
LLVMBuild.txt