1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/lib/IR
Adrian Prantl fbdd15f20a Separate the Verifier into an analysis and a transformation pass and
allow the transformation to strip invalid debug info.

This patch separates the Verifier into an analysis and a transformation
pass, with the transformation pass optionally stripping malformed
debug info.

The problem I'm trying to solve with this sequence of patches is that
historically we've done a really bad job at verifying debug info. We want
to be able to make the verifier stricter without having to worry about
breaking bitcode compatibility with existing producers. For example, we
don't necessarily want IR produced by an older version of clang to be
rejected by an LTO link just because of malformed debug info, and rather
provide an option to strip it. Note that merely outdated (but well-formed)
debug info would continue to be auto-upgraded in this scenario.

http://reviews.llvm.org/D19988
rdar://problem/25818489

This reapplies r268937 without modifications.

llvm-svn: 268966
2016-05-09 19:57:29 +00:00
..
AsmWriter.cpp AMDGPU/SI: Add amdgpu_kernel calling convention. Part 1. 2016-05-06 09:07:29 +00:00
AttributeImpl.h Add the allocsize attribute to LLVM. 2016-04-12 01:05:35 +00:00
Attributes.cpp Attempt to make buildbot happier with r266032. 2016-04-12 01:44:13 +00:00
AttributesCompatFunc.td Provide a way to specify inliner's attribute compatibility and merging. 2015-12-22 23:57:37 +00:00
AutoUpgrade.cpp [AArch64] [ARM] Make a target-independent llvm.thread.pointer intrinsic. 2016-04-19 20:51:05 +00:00
BasicBlock.cpp Revert "[SimplifyCFG] Extend TryToSimplifyUncondBranchFromEmptyBlock for empty block including lifetime intrinsics" 2016-05-02 19:43:22 +00:00
CMakeLists.txt Re-commit optimization bisect support (r267022) without new pass manager support. 2016-04-22 22:06:11 +00:00
Comdat.cpp
ConstantFold.cpp [ConstantFold] Don't try to strip fp -> int bitcasts to simplify icmps 2016-05-04 19:37:08 +00:00
ConstantFold.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
ConstantRange.cpp "Reapply r268521 "[InstCombine] Canonicalize icmp instructions based on dominating conditions."" 2016-05-04 21:32:14 +00:00
Constants.cpp clean up documentation comments; NFC 2016-04-29 22:03:27 +00:00
ConstantsContext.h Increase SmallVector size for ConstantUniqueMap::getHashValue() (NFC) 2016-04-19 00:17:55 +00:00
Core.cpp Properly name LLVMSetIsInBounds's argument. NFC 2016-05-01 02:23:14 +00:00
DataLayout.cpp Replace Type::getInt32Ty() and comparison by isIntegerTy(32). NFC. 2016-01-22 03:30:27 +00:00
DebugInfo.cpp Fix stripDebugInfo: was modifying "DebugLoc" attached to the intrinsic after deleting it. 2016-05-07 05:07:47 +00:00
DebugInfoMetadata.cpp Fixed signed/unsigned comparison warning. 2016-05-02 16:45:02 +00:00
DebugLoc.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
DiagnosticInfo.cpp Separate the Verifier into an analysis and a transformation pass and 2016-05-09 19:57:29 +00:00
DiagnosticPrinter.cpp MIR Serialization: Connect the machine function analysis pass to the MIR parser. 2015-06-15 20:30:22 +00:00
DIBuilder.cpp DebugInfo: Change DIBuilder to make distinct DIGlobalVariables 2016-04-23 22:29:09 +00:00
Dominators.cpp Unify XDEBUG and EXPENSIVE_CHECKS (into the latter), and add an option to the cmake build to enable them. 2016-04-29 15:22:48 +00:00
Function.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
GCOV.cpp llvm-cov: Fix reading gcov data that does not have function names 2016-02-08 22:49:40 +00:00
Globals.cpp [GCC] Attribute ifunc support in llvm 2016-04-07 12:32:19 +00:00
GVMaterializer.cpp
InlineAsm.cpp Fix SEGV in InlineAsm::ConstraintInfo::Parse. 2015-09-03 15:41:37 +00:00
Instruction.cpp [GVN] Respect fast-math-flags on fcmps 2016-04-22 06:37:51 +00:00
Instructions.cpp [GlobalOpt] Propagate operand bundles 2016-04-29 08:07:22 +00:00
IntrinsicInst.cpp IR: Add DbgInfoIntrinsic::getVariableLocation 2016-03-29 18:56:03 +00:00
IRBuilder.cpp Revert "Support arbitrary addrspace pointers in masked load/store intrinsics" 2016-04-14 08:47:17 +00:00
IRPrintingPasses.cpp Recommit r256952 "Filtering IR printing for print-after-all/print-before-all" 2016-01-06 22:55:03 +00:00
LegacyPassManager.cpp Remove doInitialization() and doFinalization() member declarations without definitions. 2016-04-28 19:21:30 +00:00
LLVMBuild.txt
LLVMContext.cpp Fix some Clang-tidy modernize and Include What You Use warnings. 2016-04-28 18:04:41 +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: Remove MDString-based type references 2016-04-23 21:08:00 +00:00
Mangler.cpp Update to use new name alignTo(). 2016-01-14 21:06:47 +00:00
MDBuilder.cpp [MDBuilder] Simplify code using initializer lists. NFC. 2015-11-22 18:03:17 +00:00
Metadata.cpp [CodeGenPrepare] use branch weight metadata to decide if a select should be turned into a branch 2016-04-26 17:11:17 +00:00
MetadataImpl.h DI: Disallow uniquable DICompileUnits 2015-08-03 17:26:41 +00:00
Module.cpp Add "PIE Level" metadata to module flags. 2016-04-28 18:15:44 +00:00
ModuleSummaryIndex.cpp [ThinLTO] Introduce typedef for commonly-used map type (NFC) 2016-04-25 21:09:51 +00:00
Operator.cpp [opaque pointer types] [NFC] GEP: replace get(Pointer)ElementType uses with get{Source,Result}ElementType. 2016-01-19 17:28:00 +00:00
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] Implement the final conclusion as to how the analysis IDs should 2016-03-11 10:22:49 +00:00
PassRegistry.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
Statepoint.cpp Introduce an GCRelocateInst class [NFC] 2016-04-12 18:05:10 +00:00
SymbolTableListTraitsImpl.h IR: Remove implicit iterator conversions from lib/IR, NFC 2015-10-08 23:49:46 +00:00
Type.cpp [IR] Mark the Type subclass helper methods 'inline' and move their definitions to DerivedTypes.h so they can be inlined by the compiler. 2015-12-25 04:06:20 +00:00
TypeFinder.cpp Re-reapply "[IR] Move optional data in llvm::Function into a hungoff uselist" 2015-12-19 08:52:49 +00:00
Use.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
User.cpp [IR] Teach llvm::User to co-allocate a descriptor. 2015-09-24 01:00:49 +00:00
Value.cpp NFC. Introduce Value::getPointerDerferecnceableBytes 2016-04-27 12:51:01 +00:00
ValueSymbolTable.cpp Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 20:50:44 +00:00
ValueTypes.cpp Add isScalarInteger helper to EVT/MVT 2016-03-01 18:01:28 +00:00
Verifier.cpp Separate the Verifier into an analysis and a transformation pass and 2016-05-09 19:57:29 +00:00