llvm-6502/test/Transforms
Sanjay Patel d2153694e0 Handle sqrt() shrinking in SimplifyLibCalls like any other call
This patch removes a chunk of special case logic for folding 
(float)sqrt((double)x) -> sqrtf(x)
in InstCombineCasts and handles it in the mainstream path of SimplifyLibCalls.

No functional change intended, but I loosened the restriction on the existing
sqrt testcases to allow for this optimization even without unsafe-fp-math because
that's the existing behavior.

I also added a missing test case for not shrinking the llvm.sqrt.f64 intrinsic
in case the result is used as a double.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220514 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-23 21:52:45 +00:00
..
ADCE
AddDiscriminators Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
AlignmentFromAssumptions [AlignmentFromAssumptions] Don't crash just because the target is 32-bit 2014-09-11 08:40:17 +00:00
ArgumentPromotion Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +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
BranchFolding Delete -std-compile-opts. 2014-10-16 20:00:02 +00:00
CodeExtractor
CodeGenPrepare CodeGenPrep: fall back to MVT::Other if instruction's type isn't an EVT. 2014-07-29 10:20:22 +00:00
ConstantHoisting
ConstantMerge
ConstProp Fix a bug around truncating vector in const prop. 2014-08-21 02:12:35 +00:00
CorrelatedValuePropagation
DeadArgElim DebugInfo+DeadArgElimination: Ensure llvm::Function*s from debug info are updated even when DAE removes both varargs and non-varargs arguments on the same function. 2014-10-07 15:10:23 +00:00
DeadStoreElimination [DSE] Remove no-data-layout-only type-based overlap checking 2014-10-17 11:56:00 +00:00
DebugIR Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
EarlyCSE
FunctionAttrs [optnone] Make the optnone attribute effective at suppressing function 2014-08-13 10:49:33 +00:00
GCOVProfiling test: Make this test runnable in directories with @ in their names 2014-10-22 18:18:54 +00:00
GlobalDCE GlobalDCE: Don't drop any COMDAT members 2014-10-07 07:07:19 +00:00
GlobalOpt GlobalOpt: Don't drop unused memberes of a Comdat 2014-10-08 07:23:31 +00:00
GVN Relax the constraint more in MemoryDependencyAnalysis.cpp 2014-08-29 20:32:58 +00:00
IndVarSimplify Revert "r219834 - Teach ScalarEvolution to sharpen range information" 2014-10-15 23:46:04 +00:00
Inline Revert "TRE: make TRE a bit more aggressive" 2014-10-17 21:25:48 +00:00
InstCombine Handle sqrt() shrinking in SimplifyLibCalls like any other call 2014-10-23 21:52:45 +00:00
InstMerge
InstSimplify [InstSimplify] Support constant folding to vector of pointers 2014-10-22 12:18:48 +00:00
Internalize Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
IPConstantProp
JumpThreading Fix a somewhat subtle pair of issues with JumpThreading I introduced in 2014-10-20 05:34:36 +00:00
LCSSA
LICM Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
LoadCombine
LoopDeletion
LoopIdiom Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
LoopReroll
LoopRotate Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
LoopSimplify FileCheckize. NFC. 2014-09-12 17:55:16 +00:00
LoopStrengthReduce Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
LoopUnroll This patch de-pessimizes the calculation of loop trip counts in 2014-10-10 17:39:11 +00:00
LoopUnswitch
LoopVectorize Add minnum / maxnum intrinsics 2014-10-21 23:00:20 +00:00
LowerAtomic
LowerExpectIntrinsic
LowerInvoke
LowerSwitch
Mem2Reg Delete -std-compile-opts. 2014-10-16 20:00:02 +00:00
MemCpyOpt Allow call-slop optzn for destinations with a suitable dereferenceable attribute 2014-10-16 19:43:08 +00:00
MergeFunc Fix crash when looking up the addrspace of GEPs with vector types 2014-09-02 18:47:54 +00:00
MetaRenamer Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
ObjCARC Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
PartiallyInlineLibCalls PartiallyInlineLibCalls: Check sqrt result type before transforming it. 2014-08-01 23:21:21 +00:00
PhaseOrdering
PruneEH
Reassociate [Reassociate] Don't canonicalize X - undef to X + (-undef). 2014-10-09 20:06:29 +00:00
Reg2Mem
SampleProfile Change error to warning when a profile cannot be found. 2014-10-22 13:36:35 +00:00
Scalarizer Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
ScalarRepl Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
SCCP
SeparateConstOffsetFromGEP/NVPTX
SimplifyCFG Add minnum / maxnum intrinsics 2014-10-21 23:00:20 +00:00
Sink
SLPVectorizer [SLPVectorize] Basic ephemeral-value awareness 2014-10-15 17:35:01 +00:00
SROA [SROA] Change how SROA does vector-based promotion of allocas to handle 2014-10-18 00:44:02 +00:00
StripSymbols Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
StructurizeCFG
TailCallElim Fix a long-standing miscompile in the load analysis that was uncovered 2014-10-19 08:17:50 +00:00
TailDup
Util utils: Fix segfault in flattencfg 2014-08-13 20:31:53 +00:00