1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/test/Transforms
Peter Zotov 7378ca57f0 Mark some FP intrinsics as safe to speculatively execute
Floating point intrinsics in LLVM are generally not speculatively
executed, since most of them are defined to behave the same as libm
functions, which set errno.

However, the only error that can happen  when executing ceil, floor,
nearbyint, rint and round libm functions per POSIX.1-2001 is -ERANGE,
and that requires the maximum value of the exponent to be smaller
than  the number of mantissa bits, which is not the case with any of
the floating point types supported by LLVM.

The trunc and copysign functions never set errno per per POSIX.1-2001.

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

llvm-svn: 265262
2016-04-03 12:30:46 +00:00
..
ADCE testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
AddDiscriminators testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
AlignmentFromAssumptions
ArgumentPromotion testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
AtomicExpand ARM: sink atomic release barrier as far as possible into cmpxchg. 2016-02-22 20:55:50 +00:00
BBVectorize
BDCE
BranchFolding
CodeExtractor
CodeGenPrepare testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
ConstantHoisting
ConstantMerge
ConstProp
CorrelatedValuePropagation [CVP] Convert an SDiv to a UDiv if both operands are known to be nonnegative 2016-03-14 03:24:28 +00:00
CrossDSOCFI
DeadArgElim testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
DeadStoreElimination testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
EarlyCSE
EliminateAvailableExternally
Float2Int
ForcedFunctionAttrs
FunctionAttrs [attrs] Handle convergent CallSites. 2016-03-14 20:18:54 +00:00
FunctionImport testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
GCOVProfiling testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
GlobalDCE
GlobalOpt testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
GVN Allow value forwarding past release fences in GVN 2016-03-25 22:40:35 +00:00
IndVarSimplify [IndVarSimplify] Don't insert after a catchswitch 2016-03-30 21:12:06 +00:00
InferFunctionAttrs [NVPTX] Infer __nvvm_reflect as nounwind, readnone 2016-03-31 21:29:57 +00:00
Inline Don't insert stackrestore on deoptimizing returns 2016-04-01 02:51:30 +00:00
InstCombine [InstCombine] Don't sink an instr after a catchswitch 2016-04-01 17:28:17 +00:00
InstMerge fixed typo - CHECK-LABEL 2016-03-29 06:49:38 +00:00
InstSimplify [InstSimplify] regenerate checks using a script 2016-03-25 20:12:25 +00:00
Internalize
IPConstantProp
IRCE [SCEV] Try to reuse existing value during SCEV expansion 2016-02-04 01:27:38 +00:00
JumpThreading [JumpThreading] See through Cast Instructions 2016-03-16 04:52:52 +00:00
LCSSA
LICM Mark some FP intrinsics as safe to speculatively execute 2016-04-03 12:30:46 +00:00
LoadCombine
LoopDataPrefetch [LoopDataPrefetch] Centralize the tuning cl::opts under the pass 2016-03-29 23:45:52 +00:00
LoopDeletion
LoopDistribute
LoopIdiom testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
LoopInterchange
LoopLoadElim [LLE] Check for mismatching types between the store and the load earlier 2016-03-24 17:59:26 +00:00
LoopReroll testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
LoopRotate testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
LoopSimplify
LoopSimplifyCFG Add LoopSimplifyCFG pass 2016-01-29 22:35:36 +00:00
LoopStrengthReduce [LoopStrengthReduce] Don't hoist into a catchswitch 2016-03-24 21:40:22 +00:00
LoopUnroll Enable non-power-of-2 #pragma unroll counts. 2016-03-25 14:24:52 +00:00
LoopUnswitch [SimlifyCFG] Prevent passes from destroying canonical loop structure, especially for nested loops 2016-03-29 04:08:57 +00:00
LoopVectorize testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
LoopVersioning [LVers] Change CHECK_LABEL to CHECK-LABEL (underscore->dash) 2016-03-28 21:04:13 +00:00
LoopVersioningLICM Corrected tests for Loop Versioning LICM, by adding “REQUIRES: asserts”. 2016-02-06 12:34:41 +00:00
LowerAtomic
LowerBitSets
LowerExpectIntrinsic
LowerGuardIntrinsic Introduce a @llvm.experimental.guard intrinsic 2016-03-31 00:18:46 +00:00
LowerInvoke
LowerSwitch
Mem2Reg testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
MemCpyOpt Imporove load to store => memcpy 2016-03-14 22:52:27 +00:00
MergeFunc
MetaRenamer
NaryReassociate
ObjCARC testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
PartiallyInlineLibCalls
PGOProfile [PGOProfile] Rename a test to make it more reusable, NFC 2016-04-01 15:45:33 +00:00
PhaseOrdering
PlaceSafepoints [PlaceSafepoints] Clamp NoStatepoints to true 2016-01-28 21:51:14 +00:00
PruneEH
Reassociate
Reg2Mem
RewriteStatepointsForGC [RS4GC] Lower calls to @llvm.experimental.deoptimize 2016-03-25 20:12:13 +00:00
SafeStack testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
SampleProfile testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
Scalarizer testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
ScalarRepl testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
SCCP
SeparateConstOffsetFromGEP [ValueTracking] Remove dead code from an old experiment 2016-03-03 19:44:06 +00:00
SimplifyCFG testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
Sink
SLPVectorizer [SLPVectorizer] Don't insert an extractelement before a catchswitch 2016-04-01 17:28:15 +00:00
SpeculativeExecution
SROA Have DataLayout::isLegalInteger() accept uint64_t 2016-03-18 23:19:29 +00:00
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
StructurizeCFG AMDGPU: Remove some old intrinsic uses from tests 2016-02-11 06:02:01 +00:00
TailCallElim
Util testcase gardening: update the emissionKind enum to the new syntax. (NFC) 2016-04-01 00:16:49 +00:00
WholeProgramDevirt WholeProgramDevirt: introduce. 2016-02-09 22:50:34 +00:00