llvm-6502/lib
Chandler Carruth d15717170f Fix a DenseMap iterator invalidation bug causing lots of crashes when
type units were enabled. The crux of the issue is that the
addDwarfTypeUnitType routine can end up being indirectly recursive. In
this case, the reference into the dense map (TU) became invalid by the
time we popped all the way back and used it to add the DIE type
signature.

Instead, use early return in the case where we can bypass the recursive
step and creating a type unit. Then use the pointer to the new type unit
to set up the DIE type signature in the case where we have to.

I tried really hard to reduce a testcase for this, but it's really
annoying. You have to get this to be mid-recursion when the densemap
grows. Even if we got a test case for this today, it'd be very unlikely
to continue exercising this pattern.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199630 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-20 08:07:07 +00:00
..
Analysis [PM] Make the verifier work independently of any pass manager. 2014-01-19 02:22:18 +00:00
AsmParser Add an inalloca flag to allocas 2014-01-17 23:58:17 +00:00
Bitcode Make parseBitcodeFile return an ErrorOr<Module *>. 2014-01-15 01:08:23 +00:00
CodeGen Fix a DenseMap iterator invalidation bug causing lots of crashes when 2014-01-20 08:07:07 +00:00
DebugInfo llvm-dwarfdump: type unit dwo support 2014-01-09 05:08:24 +00:00
ExecutionEngine Attempt to fix the MSVC build. 2014-01-16 05:09:32 +00:00
IR [PM] Make the verifier work independently of any pass manager. 2014-01-19 02:22:18 +00:00
IRReader Make parseBitcodeFile return an ErrorOr<Module *>. 2014-01-15 01:08:23 +00:00
Linker Reapply r194218 with fix: 2014-01-16 06:29:36 +00:00
LTO [LTO] Add a hook to map LLVM diagnostics into the clients of LTO. 2014-01-15 22:04:35 +00:00
MC Tweak the MCExternalSymbolizer to print references to C string literals 2014-01-16 18:43:56 +00:00
Object 80-column. 2014-01-17 22:11:27 +00:00
Option Avoid buffer copies when a Twine already is a StringRef. 2013-12-03 18:18:28 +00:00
Support ARM: update build attributes for ABI r2.09 2014-01-19 08:25:35 +00:00
TableGen [TableGen] Correctly generate implicit anonymous prototype defs in multiclasses 2014-01-02 20:47:09 +00:00
Target [AArch64 NEON] Fix a bug caused by undef lane when generating VEXT. 2014-01-20 07:32:26 +00:00
Transforms Fix all the remaining lost-fast-math-flags bugs I've been able to find. The most important of these are cases in the generic logic for combining BinaryOperators. 2014-01-20 07:44:53 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile