- Jul 30, 2010
-
-
John McCall authored
(e.g. due to a broken template argument) following template parameters. Fixes rdar://problem/8254267 llvm-svn: 109853
-
Duncan Sands authored
llvm-svn: 109852
-
Duncan Sands authored
handles with a pointer to the containing map. When a map is copied, these pointers need to be corrected to point to the new map. If not, then consider the case of a map M1 which maps a value V to something. Create a copy M2 of M1. At this point there are two value handles on V, one representing V as a key in M1, the other representing V as a key in M2. But both value handles point to M1 as the containing map. Now delete V. The value handles remove themselves from their containing map (which destroys them), but only the first value handle is successful: the second one cannot remove itself from M1 as (once the first one has removed itself) there is nothing there to remove; it is therefore not destroyed. This causes an assertion failure "All references to V were not removed?". llvm-svn: 109851
-
John McCall authored
some downstream crashes, among them rdar://problem/8229840. llvm-svn: 109850
-
John McCall authored
an initializer requiring temporary object disposal. Fixes rdar:://problem/8246444. llvm-svn: 109849
-
Chris Lattner authored
The X86-64 ABI code didn't handle the case when a struct would get classified and turn up as "NoClass INTEGER" for example. This is perfectly possible when the first slot is all padding (e.g. due to empty base classes). In this situation, the first 8-byte doesn't take a register at all, only the second 8-byte does. This fixes this by enhancing the x86-64 abi stuff to allow and handle this case, reverts the broken fix for PR5831, and enhances the target independent stuff to be able to handle an argument value in registers being accessed at an offset from the memory value. This is the last x86-64 calling convention related miscompile that I'm aware of. llvm-svn: 109848
-
Daniel Dunbar authored
llvm-svn: 109847
-
Jim Grosbach authored
have 4 bits per register in the operand encoding), but have undefined behavior when the operand value is 13 or 15 (SP and PC, respectively). The trivial coalescer in linear scan sometimes will merge a copy from SP into a subsequent instruction which uses the copy, and if that instruction cannot legally reference SP, we get bad code such as: mls r0,r9,r0,sp instead of: mov r2, sp mls r0, r9, r0, r2 This patch adds a new register class for use by Thumb2 that excludes the problematic registers (SP and PC) and is used instead of GPR for those operands which cannot legally reference PC or SP. The trivial coalescer explicitly requires that the register class of the destination for the COPY instruction contain the source register for the COPY to be considered for coalescing. This prevents errant instructions like that above. PR7499 llvm-svn: 109842
-
-
-
Sebastian Redl authored
Make macro weirdness in chained PCH work. This required changing the way PCHReader and PCHWriter are initialized to correctly pick up all initializer. On the upside, this means that there is far less repetition in the dependent PCH now. llvm-svn: 109823
-
-
Gabor Greif authored
llvm-svn: 109821
-
Eric Christopher authored
llvm-svn: 109820
-
Benjamin Kramer authored
llvm-svn: 109818
-
Daniel Dunbar authored
sections on", this change uncovered a possible linker bug which resulted in the wrong messages getting dispatched. Backing this out while we investigate... llvm-svn: 109817
-
Daniel Dunbar authored
llvm-svn: 109816
-
Bob Wilson authored
completed a successful build. llvm-svn: 109815
-
Nate Begeman authored
llvm-svn: 109814
-
Nate Begeman authored
llvm-svn: 109813
-
Bob Wilson authored
llvm-svn: 109810
-
Daniel Dunbar authored
llvm-svn: 109809
-
Douglas Gregor authored
Objective-C object and interface types. This is part of PR7741. llvm-svn: 109808
-
- Jul 29, 2010
-
-
Chris Lattner authored
that needs it and remove getCoerceResult. llvm-svn: 109807
-
Johnny Chen authored
llvm-svn: 109806
-
Chris Lattner authored
llvm-svn: 109805
-
Chris Lattner authored
float, the special case hack in getCoerceResult can go away. llvm-svn: 109804
-
Johnny Chen authored
llvm-svn: 109803
-
Greg Clayton authored
llvm-svn: 109802
-
Benjamin Kramer authored
llvm-svn: 109801
-
Bob Wilson authored
transformations. llvm-svn: 109800
-
Dale Johannesen authored
integers with mov + vdup. 8003375. This is currently disabled by default because LICM will not hoist a VDUP, so it pessimizes the code if the construct occurs inside a loop (8248029). llvm-svn: 109799
-
Greg Clayton authored
llvm-svn: 109798
-
Argyrios Kyrtzidis authored
llvm-svn: 109797
-
Argyrios Kyrtzidis authored
Weak references and variables that are not definitions are not required for early codegen/deserialization. llvm-svn: 109796
-
Greg Clayton authored
Fixed "void *ClangASTContext::CreatePointerType (void *clang_type);" to return objective C pointers for clang::Type::TypeClass types that are "clang::Type::ObjCObject" and "clang::Type::ObjCInterface" . llvm-svn: 109795
-
Johnny Chen authored
llvm-svn: 109794
-
Greg Clayton authored
parens and to have a space before the value. Before: (lldb) expr 3 + 1 int4 (lldb) expr 3 + 1 (int) 4 llvm-svn: 109793
-
Sean Callanan authored
code model with the JIT. llvm-svn: 109792
-
Howard Hinnant authored
llvm-svn: 109791
-