- Jul 21, 2010
-
-
Zhongxing Xu authored
llvm-svn: 108988
-
Nate Begeman authored
intmax_t is __int64 (long long to clang), per VS 2010 stdint.h llvm-svn: 108980
-
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
-
Sebastian Redl authored
llvm-svn: 108974
-
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
-
Sebastian Redl authored
llvm-svn: 108959
-
Sebastian Redl authored
llvm-svn: 108956
-
Sebastian Redl authored
llvm-svn: 108954
-
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
-
Sebastian Redl authored
llvm-svn: 108942
-
Chris Lattner authored
llvm-svn: 108937
-
Chris Lattner authored
llvm-svn: 108936
-
Sebastian Redl authored
llvm-svn: 108930
-
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
-
Douglas Gregor authored
which is the part of the file that contains all of the initial comments, includes, and preprocessor directives that occur before any of the actual code. Added a new -print-preamble cc1 action that is only used for testing. llvm-svn: 108913
-
Dan Gohman authored
avoiding MDNode overhead. llvm-svn: 108911
-
Ted Kremenek authored
llvm-svn: 108907
-
Ted Kremenek authored
llvm-svn: 108906
-
Ted Kremenek authored
llvm-svn: 108905
-
Ted Kremenek authored
llvm-svn: 108904
-
Ted Kremenek authored
derived 'PrintfConversionSpecifier' from this class. We will do the same for 'ScanfConversionSpecifier'. llvm-svn: 108903
-
Ted Kremenek authored
with analyze_scanf::ConversionSpecifier::Kind. llvm-svn: 108902
-
Ted Kremenek authored
llvm-svn: 108901
-
Ted Kremenek authored
llvm-svn: 108900
-
Ted Kremenek authored
llvm-svn: 108899
-
Ted Kremenek authored
llvm-svn: 108898
-
Ted Kremenek authored
analagous enum in analyze_scanf. This is prep for refactoring the logic for handling ConversionSpecifiers for both scanf and printf. llvm-svn: 108897
-
Ted Kremenek authored
llvm-svn: 108896
-
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
-