llvm-project/llvm/lib/Transforms/Utils
Reid Kleckner 45707d4d5a Remove getArgumentList() in favor of arg_begin(), args(), etc
Users often call getArgumentList().size(), which is a linear way to get
the number of function arguments. arg_size(), on the other hand, is
constant time.

In general, the fact that arguments are stored in an iplist is an
implementation detail, so I've removed it from the Function interface
and moved all other users to the argument container APIs (arg_begin(),
arg_end(), args(), arg_size()).

Reviewed By: chandlerc

Differential Revision: https://reviews.llvm.org/D31052

llvm-svn: 298010
2017-03-16 22:59:15 +00:00
..
ASanStackFrameLayout.cpp [asan] Replace std::to_string with llvm::to_string 2016-10-19 00:16:56 +00:00
AddDiscriminators.cpp Encode duplication factor from loop vectorization and loop unrolling to discriminator. 2017-02-10 21:09:07 +00:00
BasicBlockUtils.cpp [BasicBlockUtils] Check for nullptr before updating LoopInfo. 2017-03-06 15:33:05 +00:00
BreakCriticalEdges.cpp [PM] Port BreakCriticalEdges to the new PM. 2016-07-22 18:04:25 +00:00
BuildLibCalls.cpp [Analysis] Add LibFunc_ prefix to enums in TargetLibraryInfo. (NFC) 2017-01-23 23:16:46 +00:00
BypassSlowDivision.cpp [BypassSlowDivision] Use ValueTracking to simplify run-time checks 2017-03-02 22:12:15 +00:00
CMakeLists.txt Move memory coercion functions from GVN.cpp to VNCoercion.cpp so they can be shared between GVN and NewGVN. 2017-03-10 04:54:10 +00:00
CloneFunction.cpp [JumpThreading] Re-enable JumpThreading for guards 2017-02-17 04:21:14 +00:00
CloneModule.cpp Cloning: Copy comdats when cloning globals. 2017-01-18 20:02:31 +00:00
CmpInstAnalysis.cpp move decomposeBitTestICmp() to Transforms/Utils; NFC 2016-07-20 17:18:45 +00:00
CodeExtractor.cpp Use const-ref in range-loop for to avoid copying pairs of std::string 2017-02-22 06:34:04 +00:00
CtorUtils.cpp [CtorUtils] Modernize. No functional changes intended. 2016-10-22 01:21:24 +00:00
DemoteRegToStack.cpp
EscapeEnumerator.cpp [tsan] Add support for C++ exceptions into TSan (call __tsan_func_exit during unwinding), LLVM part 2016-11-14 21:41:13 +00:00
Evaluator.cpp Use the range variant of find instead of unpacking begin/end 2016-08-11 22:21:41 +00:00
FlattenCFG.cpp [FlattenCFG] Simplify + remove unused variable. NFCI. 2016-08-05 20:53:35 +00:00
FunctionComparator.cpp IR: Move NumElements field from {Array,Vector}Type to SequentialType. 2016-12-02 03:20:58 +00:00
FunctionImportUtils.cpp FunctionImport: Use IRMover directly. 2017-02-03 16:56:27 +00:00
GlobalStatus.cpp [Transforms/Utils] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-14 00:32:38 +00:00
ImportedFunctionsInliningStatistics.cpp Imported statistics types changes 2016-08-02 22:18:47 +00:00
InlineFunction.cpp Remove getArgumentList() in favor of arg_begin(), args(), etc 2017-03-16 22:59:15 +00:00
InstructionNamer.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
IntegerDivision.cpp
LCSSA.cpp [PM] Introduce an analysis set used to preserve all analyses over 2017-01-15 06:32:49 +00:00
LLVMBuild.txt
LibCallsShrinkWrap.cpp [Analysis] Add LibFunc_ prefix to enums in TargetLibraryInfo. (NFC) 2017-01-23 23:16:46 +00:00
Local.cpp Salvage debug info from instructions about to be deleted 2017-03-16 21:14:09 +00:00
LoopSimplify.cpp [LoopSimplify] Simplify how we compute UniqueExit 2017-02-21 19:10:58 +00:00
LoopUnroll.cpp The patch turns on epilogue unroll for loops with constant recurency start. 2017-03-02 17:38:46 +00:00
LoopUnrollPeel.cpp [LoopUnroll] Don't peel loops where the latch isn't the exiting block 2017-03-16 21:07:48 +00:00
LoopUnrollRuntime.cpp [LoopUnroll] Use addClonedBlockToLoopInfo to clone the top level loop (NFC) 2017-01-31 11:13:44 +00:00
LoopUtils.cpp Fix up a comment. NFC. 2017-01-18 19:05:48 +00:00
LoopVersioning.cpp [LoopVersioning] Require loop-simplify form for loop versioning. 2016-12-19 17:13:37 +00:00
LowerInvoke.cpp [PM] Port LowerInvoke to the new pass manager 2016-08-12 17:28:27 +00:00
LowerMemIntrinsics.cpp NVPTX: Extract mem intrinsic expansions into utilities 2017-02-08 17:49:52 +00:00
LowerSwitch.cpp Use the range variant of remove_if instead of unpacking begin/end 2016-08-12 04:32:37 +00:00
Mem2Reg.cpp [PM] Introduce an analysis set used to preserve all analyses over 2017-01-15 06:32:49 +00:00
MemorySSA.cpp Move defClobbersUseOrDef to being a protected member of a class since we don't want anyone else using it 2017-03-02 23:06:46 +00:00
MemorySSAUpdater.cpp Move updating functions to MemorySSAUpdater. 2017-02-22 22:19:55 +00:00
MetaRenamer.cpp
ModuleUtils.cpp Cleanup dump() functions. 2017-01-28 02:02:38 +00:00
NameAnonGlobals.cpp Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
PredicateInfo.cpp PredicateInfo: Support switch statements 2017-02-22 22:20:58 +00:00
PromoteMemoryToRegister.cpp Revert @llvm.assume with operator bundles (r289755-r289757) 2016-12-19 08:22:17 +00:00
SSAUpdater.cpp [Target, Transforms] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-18 00:57:48 +00:00
SanitizerStats.cpp
SimplifyCFG.cpp Fix: Refactor SimplifyCFG:canSinkInstructions [NFC] 2017-03-16 14:09:18 +00:00
SimplifyIndVar.cpp [IndVars] Remove -liv-reduce 2016-06-05 18:01:12 +00:00
SimplifyInstructions.cpp [ValueTracking] emit a remark when we detect a conflicting assumption (PR31809) 2017-02-06 18:26:06 +00:00
SimplifyLibCalls.cpp [LangRef] Make @llvm.sqrt(x) return undef, rather than have UB, for negative x. 2017-01-27 00:58:03 +00:00
SplitModule.cpp Move instances of std::function. 2016-06-12 16:13:55 +00:00
StripGCRelocates.cpp [StripGCRelocates] New pass to remove gc.relocates added by RS4GC 2016-10-21 18:43:16 +00:00
StripNonLineTableDebugInfo.cpp Add -strip-nonlinetable-debuginfo capability 2016-10-25 18:44:13 +00:00
SymbolRewriter.cpp [PM] Port SymbolRewriter to the new PM 2016-07-25 20:52:00 +00:00
UnifyFunctionExitNodes.cpp Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
Utils.cpp Add PredicateInfo utility and printing pass 2017-02-07 21:10:46 +00:00
VNCoercion.cpp VNCoercion: Make the function signatures all consistent 2017-03-11 00:51:01 +00:00
ValueMapper.cpp "Use" lambda captures which are otherwise only used in asserts. NFC 2017-01-13 21:02:41 +00:00