1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 05:23:45 +02:00
llvm-mirror/lib/Transforms
Sanjay Patel 11e8147804 [InstCombine] allow vector types for constant folding / computeKnownBits (PR24942)
computeKnownBits() already works for integer vectors, so allow vector types when calling that from InstCombine.

I don't think the change to use m_APInt in computeKnownBits is strictly necessary because we do check for 
ConstantVector later, but it's more efficient to handle the splat case without needing to loop on vector elements.

This should work with InstSimplify, but doesn't yet, so I made that a FIXME comment on the test for PR24942:
https://llvm.org/bugs/show_bug.cgi?id=24942

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

llvm-svn: 281777
2016-09-16 21:20:36 +00:00
..
Coroutines [Coroutines] Part13: Handle single edge PHINodes across suspends 2016-09-09 05:39:00 +00:00
Hello Add auto-exporting of symbols from tools so that plugins work on Windows 2016-05-26 11:16:43 +00:00
InstCombine [InstCombine] allow vector types for constant folding / computeKnownBits (PR24942) 2016-09-16 21:20:36 +00:00
Instrumentation Revert "[asan] Avoid lifetime analysis for allocas with can be in ambiguous state" 2016-09-16 01:38:46 +00:00
IPO Rename NameAnonFunctions to NameAnonGlobals to match what it is doing (NFC) 2016-09-16 16:56:30 +00:00
ObjCARC Address Pete's review comment and define OrigArg on its own line. 2016-09-13 23:53:43 +00:00
Scalar LoopDistribute should preserve GlobalsAA. 2016-09-16 18:01:48 +00:00
Utils Rename NameAnonFunctions to NameAnonGlobals to match what it is doing (NFC) 2016-09-16 16:56:30 +00:00
Vectorize [LV] Process pointer IVs with PHINodes in collectLoopUniforms 2016-09-14 14:47:40 +00:00
CMakeLists.txt [coroutines] Part 3 of N: Adding Boilerplate for Coroutine Passes 2016-07-28 21:04:31 +00:00
LLVMBuild.txt [coroutines] Part 3 of N: Adding Boilerplate for Coroutine Passes 2016-07-28 21:04:31 +00:00