llvm-6502/lib/IR
Stephen Lin 13aba14eb5 Add some constraints to use of 'returned':
1) Disallow 'returned' on parameter that is also 'sret' (no sensible semantics, as far as I can tell).
2) Conservatively disallow tail calls through 'returned' parameters that also are 'zext' or 'sext' (for consistency with treatment of other zero-extending and sign-extending operations in tail call position detection...can be revised later to handle situations that can be determined to be safe).

This is a new attribute that is not yet used, so there is no impact.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180118 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-23 16:31:56 +00:00
..
AsmWriter.cpp Make the TargetIndependent flag have the right boolean value. 2013-04-18 21:45:04 +00:00
AttributeImpl.h Cleanup patch: 2013-04-18 20:17:28 +00:00
Attributes.cpp Add CodeGen support for functions that always return arguments via a new parameter attribute 'returned', which is taken advantage of in target-independent tail call opportunity detection and in ARM call lowering (when placed on an integral first parameter). 2013-04-20 05:14:40 +00:00
AutoUpgrade.cpp
BasicBlock.cpp
CMakeLists.txt
ConstantFold.cpp
ConstantFold.h
Constants.cpp Fix a scalability issue with complex ConstantExprs. 2013-04-13 12:53:18 +00:00
ConstantsContext.h
Core.cpp Expose IRBuilder::CreateAtomicRMW as LLVMBuildAtomicRMW in llvm-c. 2013-04-23 13:21:19 +00:00
DataLayout.cpp Cleanup naming: DataLayout s/TD/DL/ 2013-04-16 15:41:18 +00:00
DebugInfo.cpp Revert "Revert "PR14606: debug info imported_module support"" 2013-04-22 06:12:31 +00:00
DebugLoc.cpp
DIBuilder.cpp Revert "Revert "PR14606: debug info imported_module support"" 2013-04-22 06:12:31 +00:00
Dominators.cpp
Function.cpp Add CodeGen support for functions that always return arguments via a new parameter attribute 'returned', which is taken advantage of in target-independent tail call opportunity detection and in ARM call lowering (when placed on an integral first parameter). 2013-04-20 05:14:40 +00:00
GCOV.cpp
Globals.cpp
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp
Instructions.cpp Revert r177675. This is language-specific and shouldn't be in the API. 2013-03-22 18:46:32 +00:00
IntrinsicInst.cpp
IRBuilder.cpp
LeakDetector.cpp
LeaksContext.h
LLVMBuild.txt
LLVMContext.cpp Memory Dependence Analysis (not mem-dep test) take advantage of "invariant.load" metadata. 2013-03-06 17:48:48 +00:00
LLVMContextImpl.cpp
LLVMContextImpl.h
Makefile
Metadata.cpp Struct-path aware TBAA: update getMostGenericTBAA 2013-04-22 23:00:44 +00:00
Module.cpp
Pass.cpp
PassManager.cpp Measure time that IR parsing took as part of the -time-passes measurement. 2013-04-03 15:33:45 +00:00
PassRegistry.cpp
PrintModulePass.cpp
SymbolTableListTraitsImpl.h
Type.cpp
TypeFinder.cpp
Use.cpp
User.cpp
Value.cpp Fix a disconcerting bug in Value::isUsedInBasicBlock, which gave wrong answers for blocks larger than 3 instrs. 2013-04-12 08:33:11 +00:00
ValueSymbolTable.cpp
ValueTypes.cpp
Verifier.cpp Add some constraints to use of 'returned': 2013-04-23 16:31:56 +00:00