- Oct 23, 2009
-
-
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
-
John McCall authored
Just r84734 now that some fundamental work has been completed. llvm-svn: 84914
-
John McCall authored
llvm-svn: 84913
-
David Goodwin authored
Allow the target to select the level of anti-dependence breaking that should be performed by the post-RA scheduler. The default is none. llvm-svn: 84911
-
Fariborz Jahanian authored
both scalar and aggregates. llvm-svn: 84910
-
Fariborz Jahanian authored
llvm-svn: 84909
-
John McCall authored
the DeclaratorInfo, one for semantic analysis), just build a single type whose canonical type will reflect the semantic analysis (assuming the type is well-formed, of course). To make that work, make a few changes to the type system: * allow the nominal pointee type of a reference type to be a (possibly sugared) reference type. Also, preserve the original spelling of the reference type. Both of these can be ignored on canonical reference types. * Remove ObjCProtocolListType and preserve the associated source information on the various ObjC TypeLocs. Preserve the spelling of protocol lists except in the canonical form. * Preserve some level of source type structure on parameter types, but canonicalize on the canonical function type. This is still a WIP. Drops code size, makes strides towards accurate source location representation, slight (~1.7%) progression on Cocoa.h because of complexity drop. llvm-svn: 84907
-
Ted Kremenek authored
Always emit error diagnostics when an error occurs within clang_createTranslationUnit() and clang_createTranslationUnitFromSource(). These kind of errors are ones that shouldn't be missed. llvm-svn: 84904
-
Ted Kremenek authored
Use 'waitpid' instead of 'wait'. Basing Program::Wait() on 'wait()' prevents it being correct within a multithreaded context. This address: PR 5277 (Program::Wait is unsafe to call from multiple threads). Note: If waitpid() turns out to be non-portable, we can add more autoconf magic, or look into another solution. llvm-svn: 84903
-
Jeffrey Yasskin authored
gcc-4.4. llvm-svn: 84902
-
Eric Christopher authored
llvm-svn: 84900
-
- Oct 22, 2009
-
-
Benjamin Kramer authored
llvm-svn: 84898
-
Jeffrey Yasskin authored
llvm-svn: 84895
-
Bill Wendling authored
llvm-svn: 84894
-
John Thompson authored
llvm-svn: 84893
-
Jeffrey Yasskin authored
llvm-svn: 84892
-
John McCall authored
llvm-svn: 84891
-
Jeffrey Yasskin authored
even when keys get RAUWed and deleted during its lifetime. By default the keys act like WeakVHs, but users can pass a third template parameter to configure how updates work and whether to do anything beyond updating the map on each action. It's also possible to automatically acquire a lock around ValueMap updates triggered by RAUWs and deletes, to support the ExecutionEngine. llvm-svn: 84890
-
Chris Lattner authored
llvm-svn: 84889
-
Chris Lattner authored
llvm-svn: 84888
-
Devang Patel authored
llvm-svn: 84886
-
Devang Patel authored
llvm-svn: 84885
-
Devang Patel authored
llvm-svn: 84884
-
Douglas Gregor authored
When replacing a template-id expression with a declaration reference expression after overloading completes, make sure to keep the qualifier. Still not ready with that test-case... llvm-svn: 84880
-
Devang Patel authored
llvm-svn: 84878
-