llvm-project/llvm/lib/IR
David Majnemer 0f45572761 The absence of noreturn doesn't ensure mayReturn
There are two separate issues:
- LLVM doesn't consider infinite loops to be side effects: we happily
  hoist/sink above/below loops whose bounds are unknown.
- The absence of the noreturn attribute is insufficient for us to know
  if a function will definitely return.  Relying on noreturn in the
  middle-end for any property is an accident waiting to happen.

llvm-svn: 273762
2016-06-25 00:55:12 +00:00
..
AsmWriter.cpp IR: Introduce Module::global_objects(). 2016-06-22 20:29:42 +00:00
AttributeImpl.h Rename AttributeSetImpl::NumAttrs and AttributeSetImpl::getNumAttributes to reflect that they work on slots rather than attributes. NFC 2016-06-14 22:04:16 +00:00
Attributes.cpp Add support for string attributes in the C API. 2016-06-15 17:50:39 +00:00
AttributesCompatFunc.td
AutoUpgrade.cpp [AVX512] Remove masked unpack intrinsics and autoupgrade to vectorshuffle and selects. 2016-06-23 07:37:33 +00:00
BasicBlock.cpp Revert "[SimplifyCFG] Extend TryToSimplifyUncondBranchFromEmptyBlock for empty block including lifetime intrinsics" 2016-05-02 19:43:22 +00:00
CMakeLists.txt Move ProfileSummary to IR. 2016-05-19 21:07:12 +00:00
Comdat.cpp [NFC] Remove some dead code: 2016-05-11 16:38:40 +00:00
ConstantFold.cpp [ConstantFold] NFC cleanup after previous change. 2016-05-26 07:08:09 +00:00
ConstantFold.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
ConstantRange.cpp fix formatting, typo; NFC 2016-06-19 17:20:27 +00:00
Constants.cpp [IR] Require ArrayRef of 'uint32_t' instead of 'int' for the mask argument for one of the signatures of CreateShuffleVector. This better emphasises that you can't use it for the -1 as undef behavior. 2016-06-12 00:41:19 +00:00
ConstantsContext.h Increase SmallVector size for ConstantUniqueMap::getHashValue() (NFC) 2016-04-19 00:17:55 +00:00
Core.cpp Add support for string attributes in the C API. 2016-06-15 17:50:39 +00:00
DIBuilder.cpp [codeview] Add DIFlags for pointer to member representations 2016-06-17 21:31:33 +00:00
DataLayout.cpp Rename getLargestLegalIntTypeSize to getLargestLegalIntTypeSizeInBits(). NFC. 2016-05-13 18:38:35 +00:00
DebugInfo.cpp StripDebugInfo: uses isa<DbgInfoIntrinsic> instead of matching against llvm.dbg.* (NFC) 2016-05-14 04:58:35 +00:00
DebugInfoMetadata.cpp [codeview] Add DIFlags for pointer to member representations 2016-06-17 21:31:33 +00:00
DebugLoc.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
DiagnosticInfo.cpp Generalize DiagnosticInfoStackSize to support other limits 2016-06-20 18:13:04 +00:00
DiagnosticPrinter.cpp
Dominators.cpp [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
Function.cpp Remangle intrinsics names when types are renamed 2016-06-24 15:10:29 +00:00
GCOV.cpp
GVMaterializer.cpp
Globals.cpp [IR] [DAE] Copy comdats during DAE, and don't copy comdats in GlobalObject::copyAttributesFrom. 2016-06-15 23:20:15 +00:00
IRBuilder.cpp IR: Introduce local_unnamed_addr attribute. 2016-06-14 21:01:22 +00:00
IRPrintingPasses.cpp [PM] Remove support for omitting the AnalysisManager argument to new 2016-06-17 00:11:01 +00:00
InlineAsm.cpp [InlineAsm] Avoid creating extra string instances in ConstraintInfo::Parse() 2016-05-23 13:58:04 +00:00
Instruction.cpp The absence of noreturn doesn't ensure mayReturn 2016-06-25 00:55:12 +00:00
Instructions.cpp Add support for string attributes in the C API. 2016-06-15 17:50:39 +00:00
IntrinsicInst.cpp [NFC] Remove some dead code: 2016-05-11 16:38:40 +00:00
LLVMBuild.txt
LLVMContext.cpp IR: New representation for CFI and virtual call optimization pass metadata. 2016-06-24 21:21:32 +00:00
LLVMContextImpl.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
LLVMContextImpl.h [DebugInfo] Add calling convention support for DWARF and CodeView 2016-06-08 20:34:29 +00:00
LegacyPassManager.cpp Remove doInitialization() and doFinalization() member declarations without definitions. 2016-04-28 19:21:30 +00:00
MDBuilder.cpp
Mangler.cpp
Metadata.cpp IR: Introduce llvm.type.checked.load intrinsic. 2016-06-25 00:23:04 +00:00
MetadataImpl.h
Module.cpp Remove interface to get/set MaxFunctionCount 2016-06-20 21:36:38 +00:00
ModuleSummaryIndex.cpp [ThinLTO] Introduce typedef for commonly-used map type (NFC) 2016-04-25 21:09:51 +00:00
Operator.cpp
OptBisect.cpp Removing unused function. 2016-04-22 22:24:20 +00:00
Pass.cpp Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
PassManager.cpp [PM] Run clang-format over various parts of the new pass manager code 2016-06-17 07:15:29 +00:00
PassRegistry.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
ProfileSummary.cpp Reapply r271728 after adding move cobstructor for ProfileSummaryInfo 2016-06-03 22:54:26 +00:00
Statepoint.cpp Introduce an GCRelocateInst class [NFC] 2016-04-12 18:05:10 +00:00
SymbolTableListTraitsImpl.h
Type.cpp fix documentation comments; NFC 2016-06-02 20:37:52 +00:00
TypeFinder.cpp
Use.cpp
User.cpp
Value.cpp Remove Value::isPointerDereferenceable; NFCI 2016-06-02 00:52:48 +00:00
ValueSymbolTable.cpp
ValueTypes.cpp
Verifier.cpp NFC. Move verifyIntrinsicIsVarArg from verifier to Intrinsic::matchIntrinsicVarArg since it will be reused for intrinsic remangling code 2016-06-24 14:47:27 +00:00