- Jul 22, 2010
-
-
Devang Patel authored
This is tested by objc-rbreak.exp in gdb testsuite. llvm-svn: 109050
-
- Jul 21, 2010
-
-
Devang Patel authored
Do not override known debug loc with unknown debug loc. This is tested by sections.exp in gdb testsuite. llvm-svn: 109022
-
David Chisnall authored
llvm-svn: 109012
-
David Chisnall authored
Mark the load after calling objc_msg_lookup_sender() so that it doesn't get optimised away (GNU runtime). llvm-svn: 109010
-
John McCall authored
commits. llvm-svn: 109000
-
John McCall authored
llvm-svn: 108999
-
John McCall authored
llvm-svn: 108998
-
John McCall authored
cleanup. llvm-svn: 108997
-
John McCall authored
llvm-svn: 108996
-
John McCall authored
llvm-svn: 108995
-
John McCall authored
using a lazy cleanup. llvm-svn: 108994
-
John McCall authored
llvm-svn: 108993
-
John McCall authored
the block-release unwind cleanup: we're never going to test it if we don't turn it on. llvm-svn: 108992
-
John McCall authored
from the laziness features here except better block ordering, but it removes yet another CleanupBlock use. llvm-svn: 108990
-
John McCall authored
llvm-svn: 108989
-
John McCall authored
llvm-svn: 108979
-
John McCall authored
lazy cleanups. llvm-svn: 108978
-
Douglas Gregor authored
initializer of (). Make sure to use a simple memset() when we can, or fall back to generating a loop when a simple memset will not suffice. Fixes <rdar://problem/8212208>, a regression due to my work in r107857. llvm-svn: 108977
-
John McCall authored
the last of the shared-code cleanups. llvm-svn: 108975
-
John McCall authored
a big deal, except that I want to eliminate the shared-code EH cleanups in preparation for a significant algorithmic fix. llvm-svn: 108973
-
John McCall authored
llvm-svn: 108972
-
Devang Patel authored
llvm-svn: 108951
-
Devang Patel authored
llvm-svn: 108946
-
John McCall authored
Fixes <rdar://problem/8212123>. llvm-svn: 108944
-
- Jul 20, 2010
-
-
Chris Lattner authored
doing an overflow check. llvm-svn: 108943
-
Chris Lattner authored
which generates more efficient and more obviously conformant code. We now test for overflow of the multiply then force the result to -1 if so. On X86, this generates nice code like this: __Z4testl: ## @_Z4testl ## BB#0: ## %entry subl $12, %esp movl $4, %eax mull 16(%esp) testl %edx, %edx movl $-1, %ecx cmovel %eax, %ecx movl %ecx, (%esp) call __Znam addl $12, %esp ret llvm-svn: 108927
-
Fariborz Jahanian authored
Implements radar 8203301. llvm-svn: 108917
-
Devang Patel authored
llvm-svn: 108916
-
rdar://5739832Chris Lattner authored
causing clang to compile this code into something that correctly throws a length error, fixing a potential integer overflow security attack: void *test(long N) { return new int[N]; } int main() { test(1L << 62); } We do this even when exceptions are disabled, because it is better for the code to abort than for the attack to succeed. This is heavily based on a patch that Fariborz wrote. llvm-svn: 108915
-
Dan Gohman authored
avoiding MDNode overhead. llvm-svn: 108911
-
Chris Lattner authored
like this: void *test(long N) { return new int[N][42][42]; } the loop generates two dead mul instructions: %tmp = load i64* %N.addr ; <i64> [#uses=2] %0 = mul i64 %tmp, 7056 ; <i64> [#uses=1] %1 = mul i64 %tmp, 42 ; <i64> [#uses=1] %2 = mul i64 %1, 42 ; <i64> [#uses=0] %call = call noalias i8* @_Znam(i64 %0) ; <i8*> [#uses=1] The scale of these multiplies is already handled by the typesize stuff. llvm-svn: 108884
-
Chris Lattner authored
EmitCXXNewAllocSize. This code uses IRBuilder, which does constant folding already. llvm-svn: 108882
-
Jim Grosbach authored
ObjC ABI version 2 this time. llvm-svn: 108847
-
Sebastian Redl authored
llvm-svn: 108807
-
Stuart Hastings authored
llvm-svn: 108785
-
Jim Grosbach authored
llvm-svn: 108764
-
- Jul 19, 2010
-
-
Jim Grosbach authored
sections. rdar://8207705 llvm-svn: 108749
-
- Jul 18, 2010
-
-
Eli Friedman authored
linkage specification. Not sure if this is the ideal fix, but I'm reasonably sure it's correct vs. gcc. llvm-svn: 108656
-
Chandler Carruth authored
their call expressions synthetically have the "deduced" types based on their first argument. We only insert conversions in the AST for arguments whose values require conversion to match the value type expected. This keeps PR7600 closed by maintaining the return type, but avoids assertions due to unexpected implicit casts making the type unsigned (test case added from Daniel). The magic is moved into the codegen for the atomic builtin which inserts the casts as needed at the IR level to raise the type to an integer suitable for the LLVM intrinsic. This shouldn't cause any real change in functionality, but now we can make the builtin be more truly polymorphic. llvm-svn: 108638
-
Chris Lattner authored
llvm-svn: 108633
-