1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/lib/IR
Mehdi Amini 62ba5df396 Fix auto-upgrade of TBAA tags in Bitcode Reader
If TBAA is on an intrinsic and it gets upgraded, it'll delete the call
instruction that we collected in a vector. Even if we were to use
WeakVH, it'll drop the TBAA and we'll hit the assert on the upgrade
path.

r263673 gave a shot to make sure the TBAA upgrade happens before
intrinsics upgrade, but failed to account for all cases.

Instead of collecting instructions in a vector, this patch makes it
just upgrade the TBAA on the fly, because metadata are always
already loaded at this point.

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

llvm-svn: 281549
2016-09-14 22:29:59 +00:00
..
AsmWriter.cpp DebugInfo: New metadata representation for global variables. 2016-09-13 01:12:59 +00:00
AttributeImpl.h
Attributes.cpp Rationalise the attribute getter/setter methods on Function and CallSite. 2016-09-09 04:50:38 +00:00
AttributesCompatFunc.td
AttributeSetNode.h
AutoUpgrade.cpp Fix auto-upgrade of TBAA tags in Bitcode Reader 2016-09-14 22:29:59 +00:00
BasicBlock.cpp
CMakeLists.txt
Comdat.cpp
ConstantFold.cpp Replace "fallthrough" comments with LLVM_FALLTHROUGH 2016-08-17 05:10:15 +00:00
ConstantFold.h
ConstantRange.cpp
Constants.cpp [Constant] remove fdiv and frem from canTrap() 2016-08-29 15:27:17 +00:00
ConstantsContext.h
Core.cpp IR: Don't cast the end iterator to Instruction* 2016-08-11 15:45:04 +00:00
DataLayout.cpp
DebugInfo.cpp
DebugInfoMetadata.cpp DebugInfo: New metadata representation for global variables. 2016-09-13 01:12:59 +00:00
DebugLoc.cpp
DiagnosticInfo.cpp [DiagnosticInfo] Add a diagnostic class for the fallback of ISel. 2016-08-31 18:42:55 +00:00
DiagnosticPrinter.cpp
DIBuilder.cpp DebugInfo: New metadata representation for global variables. 2016-09-13 01:12:59 +00:00
Dominators.cpp [GenericDomTree] Change GenericDomTree to use NodeRef in GraphTraits. NFC. 2016-08-17 20:01:58 +00:00
Function.cpp Add comments and an assert to follow-up on r279113. NFC. 2016-08-22 20:18:28 +00:00
GCOV.cpp
Globals.cpp
GVMaterializer.cpp
InlineAsm.cpp Replace "fallthrough" comments with LLVM_FALLTHROUGH 2016-08-17 05:10:15 +00:00
Instruction.cpp [Profile] refactor meta data copying/swapping code 2016-08-23 15:39:03 +00:00
Instructions.cpp Rationalise the attribute getter/setter methods on Function and CallSite. 2016-09-09 04:50:38 +00:00
IntrinsicInst.cpp
IRBuilder.cpp
IRPrintingPasses.cpp Consistently use ModuleAnalysisManager 2016-08-09 00:28:38 +00:00
LegacyPassManager.cpp Use the range variant of find instead of unpacking begin/end 2016-08-11 22:21:41 +00:00
LLVMBuild.txt
LLVMContext.cpp
LLVMContextImpl.cpp
LLVMContextImpl.h DebugInfo: New metadata representation for global variables. 2016-09-13 01:12:59 +00:00
Mangler.cpp
MDBuilder.cpp
Metadata.cpp DebugInfo: New metadata representation for global variables. 2016-09-13 01:12:59 +00:00
MetadataImpl.h
Module.cpp
ModuleSummaryIndex.cpp
Operator.cpp
OptBisect.cpp
Pass.cpp
PassManager.cpp [PM] Introduce an abstraction for all the analyses over a particular IR 2016-08-20 04:57:28 +00:00
PassRegistry.cpp Use the range variant of find instead of unpacking begin/end 2016-08-11 22:21:41 +00:00
ProfileSummary.cpp
Statepoint.cpp
SymbolTableListTraitsImpl.h ADT: Remove external uses of ilist_iterator, NFC 2016-09-03 01:22:56 +00:00
Type.cpp
TypeFinder.cpp
Use.cpp
User.cpp
Value.cpp Add an isSwiftError predicate to Value 2016-09-10 18:14:54 +00:00
ValueSymbolTable.cpp Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes. 2016-08-23 17:14:32 +00:00
ValueTypes.cpp getVectorElementType().getSizeInBits() -> getScalarSizeInBits() ; NFCI 2016-09-14 16:37:15 +00:00
Verifier.cpp Verifier: Mark orphaned DICompileUnits as a debug info failure. 2016-09-14 17:30:37 +00:00