llvm-6502/lib/Transforms/InstCombine
Sanjay Patel 296cb7b128 Fix for PR20059 (instcombine reorders shufflevector after instruction that may trap)
In PR20059 ( http://llvm.org/pr20059 ), instcombine eliminates shuffles that are necessary before performing an operation that can trap (srem).

This patch calls isSafeToSpeculativelyExecute() and bails out of the optimization in SimplifyVectorOp() if needed.

Differential Revision: http://reviews.llvm.org/D4424



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212629 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-09 16:34:54 +00:00
..
CMakeLists.txt
InstCombine.h [InstCombine] mark ADD with nuw if no unsigned overflow 2014-06-17 00:42:07 +00:00
InstCombineAddSub.cpp Make helper functions static. 2014-07-07 14:47:51 +00:00
InstCombineAndOrXor.cpp Move optimization of some cases of (A & C1)|(B & C2) from instcombine to instsimplify. Patch by Rahul Jain, plus some last minute changes by me -- you can blame me for any bugs. 2014-06-19 03:51:46 +00:00
InstCombineCalls.cpp InstCombine: Strength reduce sadd.with.overflow into a regular nsw add if we can prove that it cannot overflow. 2014-07-04 10:22:21 +00:00
InstCombineCasts.cpp Canonicalize addrspacecast ConstExpr between different pointer types 2014-06-15 21:40:57 +00:00
InstCombineCompares.cpp InstCombine: Simplify code, no functionality change. 2014-07-07 11:01:16 +00:00
InstCombineLoadStoreAlloca.cpp Optimize InstCombine stack memory consumption 2014-07-01 21:36:20 +00:00
InstCombineMulDivRem.cpp InstCombine: Optimize x/INT_MIN to x==INT_MIN 2014-07-02 06:42:13 +00:00
InstCombinePHI.cpp
InstCombineSelect.cpp This removes TODO added in http://reviews.llvm.org/D3658 2014-06-12 14:06:00 +00:00
InstCombineShifts.cpp Remove redundant code in InstCombineShift, no functionality change because instsimplify already does this and instcombine calls instsimplify a few lines above. Patch by Suyog Sarda! 2014-06-19 03:28:28 +00:00
InstCombineSimplifyDemanded.cpp Rename ComputeMaskedBits to computeKnownBits. "Masked" has been 2014-05-14 21:14:37 +00:00
InstCombineVectorOps.cpp fixed some typos 2014-07-07 22:13:58 +00:00
InstCombineWorklist.h
InstructionCombining.cpp Fix for PR20059 (instcombine reorders shufflevector after instruction that may trap) 2014-07-09 16:34:54 +00:00
LLVMBuild.txt
Makefile