summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* prune #includes a little.Chris Lattner2010-07-205-6/+8
| | | | llvm-svn: 108929
* Add some more handlers for ELF section directives.Matt Fleming2010-07-201-0/+54
| | | | llvm-svn: 108928
* Follow the implementation approach suggested by PR6687,Chris Lattner2010-07-204-53/+21
| | | | | | | | | | | | | | | | | | | | | | 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
* Formatting.Eric Christopher2010-07-201-2/+2
| | | | llvm-svn: 108926
* fix DISABLE_EDISChris Lattner2010-07-201-2/+2
| | | | llvm-svn: 108925
* Add the rest of the SHT_* values as defined in the System V ABIMatt Fleming2010-07-201-16/+23
| | | | | | ELF specification. llvm-svn: 108924
* Add support for a new Apple-style build target, EmbeddedSim, that buildsBob Wilson2010-07-203-6/+22
| | | | | | llvmCore for the iOS Simulator. llvm-svn: 108922
* this logic is handled by tools/makefile.Chris Lattner2010-07-201-9/+2
| | | | llvm-svn: 108919
* Testcase for llvm-gcc commit r108910.Eric Christopher2010-07-201-0/+10
| | | | llvm-svn: 108918
* Adopt objc_assign_threadlocal() for __thread variables of GC types.Fariborz Jahanian2010-07-205-17/+57
| | | | | | Implements radar 8203301. llvm-svn: 108917
* Print template argument names for template class.Devang Patel2010-07-203-1/+66
| | | | llvm-svn: 108916
* implement rdar://5739832 - operator new should check for overflow in multiply,Chris Lattner2010-07-205-13/+84
| | | | | | | | | | | | | | | | | | | | 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
* Remove setDbgMetadata and getDbgMetadata; their users have beenDan Gohman2010-07-202-14/+0
| | | | | | replaced with setDebugLoc and getDebugLoc. llvm-svn: 108914
* Introduce a new lexer function to compute the "preamble" of a file,Douglas Gregor2010-07-2010-1/+223
| | | | | | | | | 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
* Let's get those buildbots green: #include is needed in the header, not just ↵Owen Anderson2010-07-202-1/+1
| | | | | | the implementation. llvm-svn: 108912
* Use getDebugLoc and setDebugLoc instead of getDbgMetadata and setDbgMetadata,Dan Gohman2010-07-201-4/+3
| | | | | | avoiding MDNode overhead. llvm-svn: 108911
* Use getDebugLoc and setDebugLoc instead of getDbgMetadata and setDbgMetadata,Dan Gohman2010-07-201-4/+2
| | | | | | avoiding MDNode overhead. llvm-svn: 108909
* apparently also missing an include.Chris Lattner2010-07-201-0/+1
| | | | llvm-svn: 108908
* Hookup checking for invalid length modifiers in scanf format strings.Ted Kremenek2010-07-203-24/+42
| | | | llvm-svn: 108907
* Move 'hasValidLengthModifier' from PrintfFormatSpecifier to FormatSpecifier.Ted Kremenek2010-07-203-78/+90
| | | | llvm-svn: 108906
* Cleanup whitespace in switch statement. No functionality change.Ted Kremenek2010-07-201-6/+7
| | | | llvm-svn: 108905
* Refactor ScanfConversionSpecifier to subclass ConversionSpecifier.Ted Kremenek2010-07-201-83/+25
| | | | llvm-svn: 108904
* Add 'ConversionSpecifier' root class in 'analyze_format_string' namespace andTed Kremenek2010-07-204-113/+143
| | | | | | | derived 'PrintfConversionSpecifier' from this class. We will do the same for 'ScanfConversionSpecifier'. llvm-svn: 108903
* Tidy up analyze_printf::ConversionSpecifier::Kind declaration, prepping it ↵Ted Kremenek2010-07-201-38/+39
| | | | | | | | to be merged with analyze_scanf::ConversionSpecifier::Kind. llvm-svn: 108902
* Rename 'UnicodeStrArg' to 'SArg'.Ted Kremenek2010-07-202-4/+4
| | | | llvm-svn: 108901
* Rename 'ConsumedSoFarArg' -> 'nArg' and 'OutIntPtrArg' to 'nArg' (scanf and ↵Ted Kremenek2010-07-204-12/+12
| | | | | | printf checking). llvm-svn: 108900
* Rename 'VoidPtrArg' to 'pArg' in printf/scanf checking.Ted Kremenek2010-07-202-6/+6
| | | | llvm-svn: 108899
* Rename 'CStrArg' to 'sArg' for printf checking to match with the analagous ↵Ted Kremenek2010-07-202-7/+7
| | | | | | enum for scanf checking. llvm-svn: 108898
* Rename analyze_printf::ConversionSpecifier::IntAsCharArg to 'cArg' to matchTed Kremenek2010-07-202-5/+5
| | | | | | | analagous enum in analyze_scanf. This is prep for refactoring the logic for handling ConversionSpecifiers for both scanf and printf. llvm-svn: 108897
* Rename diagnostic so that it can be reused with scanf checking. No ↵Ted Kremenek2010-07-202-2/+2
| | | | | | functionality change. llvm-svn: 108896
* this is in SystemChris Lattner2010-07-201-1/+1
| | | | llvm-svn: 108895
* remove option from tablegen for building static header.Chris Lattner2010-07-203-27/+1
| | | | llvm-svn: 108893
* Add new AVX instruction vinsertf128Bruno Cardoso Lopes2010-07-204-0/+31
| | | | llvm-svn: 108892
* turn this into a normal header.Chris Lattner2010-07-201-8/+11
| | | | llvm-svn: 108891
* hopefully heal the linux buildersChris Lattner2010-07-201-0/+1
| | | | llvm-svn: 108890
* tidy upGabor Greif2010-07-201-5/+3
| | | | llvm-svn: 108889
* I just fail with SVN today.Owen Anderson2010-07-202-2/+72
| | | | llvm-svn: 108888
* there is no reason to dynamically generate a static header.Chris Lattner2010-07-204-16/+71
| | | | llvm-svn: 108887
* drop edinfo.inc into the objdir for src!=objdir builds.Chris Lattner2010-07-201-2/+2
| | | | llvm-svn: 108886
* Oops.Owen Anderson2010-07-201-0/+67
| | | | llvm-svn: 108885
* delete a loop that just generates dead code. In an exampleChris Lattner2010-07-201-10/+0
| | | | | | | | | | | | | | | | | | | | 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
* Update header.Eric Christopher2010-07-201-1/+1
| | | | llvm-svn: 108883
* remove the special case for constant array sizes from Chris Lattner2010-07-201-24/+2
| | | | | | | EmitCXXNewAllocSize. This code uses IRBuilder, which does constant folding already. llvm-svn: 108882
* Fix assertion conditions.Stephen Wilson2010-07-201-2/+2
| | | | llvm-svn: 108879
* Add missing include.Stephen Wilson2010-07-201-0/+1
| | | | llvm-svn: 108878
* Convert the internal PassRegistrar class into a new, external PassRegistry ↵Owen Anderson2010-07-202-99/+21
| | | | | | class. No intended functionality change at this point. llvm-svn: 108877
* edis needs to link in mcdisassembler.Chris Lattner2010-07-201-1/+1
| | | | llvm-svn: 108876
* update cmake.Chris Lattner2010-07-201-13/+0
| | | | llvm-svn: 108875
* hopefully teach cmake to build the .inc file.Chris Lattner2010-07-201-0/+9
| | | | llvm-svn: 108874
* edinfo doesn't need to be built here.Chris Lattner2010-07-202-9/+0
| | | | llvm-svn: 108873
OpenPOWER on IntegriCloud