1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/test/Transforms
Matt Arsenault 416be52fbf Convert fcmp with 0.0 from casted integers to icmp
This is already handled in general when it is known the
conversion can't lose bits with smaller integer types
casted into wider floating point types.

This pattern happens somewhat often in GPU programs that cast
workitem intrinsics to float, which are often compared with 0.

Specifically handle the special case of compares with zero which
should also be known to not lose information. I had a more general
version of this which allows equality compares if the casted float is
exactly representable in the integer, but I'm not 100% confident that
is always correct.

Also fold cases that aren't integers to true / false.

llvm-svn: 225265
2015-01-06 15:50:59 +00:00
..
ADCE
AddDiscriminators IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
AlignmentFromAssumptions [AlignmentFromAssumptions] Don't crash just because the target is 32-bit 2014-09-11 08:40:17 +00:00
ArgumentPromotion IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
AtomicExpand/ARM Use target-dependent emitLeading/TrailingFence instead of the target-independent insertLeading/TrailingFence (in AtomicExpandPass) 2014-09-03 21:01:03 +00:00
BBVectorize IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
BranchFolding Delete -std-compile-opts. 2014-10-16 20:00:02 +00:00
CodeExtractor
CodeGenPrepare [CodeGenPrepare][AArch64] Fix a TLI legality check on iPTR to use a lowered instead. 2014-11-12 22:16:55 +00:00
ConstantHoisting [ConstantHoisting][X86] Improve the cost model for small constants with large types (i64 and above). 2014-06-10 00:32:29 +00:00
ConstantMerge
ConstProp Fix a bug around truncating vector in const prop. 2014-08-21 02:12:35 +00:00
CorrelatedValuePropagation LazyValueInfo: Actually re-visit partially solved block-values in solveBlockValue() 2014-11-25 17:23:05 +00:00
DeadArgElim IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
DeadStoreElimination IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
EarlyCSE Tweak EarlyCSE to recognize series of dead stores 2014-11-18 17:46:32 +00:00
FunctionAttrs Normally an 'optnone' function goes through fast-isel, which does not 2014-11-03 18:19:26 +00:00
GCOVProfiling IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
GlobalDCE GlobalDCE: Don't drop any COMDAT members 2014-10-07 07:07:19 +00:00
GlobalOpt IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
GVN IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
IndVarSimplify Teach ScalarEvolution to exploit min and max expressions when proving 2014-12-15 22:50:15 +00:00
Inline IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
InstCombine Convert fcmp with 0.0 from casted integers to icmp 2015-01-06 15:50:59 +00:00
InstMerge Added 5 more tests related to sink store revision 224247 2014-12-17 08:12:59 +00:00
InstSimplify InstSimplify: Optimize away pointless comparisons 2014-12-20 03:04:38 +00:00
Internalize Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
IPConstantProp No need for those tests to go thru llvm-as and/or llvm-dis. 2014-05-27 22:03:28 +00:00
JumpThreading ValueTracking: ComputeNumSignBits should tolerate misshapen phi nodes 2015-01-04 07:06:53 +00:00
LCSSA [LCSSA] Handle PHI insertion in disjoint loops 2014-12-22 22:35:46 +00:00
LICM Refine the notion of MayThrow in LICM to include a header specific version 2014-12-29 23:00:57 +00:00
LoadCombine Use AA in LoadCombine 2014-11-03 23:19:16 +00:00
LoopDeletion
LoopIdiom IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
LoopReroll
LoopRotate IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
LoopSimplify FileCheckize. NFC. 2014-09-12 17:55:16 +00:00
LoopStrengthReduce IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
LoopUnroll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
LoopUnswitch
LoopVectorize Fix broken test from r225159. 2015-01-05 12:34:01 +00:00
LowerAtomic IR: add "cmpxchg weak" variant to support permitted failure. 2014-06-13 14:24:07 +00:00
LowerExpectIntrinsic IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
LowerInvoke
LowerSwitch Added test for commit r212802 that was missing 2014-07-11 10:36:00 +00:00
Mem2Reg IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
MemCpyOpt Allow call-slop optzn for destinations with a suitable dereferenceable attribute 2014-10-16 19:43:08 +00:00
MergeFunc IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
MetaRenamer Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
ObjCARC IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
PartiallyInlineLibCalls PartiallyInlineLibCalls: Check sqrt result type before transforming it. 2014-08-01 23:21:21 +00:00
PhaseOrdering
PruneEH
Reassociate Revert "[Reassociate] As the expression tree is rewritten make sure the operands are" 2014-11-19 23:21:20 +00:00
Reg2Mem
SampleProfile IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
Scalarizer IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
ScalarRepl IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
SCCP SCCP: overdefined calls cannot become constant 2014-11-07 08:54:19 +00:00
SeparateConstOffsetFromGEP/NVPTX [SeparateConstOffsetFromGEP] Fixed a bug related to unsigned modulo 2014-10-25 18:34:03 +00:00
SimplifyCFG [SimplifyCFG] Revise common code sinking 2014-12-23 08:26:55 +00:00
Sink
SLPVectorizer Revert 224119 "This patch recognizes (+ (+ v0, v1) (+ v2, v3)), reorders them for bundling into vector of loads, 2014-12-17 10:34:27 +00:00
SROA [SROA] Apply a somewhat heavy and unpleasant hammer to fix PR22093, an 2015-01-05 04:17:53 +00:00
StripSymbols IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
StructurizeCFG StructurizeCFG: Use LoopInfo analysis for better loop detection 2014-12-03 04:28:32 +00:00
TailCallElim Fix tail recursion elimination 2014-11-19 13:32:51 +00:00
TailDup Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
Util [SwitchLowering] Handle destinations on multiple phi instructions 2014-12-02 18:31:53 +00:00