OSDN Git Service

Disable most IR-level transform passes on functions marked 'optnone'.
authorPaul Robinson <paul_robinson@playstation.sony.com>
Thu, 6 Feb 2014 00:07:05 +0000 (00:07 +0000)
committerPaul Robinson <paul_robinson@playstation.sony.com>
Thu, 6 Feb 2014 00:07:05 +0000 (00:07 +0000)
commit2684ddd72e6274be60129d5510d9d5073463d0a4
tree8a1cc576fcd316c88e1fee0e28357f23c0a1d5c0
parentb725815069b6682f2371dc5da00d1dd85365aa7a
Disable most IR-level transform passes on functions marked 'optnone'.
Ideally only those transform passes that run at -O0 remain enabled,
in reality we get as close as we reasonably can.
Passes are responsible for disabling themselves, it's not the job of
the pass manager to do it for them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200892 91177308-0d34-0410-b5e6-96231b3b80d8
34 files changed:
include/llvm/Analysis/LoopPass.h
include/llvm/Pass.h
lib/Analysis/LoopPass.cpp
lib/IR/Pass.cpp
lib/Transforms/IPO/LoopExtractor.cpp
lib/Transforms/InstCombine/InstructionCombining.cpp
lib/Transforms/Scalar/ADCE.cpp
lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
lib/Transforms/Scalar/DCE.cpp
lib/Transforms/Scalar/DeadStoreElimination.cpp
lib/Transforms/Scalar/EarlyCSE.cpp
lib/Transforms/Scalar/GVN.cpp
lib/Transforms/Scalar/IndVarSimplify.cpp
lib/Transforms/Scalar/JumpThreading.cpp
lib/Transforms/Scalar/LICM.cpp
lib/Transforms/Scalar/LoopDeletion.cpp
lib/Transforms/Scalar/LoopIdiomRecognize.cpp
lib/Transforms/Scalar/LoopInstSimplify.cpp
lib/Transforms/Scalar/LoopRerollPass.cpp
lib/Transforms/Scalar/LoopRotation.cpp
lib/Transforms/Scalar/LoopStrengthReduce.cpp
lib/Transforms/Scalar/LoopUnrollPass.cpp
lib/Transforms/Scalar/LoopUnswitch.cpp
lib/Transforms/Scalar/LowerAtomic.cpp
lib/Transforms/Scalar/MemCpyOptimizer.cpp
lib/Transforms/Scalar/Reassociate.cpp
lib/Transforms/Scalar/SCCP.cpp
lib/Transforms/Scalar/SROA.cpp
lib/Transforms/Scalar/ScalarReplAggregates.cpp
lib/Transforms/Scalar/SimplifyCFGPass.cpp
lib/Transforms/Scalar/TailRecursionElimination.cpp
lib/Transforms/Vectorize/BBVectorize.cpp
lib/Transforms/Vectorize/SLPVectorizer.cpp
test/Feature/optnone-opt.ll [new file with mode: 0644]