- Oct 24, 2009
-
-
Fariborz Jahanian authored
llvm-svn: 84981
-
Fariborz Jahanian authored
in a certain project. Need to have a permananent fix later (FIXME added). llvm-svn: 84980
-
Douglas Gregor authored
parameters. Fixes PR5103. llvm-svn: 84979
-
Evan Cheng authored
llvm-svn: 84978
-
Jim Grosbach authored
llvm-svn: 84977
-
John McCall authored
but also remove some methods that cause ambiguities, and generally make CanQual<blah> more analogous to QualType. llvm-svn: 84976
-
http://llvm.org/PR4822Jeffrey Yasskin authored
compiled. When functions are compiled, they accumulate references in the JITResolver's stub maps. This patch removes those references when the functions are destroyed. It's illegal to destroy a Function when any thread may still try to call its machine code. This patch also updates r83987 to use ValueMap instead of explicit CallbackVHs and fixes a couple "do stuff inside assert()" bugs from r84522. llvm-svn: 84975
-
Douglas Gregor authored
so that we maintain better source information after template argument deduction and overloading resolves down to a specific declaration. Found and dealt with a few more cases that FixOverloadedFunctionReference didn't cope with. (Finally) added a test case that puts together this change with the DeclRefExpr change to (optionally) include nested-name-specifiers and explicit template argument lists. llvm-svn: 84974
-
Sebastian Redl authored
llvm-svn: 84973
-
- Oct 23, 2009
-
-
John McCall authored
in the DeclaratorInfo, if one is present. Preserve source information through template instantiation. This is made more complicated by the possibility that ParmVarDecls don't have DIs, which is possibly worth fixing in the future. Also preserve source information for function parameters in ObjC method declarations. llvm-svn: 84971
-
John McCall authored
source info block with a single location. llvm-svn: 84970
-
Victor Hernandez authored
Remove AllocationInst. Since MallocInst went away, AllocaInst is the only subclass of AllocationInst, so it no longer is necessary. llvm-svn: 84969
-
Fariborz Jahanian authored
instead of crashing in code gen. llvm-svn: 84968
-
Jeffrey Yasskin authored
Evan Cheng. llvm-svn: 84967
-
Sebastian Redl authored
llvm-svn: 84964
-
Sebastian Redl authored
Apply the special enum restrictions from [over.match.oper]p3b2 in argument-dependent lookup too. This fixes PR5244. llvm-svn: 84963
-
Douglas Gregor authored
qualified reference to a declaration that is not a non-static data member or non-static member function, e.g., namespace N { int i; } int j = N::i; Instead, extend DeclRefExpr to optionally store the qualifier. Most clients won't see or care about the difference (since QualifierDeclRefExpr inherited DeclRefExpr). However, this reduces the number of top-level expression types that clients need to cope with, brings the implementation of DeclRefExpr into line with MemberExpr, and simplifies and unifies our handling of declaration references. Extended DeclRefExpr to (optionally) store explicitly-specified template arguments. This occurs when naming a declaration via a template-id (which will be stored in a TemplateIdRefExpr) that, following template argument deduction and (possibly) overload resolution, is replaced with a DeclRefExpr that refers to a template specialization but maintains the template arguments as written. llvm-svn: 84962
-
Fariborz Jahanian authored
pointer-to-member type conversion follwed by a pointer-to-member standard conversion. llvm-svn: 84955
-
Dan Gohman authored
the scale overflows pointer-sized arithmetic. This fixes PR5281. llvm-svn: 84954
-
John McCall authored
changed under the transform. llvm-svn: 84953
-
Dan Gohman authored
exact backedge taken count, when checking for infinite loops. This allows it to delete loops with multiple exit conditions. llvm-svn: 84952
-
Benjamin Kramer authored
TreeTransform.h:2333: warning: suggest parentheses around && within || llvm-svn: 84949
-
John McCall authored
llvm-svn: 84947
-
Chris Lattner authored
llvm-svn: 84943
-
Chris Lattner authored
implements something out of Target/README.txt producing: _foo: ## @foo movl 4(%esp), %eax movapd LCPI1_0, %xmm0 movapd %xmm0, (%eax) ret $4 instead of: _foo: ## @foo movl 4(%esp), %eax movapd _b, %xmm0 mulpd LCPI1_0, %xmm0 addpd _a, %xmm0 movapd %xmm0, (%eax) ret $4 llvm-svn: 84942
-
Chris Lattner authored
bytes (i256). llvm-svn: 84941
-
Chris Lattner authored
non-type-safe constant initializers. This sort of thing happens quite a bit for 4-byte loads out of string constants, unions, bitfields, and an interesting endianness check from sqlite, which is something like this: const int sqlite3one = 1; # define SQLITE_BIGENDIAN (*(char *)(&sqlite3one)==0) # define SQLITE_LITTLEENDIAN (*(char *)(&sqlite3one)==1) # define SQLITE_UTF16NATIVE (SQLITE_BIGENDIAN?SQLITE_UTF16BE:SQLITE_UTF16LE) all of these macros now constant fold away. This implements PR3152 and is based on a patch started by Eli, but heavily modified and extended. llvm-svn: 84936
-
Tanya Lattner authored
llvm-svn: 84934
-
Evan Cheng authored
llvm-svn: 84932
-
Evan Cheng authored
llvm-svn: 84931
-
Ted Kremenek authored
llvm-svn: 84930
-
Dale Johannesen authored
they don't get lost; I don't think the originator has write access. llvm-svn: 84928
-
Ted Kremenek authored
identifier. This caused a crash when reading PCH files that contained long identifier names. The issue is that 'StrLenPtr' was previously a 'const char *', meaning the byte loaded from it would be interpretted as a signed integer. If the topmost bit was set, conversion to 'unsigned' would extend that bit, causing an overflow. The solution is to make 'StrLenPtr' an 'unsigned char *', always treating the value as an unsigned integer. This fixes: <rdar://problem/7328900> llvm-svn: 84925
-
John Thompson authored
llvm-svn: 84924
-
Mike Stump authored
llvm-svn: 84923
-
Mike Stump authored
llvm-svn: 84922
-
Bill Wendling authored
llvm-svn: 84921
-
John McCall authored
one was PCH'ed without any. llvm-svn: 84920
-
Victor Hernandez authored
llvm-svn: 84919
-
Bill Wendling authored
does. llvm-svn: 84916
-