1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
llvm-mirror/lib/IR
Johannes Doerfert 6bf1afd2a4 [Attr] Add "willreturn" function attribute
This patch introduces a new function attribute, willreturn, to indicate
that a call of this function will either exhibit undefined behavior or
comes back and continues execution at a point in the existing call stack
that includes the current invocation.

This attribute guarantees that the function does not have any endless
loops, endless recursion, or terminating functions like abort or exit.

Patch by Hideto Ueno (@uenoku)

Reviewers: jdoerfert

Subscribers: mehdi_amini, hiraditya, steven_wu, dexonsmith, lebedev.ri, llvm-commits

Tags: #llvm

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

llvm-svn: 364555
2019-06-27 15:51:40 +00:00
..
AbstractCallSite.cpp
AsmWriter.cpp Revert r363658 "[SVE][IR] Scalable Vector IR Type with pr42210 fix" 2019-06-27 13:55:02 +00:00
AttributeImpl.h
Attributes.cpp [Attr] Add "willreturn" function attribute 2019-06-27 15:51:40 +00:00
AttributesCompatFunc.td
AutoUpgrade.cpp Change semantics of fadd/fmul vector reductions. 2019-06-11 08:22:10 +00:00
BasicBlock.cpp
CMakeLists.txt
Comdat.cpp
ConstantFold.cpp
ConstantFold.h
ConstantRange.cpp [ConstantRange] Add sdiv() support 2019-06-03 18:19:54 +00:00
Constants.cpp
ConstantsContext.h
Core.cpp
DataLayout.cpp Simplify std::lower_bound with llvm::{bsearch,lower_bound}. NFC 2019-06-21 05:40:31 +00:00
DebugInfo.cpp
DebugInfoMetadata.cpp [DWARF] Handle the DW_OP_entry_value operand 2019-06-27 13:52:34 +00:00
DebugLoc.cpp
DiagnosticHandler.cpp
DiagnosticInfo.cpp [Remarks][NFC] Move the serialization to lib/Remarks 2019-05-30 21:45:59 +00:00
DiagnosticPrinter.cpp
DIBuilder.cpp
Dominators.cpp
Function.cpp Simplify std::lower_bound with llvm::{bsearch,lower_bound}. NFC 2019-06-21 05:40:31 +00:00
Globals.cpp
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp
Instructions.cpp Silenced a warning "implicit conversion turns string literal into bool" introduced in r362473 2019-06-04 09:31:07 +00:00
IntrinsicInst.cpp
IRBuilder.cpp Improve reduction intrinsics by overloading result value. 2019-06-13 09:37:38 +00:00
IRPrintingPasses.cpp
LegacyPassManager.cpp
LLVMBuild.txt
LLVMContext.cpp
LLVMContextImpl.cpp
LLVMContextImpl.h Revert r363658 "[SVE][IR] Scalable Vector IR Type with pr42210 fix" 2019-06-27 13:55:02 +00:00
Mangler.cpp
MDBuilder.cpp
Metadata.cpp
MetadataImpl.h
Module.cpp
ModuleSummaryIndex.cpp
Operator.cpp
OptBisect.cpp
Pass.cpp
PassInstrumentation.cpp
PassManager.cpp
PassRegistry.cpp
PassTimingInfo.cpp
ProfileSummary.cpp
RemarkStreamer.cpp [Remarks] Extend -fsave-optimization-record to specify the format 2019-06-17 16:06:00 +00:00
SafepointIRVerifier.cpp
Statepoint.cpp
SymbolTableListTraitsImpl.h
Type.cpp Revert r363658 "[SVE][IR] Scalable Vector IR Type with pr42210 fix" 2019-06-27 13:55:02 +00:00
TypeFinder.cpp
Use.cpp
User.cpp
Value.cpp Introduce Value::stripPointerCastsSameRepresentation 2019-06-04 20:21:46 +00:00
ValueSymbolTable.cpp
Verifier.cpp [Attr] Add "willreturn" function attribute 2019-06-27 15:51:40 +00:00