llvm-project/llvm/lib/Transforms/Utils
Tim Northover b7141207a4 Reapply: IR: add optional type to 'byval' function parameters
When we switch to opaque pointer types we will need some way to describe
how many bytes a 'byval' parameter should occupy on the stack. This adds
a (for now) optional extra type parameter.

If present, the type must match the pointee type of the argument.

The original commit did not remap byval types when linking modules, which broke
LTO. This version fixes that.

Note to front-end maintainers: if this causes test failures, it's probably
because the "byval" attribute is printed after attributes without any parameter
after this change.

llvm-svn: 362128
2019-05-30 18:48:23 +00:00
..
ASanStackFrameLayout.cpp Use llvm::stable_sort 2019-04-23 14:51:27 +00:00
AddDiscriminators.cpp [llvm] Clarify responsiblity of some of DILocation discriminator APIs 2019-01-24 00:10:25 +00:00
BasicBlockUtils.cpp revert r360162 as it breaks most of the buildbots 2019-05-07 20:57:11 +00:00
BreakCriticalEdges.cpp [SanitizerCoverage] Avoid splitting critical edges when destination is a basic block containing unreachable 2019-03-12 18:20:25 +00:00
BuildLibCalls.cpp [SelectionDAG] Allow the user to specify a memeq function. 2019-03-08 09:07:45 +00:00
BypassSlowDivision.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CMakeLists.txt [PGO] Profile guided code size optimization. 2019-04-15 16:49:00 +00:00
CallPromotionUtils.cpp [opaque pointer types] Pass function type for CallBase::setCalledFunction. 2019-02-01 20:44:54 +00:00
CanonicalizeAliases.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CloneFunction.cpp Move DomTreeUpdater from IR to Analysis 2019-02-06 02:52:52 +00:00
CloneModule.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CodeExtractor.cpp [CodeExtractor] Add a few debug lines to understand why a region is not extracted 2019-04-16 02:12:05 +00:00
CtorUtils.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DemoteRegToStack.cpp [opaque pointer types] Pass value type to LoadInst creation. 2019-02-01 20:44:24 +00:00
EntryExitInstrumenter.cpp [opaque pointer types] Add a FunctionCallee wrapper type, and use it. 2019-02-01 02:28:03 +00:00
EscapeEnumerator.cpp [opaque pointer types] Add a FunctionCallee wrapper type, and use it. 2019-02-01 02:28:03 +00:00
Evaluator.cpp [Evaluator] Walk initial elements when handling load through bitcast 2019-04-25 17:00:01 +00:00
FlattenCFG.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
FunctionComparator.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
FunctionImportUtils.cpp Change some dyn_cast to more apropriate isa. NFC 2019-04-05 16:16:23 +00:00
GlobalStatus.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
GuardUtils.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ImportedFunctionsInliningStatistics.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
InlineFunction.cpp Resubmit "[DebugInfo] Update loop metadata for inlined loops" 2019-05-20 13:02:30 +00:00
InstructionNamer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
IntegerDivision.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LCSSA.cpp [MemorySSA] LCSSA preserves MemorySSA. 2019-04-23 20:59:44 +00:00
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LibCallsShrinkWrap.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Local.cpp Revert r360902 "Resubmit: [Salvage] Change salvage debug info ..." 2019-05-21 11:53:41 +00:00
LoopRotationUtils.cpp [LoopRotate] fix crash encountered with callbr 2019-03-06 23:04:40 +00:00
LoopSimplify.cpp [MemorySSA] LoopSimplify preserves MemorySSA only when flag is flipped. 2019-05-14 18:07:18 +00:00
LoopUnroll.cpp [MemorySSA] Teach LoopSimplify to preserve MemorySSA. 2019-05-08 17:05:36 +00:00
LoopUnrollAndJam.cpp [SCEV] Add option to forget everything in SCEV. 2019-04-12 19:16:07 +00:00
LoopUnrollPeel.cpp [MemorySSA] Teach LoopSimplify to preserve MemorySSA. 2019-05-08 17:05:36 +00:00
LoopUnrollRuntime.cpp [LoopUnroll] Move list of params into a struct [NFCI]. 2019-04-18 23:43:49 +00:00
LoopUtils.cpp [NFC][Utils] deleteDeadLoop(): add an assert that exit block has some non-PHI instruction 2019-05-05 18:59:12 +00:00
LoopVersioning.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LowerInvoke.cpp [opaque pointer types] Pass function types to CallInst creation. 2019-02-01 20:43:25 +00:00
LowerMemIntrinsics.cpp [opaque pointer types] Pass value type to GetElementPtr creation. 2019-02-01 20:44:47 +00:00
LowerSwitch.cpp Use llvm::lower_bound. NFC 2019-04-12 02:02:06 +00:00
Mem2Reg.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MetaRenamer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ModuleUtils.cpp [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
NameAnonGlobals.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
PredicateInfo.cpp [PredicateInfo] Do not process unreachable operands. 2019-05-15 19:35:38 +00:00
PromoteMemoryToRegister.cpp [Mem2Reg] Delete unused PointerAllocaValues 2019-04-14 07:28:29 +00:00
SSAUpdater.cpp [LICM/MSSA] Add promotion to scalars by building an AliasSetTracker with MemorySSA. 2019-02-06 20:25:17 +00:00
SSAUpdaterBulk.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SanitizerStats.cpp [opaque pointer types] Add a FunctionCallee wrapper type, and use it. 2019-02-01 02:28:03 +00:00
SimplifyCFG.cpp Re-commit r357452 (take 2): "SimplifyCFG SinkCommonCodeFromPredecessors: Also sink function calls without used results (PR41259)" 2019-05-28 12:19:38 +00:00
SimplifyIndVar.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SimplifyLibCalls.cpp Pull out repeated CI->getCalledFunction() calls. NFCI. 2019-05-06 19:51:54 +00:00
SizeOpts.cpp [PGO] Profile guided code size optimization. 2019-04-15 16:49:00 +00:00
SplitModule.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
StripGCRelocates.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
StripNonLineTableDebugInfo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SymbolRewriter.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
UnifyFunctionExitNodes.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Utils.cpp [LLVM-C] Expose the "Add Discriminators" Pass To LLVM-C 2019-03-15 16:57:23 +00:00
VNCoercion.cpp [GVN] Small tweaks to comments, style, and missed vector handling 2019-02-20 00:31:28 +00:00
ValueMapper.cpp Reapply: IR: add optional type to 'byval' function parameters 2019-05-30 18:48:23 +00:00