llvm-project/llvm/lib/CodeGen/SelectionDAG
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
..
CMakeLists.txt
DAGCombiner.cpp [DAGCombine] Revert of recommit of "binop-with-const hoisting" patches 2019-05-30 16:07:11 +00:00
FastISel.cpp Reapply: IR: add optional type to 'byval' function parameters 2019-05-30 18:48:23 +00:00
FunctionLoweringInfo.cpp [AMDGPU] Divergence driven ISel. Assign register class for cross block values according to the divergence. 2019-05-26 20:33:26 +00:00
InstrEmitter.cpp [SelectionDAG] Enhance the simplification of `copyto` from `implicit-def`. 2019-05-27 18:26:29 +00:00
InstrEmitter.h [SelectionDAG] Enhance the simplification of `copyto` from `implicit-def`. 2019-05-27 18:26:29 +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
LegalizeDAG.cpp [CodeGen] Add lrint/llrint builtins 2019-05-28 20:47:44 +00:00
LegalizeFloatTypes.cpp [CodeGen] Add lrint/llrint builtins 2019-05-28 20:47:44 +00:00
LegalizeIntegerTypes.cpp [CodeGen] Add lrint/llrint builtins 2019-05-28 20:47:44 +00:00
LegalizeTypes.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LegalizeTypes.h Revert r362112, it broke the bots with the message "Unsupported vector argument or return type" 2019-05-30 17:10:21 +00:00
LegalizeTypesGeneric.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LegalizeVectorOps.cpp [Intrinsic] Signed Fixed Point Saturation Multiplication Intrinsic 2019-05-21 19:17:19 +00:00
LegalizeVectorTypes.cpp Correct error in revert of r362112. 2019-05-30 17:21:45 +00:00
ResourcePriorityQueue.cpp Implementation of asm-goto support in LLVM 2019-02-08 20:48:56 +00:00
SDNodeDbgValue.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ScheduleDAGFast.cpp Implementation of asm-goto support in LLVM 2019-02-08 20:48:56 +00:00
ScheduleDAGRRList.cpp [ScheduleDAGRRList] Recompute topological ordering on demand. 2019-04-17 15:05:29 +00:00
ScheduleDAGSDNodes.cpp Use llvm::stable_sort 2019-04-23 14:51:27 +00:00
ScheduleDAGSDNodes.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ScheduleDAGVLIW.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SelectionDAG.cpp [SelectionDAG] fold concat of extract subvectors 2019-05-27 20:26:21 +00:00
SelectionDAGAddressAnalysis.cpp [DAGCombiner] Unify Lifetime and memory Op aliasing. 2019-03-27 14:14:46 +00:00
SelectionDAGBuilder.cpp Reapply: IR: add optional type to 'byval' function parameters 2019-05-30 18:48:23 +00:00
SelectionDAGBuilder.h CodeGen: factor out swifterror value tracking. 2019-05-24 08:39:43 +00:00
SelectionDAGDumper.cpp [CodeGen] Add lrint/llrint builtins 2019-05-28 20:47:44 +00:00
SelectionDAGISel.cpp [AMDGPU] Divergence driven ISel. Assign register class for cross block values according to the divergence. 2019-05-26 20:33:26 +00:00
SelectionDAGPrinter.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SelectionDAGTargetInfo.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
StatepointLowering.cpp [CodeGen] Add MMOs to statepoint nodes during SelectionDAG 2019-03-12 19:12:33 +00:00
StatepointLowering.h [FastISel] Fix crash for gc.relocate lowring 2019-04-05 05:41:08 +00:00
TargetLowering.cpp Reapply: IR: add optional type to 'byval' function parameters 2019-05-30 18:48:23 +00:00