1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/test/Transforms
Simon Pilgrim 2f8dfb757d [InstCombine] Fold (mul(abs(x),abs(x))) -> (mul(x,x)) (PR39476)
This patch adds support for discarding integer absolutes (abs + nabs variants) from self-multiplications.

ABS Alive2: http://volta.cs.utah.edu:8080/z/rwcc8W
NABS Alive2: http://volta.cs.utah.edu:8080/z/jZXUwQ

This is an InstCombine version of D79304 - I'm not sure yet if we'll need that after this.

Reviewed By: @lebedev.ri and @xbolva00

Differential Revision: https://reviews.llvm.org/D79319
2020-05-04 15:21:52 +01:00
..
ADCE [ADCE] Fix incorrect reporting of CFG changes 2020-04-14 20:26:13 +07:00
AddDiscriminators
AggressiveInstCombine [AggressiveInstCombine] Add test with baseline CHECKs for aggressive inst combine for ICmp instruction. 2020-02-12 15:09:38 +02:00
AlignmentFromAssumptions [AlignmentFromAssumptions] Fix a SCEV assertion resulting from address space differences. 2020-03-29 01:26:31 -05:00
ArgumentPromotion [X86][ArgumentPromotion] Allow Argument Promotion if caller and callee disagree on 512-bit vectors support if the arguments are scalar. 2020-04-24 15:47:02 -07:00
AtomicExpand Handle part-word LL/SC in atomic expansion pass 2020-04-28 10:07:39 -05:00
Attributor [Attributor] Remember only necessary dependences 2020-05-03 22:01:51 -05:00
BDCE
BlockExtractor Revert "Revert "Reland "[Support] make report_fatal_error abort instead of exit""" 2020-02-13 10:16:06 -08:00
BranchFolding
CalledValuePropagation
CallSiteSplitting [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
CanonicalizeAliases
CodeExtractor [CodeExtractor] Fix extraction of a value used only by intrinsics outside of region 2020-04-25 11:44:47 +03:00
CodeGenPrepare [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
ConstantHoisting
ConstantMerge
ConstProp [ConstProp] Add test for bitcast to gep fold; NFC 2020-03-04 18:27:20 +01:00
Coroutines [Coroutines] Remove alignment check in shouldBeMustTail 2020-04-07 09:07:34 +08:00
CorrelatedValuePropagation [ValueLattice] Merging unknown with empty CR is unknown. 2020-04-25 13:43:34 +01:00
CrossDSOCFI
DCE [AssumeBundles] preserve knowledge in DCE 2020-04-14 12:48:15 +02:00
DeadArgElim
DeadStoreElimination [DSE,MSSA] Add multi-path tests with readnone throwing calls. 2020-04-29 10:30:05 +01:00
DivRemPairs [DivRemPairs] Freeze operands if they can be undef values 2020-03-25 03:46:14 +09:00
EarlyCSE [AssumeBundles] Preserve information in EarlyCSE 2020-03-31 17:47:04 +02:00
EliminateAvailableExternally
EntryExitInstrumenter [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
ExpandMemCmp [ExpandMemCmp] Allow overlaping loads in the zero-relational case. 2020-04-02 11:20:47 +02:00
FixIrreducible FixIrreducible: don't crash when moving a child loop 2020-04-22 07:47:30 +05:30
Float2Int
ForcedFunctionAttrs
FunctionAttrs
FunctionImport Revert "Revert "Reland "[Support] make report_fatal_error abort instead of exit""" 2020-02-13 10:16:06 -08:00
GCOVProfiling Revert "Revert "Reland "[Support] make report_fatal_error abort instead of exit""" 2020-02-13 10:16:06 -08:00
GlobalDCE
GlobalMerge
GlobalOpt [GlobalOpt] Explicitly set alignment of bool load/store operations. 2020-04-12 16:03:12 -07:00
GlobalSplit
GuardWidening [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
GVN Revert "[InstSimplify] Remove known bits constant folding" 2020-05-03 20:45:10 +02:00
GVNHoist
GVNSink Fix another instance where a variable was renamed in the generated LLVM IR. [NFC] 2020-03-23 22:53:29 -07:00
HardwareLoops [ARM] Replace arm vendor with none. NFC 2020-04-22 18:19:35 +01:00
HotColdSplit [HotColdSplit] Mark entire function cold when entry block is cold 2020-02-17 15:57:50 -08:00
IndirectBrExpand
IndVarSimplify Revert "[SCEV] rewriteLoopExitValues(): even if have hard uses, still rewrite if cheap (PR44668)" 2020-04-03 20:15:04 +03:00
InferAddressSpaces
InferFunctionAttrs [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
Inline [InlineCost] Addressing a very strict assert check in CostAnnotationWriter::emitInstructionAnnot 2020-04-30 15:38:36 +00:00
InstCombine [InstCombine] Fold (mul(abs(x),abs(x))) -> (mul(x,x)) (PR39476) 2020-05-04 15:21:52 +01:00
InstMerge
InstNamer
InstSimplify Revert "[InstSimplify] Remove known bits constant folding" 2020-05-03 20:45:10 +02:00
InterleavedAccess
Internalize
IPConstantProp [Attributor][NFC] Remove obsolete option from tests 2020-04-21 15:22:10 -05:00
IRCE
JumpThreading Fix MSan false positive due to select folding. 2020-03-31 15:25:42 -07:00
LCSSA
LICM [LICM] Try to merge debug locations when sinking. 2020-04-15 12:29:34 -07:00
LoadStoreVectorizer AMDGPU: Fix broken check lines 2020-04-01 10:52:22 -07:00
LoopDataPrefetch
LoopDeletion
LoopDistribute
LoopFusion
LoopIdiom Require "target datalayout" to be at the beginning of an IR file. 2020-04-20 11:55:49 -07:00
LoopInstSimplify
LoopInterchange [llvm] Fix yet more missing FileCheck colons 2020-04-13 10:49:19 -06:00
LoopLoadElim [LoopLoadElim] Fix crash by always checking simplify form 2020-04-10 09:23:28 +07:00
LoopPredication
LoopReroll
LoopRotate [LoopRotate] Cleanup test checks to fix issue reported on D77354 2020-04-03 17:21:37 +01:00
LoopSimplify
LoopSimplifyCFG
LoopStrengthReduce [LoopStrengthReduce] Fix test checks to fix issue reported on D77227 2020-04-03 18:10:33 +01:00
LoopTransformWarning
LoopUnroll [llvm] Fix missing FileCheck directive colons 2020-04-06 09:59:08 -06:00
LoopUnrollAndJam
LoopUnswitch
LoopVectorize [VFDatabase] Testsuite for scalar functions are vector functions with VF =1 2020-04-30 15:47:21 -04:00
LoopVersioning
LoopVersioningLICM
LowerAtomic
LowerConstantIntrinsics
LowerExpectIntrinsic
LowerGuardIntrinsic
LowerInvoke
LowerMatrixIntrinsics [Matrix] Add option to use row-major matrix layout as default. 2020-04-06 10:00:56 +01:00
LowerSwitch
LowerTypeTests
LowerWidenableCondition
MakeGuardsExplicit
Mem2Reg
MemCpyOpt [ValueTracking] Fix usage of DataLayout::getTypeStoreSize() 2020-03-20 16:52:15 -07:00
MergeFunc [MergeFuncs] Don't merge shufflevectors with different masks 2020-05-02 10:21:14 +02:00
MergeICmps
MetaRenamer
NameAnonGlobals
NaryReassociate
NewGVN Require "target datalayout" to be at the beginning of an IR file. 2020-04-20 11:55:49 -07:00
ObjCARC [ObjC][ARC] Don't remove autoreleaseRV/retainRV pairs if the call isn't 2020-03-13 13:52:14 -07:00
OpenMP [OpenMP][FIX] Do not use InaccessibleMemOrArgMemOnly for barrier and flush 2020-04-22 11:10:54 -05:00
PartiallyInlineLibCalls
PGOProfile [ICP] Handling must tail calls in indirect call promotion 2020-05-03 10:42:22 -07:00
PhaseOrdering [InlineFunction] Disable emission of alignment assumptions by default 2020-04-30 23:12:54 +02:00
PlaceSafepoints
PreISelIntrinsicLowering
PruneEH
Reassociate [Reassociate] add testcases for more than 1 pairs - NFC 2020-03-19 05:21:24 -04:00
Reg2Mem
RewriteStatepointsForGC [RS4GC] Handle uses of extractelement for conversion from vector to scalar base 2020-03-06 16:28:49 -05:00
SafeStack Require "target datalayout" to be at the beginning of an IR file. 2020-04-20 11:55:49 -07:00
SampleProfile [SampleFDO] Port MD5 name table support to extbinary format. 2020-03-30 22:07:08 -07:00
ScalarizeMaskedMemIntrin/X86
Scalarizer [Scalarizer] Fix a non-deterministic scatter order problem 2020-04-20 16:05:33 +02:00
SCCP [BPI][NFC] Reuse post dominantor tree from analysis manager when available 2020-04-30 11:31:03 +07:00
SeparateConstOffsetFromGEP Fix PR45371: SeparateConstOffsetFromGEP clean up bookkeeping 2020-04-01 12:38:15 -06:00
SimpleLoopUnswitch Revert "[SimpleLoopUnswitch] Fix introduction of UB when hoisted condition may be undef or poison" 2020-02-28 11:10:46 +09:00
SimplifyCFG Fix lifetime call in landingpad blocking Simplifycfg pass 2020-04-09 13:07:32 -07:00
Sink
SLPVectorizer [TTI] Add DemandedElts to getScalarizationOverhead 2020-04-29 12:00:38 +01:00
SpeculateAroundPHIs
SpeculativeExecution
SROA Make IRBuilder automatically set alignment on load/store/alloca. 2020-04-13 13:43:14 -07:00
StraightLineStrengthReduce
StripDeadPrototypes
StripSymbols
StructurizeCFG Introduce fix-irreducible pass 2020-04-15 15:05:51 +05:30
SyntheticCountsPropagation
TailCallElim
ThinLTOBitcodeWriter ThinLTOBitcodeWriter: drop dso_local when a GlobalVariable is converted to a declaration 2020-03-05 18:09:33 -08:00
TypePromotion/ARM
UnifyLoopExits Introduce unify-loop-exits pass. 2020-03-30 13:23:56 -04:00
UniqueInternalLinkageNames New pass to make internal linkage symbol names unique. 2020-04-20 15:05:22 -07:00
Util [AssumeBundles] Refactor asssume builder 2020-04-25 13:43:52 +02:00
VectorCombine/X86 [VectorCombine] transform bitcasted shuffle to wider elements 2020-04-19 08:24:38 -04:00
WholeProgramDevirt [WPD] Avoid noalias assumptions in unique return value optimization 2020-04-16 14:49:51 -07:00