mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 20:29:48 +00:00
9cecacd16a
Summary: This transformation reassociates a n-ary add so that the add can partially reuse existing instructions. For example, this pass can simplify void foo(int a, int b) { bar(a + b); bar((a + 2) + b); } to void foo(int a, int b) { int t = a + b; bar(t); bar(t + 2); } saving one add instruction. Fixes PR22357 (https://llvm.org/bugs/show_bug.cgi?id=22357). Test Plan: nary-add.ll Reviewers: broune, dberlin, hfinkel, meheff, sanjoy, atrick Reviewed By: sanjoy, atrick Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8950 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234855 91177308-0d34-0410-b5e6-96231b3b80d8
57 lines
1.2 KiB
CMake
57 lines
1.2 KiB
CMake
add_llvm_library(LLVMScalarOpts
|
|
ADCE.cpp
|
|
AlignmentFromAssumptions.cpp
|
|
BDCE.cpp
|
|
ConstantHoisting.cpp
|
|
ConstantProp.cpp
|
|
CorrelatedValuePropagation.cpp
|
|
DCE.cpp
|
|
DeadStoreElimination.cpp
|
|
EarlyCSE.cpp
|
|
FlattenCFGPass.cpp
|
|
Float2Int.cpp
|
|
GVN.cpp
|
|
InductiveRangeCheckElimination.cpp
|
|
IndVarSimplify.cpp
|
|
JumpThreading.cpp
|
|
LICM.cpp
|
|
LoadCombine.cpp
|
|
LoopDeletion.cpp
|
|
LoopIdiomRecognize.cpp
|
|
LoopInstSimplify.cpp
|
|
LoopInterchange.cpp
|
|
LoopRerollPass.cpp
|
|
LoopRotation.cpp
|
|
LoopStrengthReduce.cpp
|
|
LoopUnrollPass.cpp
|
|
LoopUnswitch.cpp
|
|
LowerAtomic.cpp
|
|
LowerExpectIntrinsic.cpp
|
|
MemCpyOptimizer.cpp
|
|
MergedLoadStoreMotion.cpp
|
|
NaryReassociate.cpp
|
|
PartiallyInlineLibCalls.cpp
|
|
PlaceSafepoints.cpp
|
|
Reassociate.cpp
|
|
Reg2Mem.cpp
|
|
RewriteStatepointsForGC.cpp
|
|
SCCP.cpp
|
|
SROA.cpp
|
|
SampleProfile.cpp
|
|
Scalar.cpp
|
|
ScalarReplAggregates.cpp
|
|
Scalarizer.cpp
|
|
SeparateConstOffsetFromGEP.cpp
|
|
SimplifyCFGPass.cpp
|
|
Sink.cpp
|
|
StraightLineStrengthReduce.cpp
|
|
StructurizeCFG.cpp
|
|
TailRecursionElimination.cpp
|
|
|
|
ADDITIONAL_HEADER_DIRS
|
|
${LLVM_MAIN_INCLUDE_DIR}/llvm/Transforms
|
|
${LLVM_MAIN_INCLUDE_DIR}/llvm/Transforms/Scalar
|
|
)
|
|
|
|
add_dependencies(LLVMScalarOpts intrinsics_gen)
|