summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Teach the static analyzer that NSLog() and friends do not hold on to object ↵Ted Kremenek2012-05-082-0/+20
| | | | | | references (thus extending their lifetime). llvm-svn: 156346
* Extract methods for joining physregs.Jakob Stoklund Olesen2012-05-081-77/+103
| | | | | | No functional change. llvm-svn: 156345
* Updated LLVM to take a fix for disassembly ofSean Callanan2012-05-081-1/+1
| | | | | | Thumb branch operands. llvm-svn: 156344
* Process attributes in the order they appear in the source code. This make clangRafael Espindola2012-05-076-14/+19
| | | | | | | | | | | | | | match gcc behavior for two conflicting visibilities in the same decl. It also makes handling of dllimport/dllexport more natural. As a bonus we now warn on the dllimport in void __attribute__((dllimport)) foo13(); void __attribute__((dllexport)) foo13(); as does gcc. llvm-svn: 156343
* Naming convention and whitespace. No functional change.Jakob Stoklund Olesen2012-05-071-68/+67
| | | | llvm-svn: 156342
* [analyzer]Turn on MallocSizeOfChecker by default; shorten the diagnosticAnna Zaks2012-05-073-17/+16
| | | | llvm-svn: 156341
* Updated to a more meaningful macro name.Johnny Chen2012-05-072-3/+3
| | | | llvm-svn: 156340
* [libclang] Actually commit the changes to make libclang's RecursiveASTVisitorArgyrios Kyrtzidis2012-05-071-190/+121
| | | | | | data-recursive for statements. llvm-svn: 156339
* Fix the problem that 'help breakpoint set' is printing a lot of redundant lines.Johnny Chen2012-05-073-2/+9
| | | | | | | | | | Correctly specify the LLDB_OPT_SET's that the 'shlib' command option belongs to by using a newly added macro like this: #define LLDB_OPT_NOT_10 ( LLDB_OPT_SET_FROM(1, 10) & ~LLDB_OPT_SET_10 ) rdar://problem/11393864 llvm-svn: 156337
* Add an -F option to the redo.py script to selectively re-run only those ↵Johnny Chen2012-05-071-5/+20
| | | | | | | | | | | | failed sessions whose filenames contain the component(s) specified. For example: ./redo.py -F x86_64 -n 2012-05-07-15_28_24 will redo the failed sessions under the 2012-05-07-15_28_24 directory, but only for session names which contain 'x86_64' in it. llvm-svn: 156335
* Coalesce subreg-subreg copies.Jakob Stoklund Olesen2012-05-071-14/+25
| | | | | | | | | | | | | | | | | At least some of them: %vreg1:sub_16bit = COPY %vreg2:sub_16bit; GR64:%vreg1, GR32: %vreg2 Previously, we couldn't figure out that the above copy could be eliminated by coalescing %vreg2 with %vreg1:sub_32bit. The new getCommonSuperRegClass() hook makes it possible. This is not very useful yet since the unmodified part of the destination register usually interferes with the source register. The coalescer needs to understand sub-register interference checking first. llvm-svn: 156334
* Remove C Backend from the bugpoint docsPete Cooper2012-05-071-8/+8
| | | | llvm-svn: 156333
* [libclang] Put the RecursiveASTVisitor in libclang in a cxindex namespace.Argyrios Kyrtzidis2012-05-073-2/+4
| | | | llvm-svn: 156331
* Un-revert r156142, "[libclang] Bring back ↵Argyrios Kyrtzidis2012-05-071-0/+6
| | | | | | | | BodyIndexer::TraverseCXXOperatorCallExpr". It was reverted on r156253. llvm-svn: 156330
* [libclang] Use a copy of the data-recursive RecursiveASTVisitor inside libclang.Argyrios Kyrtzidis2012-05-073-2/+2245
| | | | | | | | | | This is temporary until we settle on how to make the main RecursiveASTVisitor safe. There are some modifications on the original version, to avoid extreme memory usage when compiling for release. rdar://11179167 llvm-svn: 156329
* Add an MF argument to TRI::getPointerRegClass() and TII::getRegClass().Jakob Stoklund Olesen2012-05-0730-49/+73
| | | | | | | | | | | | | The getPointerRegClass() hook can return register classes that depend on the calling convention of the current function (ptr_rc_tailcall). So far, we have been able to infer the calling convention from the subtarget alone, but as we add support for multiple calling conventions per target, that no longer works. Patch by Yiannis Tsiouris! llvm-svn: 156328
* Fix bug in TRI::getCommonSuperRegClass().Jakob Stoklund Olesen2012-05-071-0/+1
| | | | | | Test cases for this code are coming. It is not used for anything yet. llvm-svn: 156327
* make registerPollyPreoptPasses staticSebastian Pop2012-05-072-9/+1
| | | | llvm-svn: 156326
* make registerPollyPasses static, remove paramSebastian Pop2012-05-072-6/+2
| | | | llvm-svn: 156325
* Teach DAG combine to fold x-x to 0.0 when unsafe FP math is enabled.Owen Anderson2012-05-072-0/+22
| | | | llvm-svn: 156324
* Teach reassociate to commute FMul's and FAdd's in order to canonicalize the ↵Owen Anderson2012-05-072-4/+44
| | | | | | order of their operands across instructions. This allows for greater CSE opportunities. llvm-svn: 156323
* Remove the 'intrin.h' builtin header file and its tests for now.Chandler Carruth2012-05-073-380/+0
| | | | | | | | | After discussion with several people, including Doug Gregor, we've decided to change our approach here. If you have questions about this header file, the commit removing it, etc., please reach out to me off-list. llvm-svn: 156322
* make this test a little more useful. I'll add more tests for bound checking ↵Nuno Lopes2012-05-071-1/+11
| | | | | | once -fbounds-checking patch gets in llvm-svn: 156321
* [analyzer] Fix a crash in triggered by OSAtomicChecker.Anna Zaks2012-05-072-4/+16
| | | | | | | | | | SValBuilder should return an UnknownVal() when comparison of int and ptr fails. Previous to this commit, it went on assuming that we are dealing with pointer arithmetic. PR12509, radar://11390991 llvm-svn: 156320
* Make IntelJITEvents and OProfileJIT as optional libraries and addPreston Gurd2012-05-077-8/+57
| | | | | | | | | | | | optional library support to the llvm-build tool: - Add new command line parameter to llvm-build: “--enable-optional-libraries” - Add handing of new llvm-build library type “OptionalLibrary” - Update Cmake and automake build systems to pass correct flags to llvm-build based on configuration Patch by Dan Malea! llvm-svn: 156319
* Constify (trivially) ImmutableSet::iterator::getVisitState().Jordy Rose2012-05-071-1/+1
| | | | | | This was probably intended all along. llvm-svn: 156318
* Add TRI::getCommonSuperRegClass().Jakob Stoklund Olesen2012-05-072-0/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | This function is a generalization of getMatchingSuperRegClass() to the symmetric case where both sides are using a sub-register index. It will find a super-register class and sub-register indexes that make this diagram commute: PreA SuperRC ----------> RCA | | | | PreB | | SubA | | | | V V RCB ----------> SubRC SubB This can be used to coalesce copies like: %vreg1:sub16 = COPY %vreg2:sub16; GR64:%vreg1, GR32: %vreg2 llvm-svn: 156317
* Fix a regression from r147481. This combine should only happen if there is aChad Rosier2012-05-072-11/+14
| | | | | | | single use. rdar://11360370 llvm-svn: 156316
* [analyzer] Fixup for r155244: PurgeDeadSymbols should subclass StmtPointAnna Zaks2012-05-071-6/+6
| | | | | | | | | To solve the inconsistency pointed out in Erik's review, refactor class hierarchy of ProgramPoints so that PreStmtPurgeDeadSymbols and PostStmtPurgeDeadSymbols both subclass from StmtPoint instead of PostStmt. llvm-svn: 156315
* Move the el_source() call after the section of code which sets up the ↵Johnny Chen2012-05-071-3/+3
| | | | | | | | default "ctrl-r" and "ctrl-w" bindings so that user-provided .editrc has a chance to override the lldb's default key bindings. llvm-svn: 156314
* Don't assume size_t is unsigned long long.Matt Beaumont-Gay2012-05-071-3/+1
| | | | | | Fixes a -Woverflow warning from gcc when building for 32-bit platforms. llvm-svn: 156313
* X86: optimization for -(x != 0)Manman Ren2012-05-073-0/+52
| | | | | | | | | | | | | | | | | This patch will optimize -(x != 0) on X86 FROM cmpl $0x01,%edi sbbl %eax,%eax notl %eax TO negl %edi sbbl %eax %eax In order to generate negl, I added patterns in Target/X86/X86InstrCompiler.td: def : Pat<(X86sub_flag 0, GR32:$src), (NEG32r GR32:$src)>; rdar: 10961709 llvm-svn: 156312
* remove code to add bound checks for simple array accesses, since those are ↵Nuno Lopes2012-05-071-25/+0
| | | | | | | | already covered by the check with the objectsize builtin remove the comparison of objectsize with -1. since it's an unsigned comparison, it will always succeed if objectsize returns -1, which is enough to have the check removed llvm-svn: 156311
* [analyzer]Fixup r156215: use StopTracking summary instead of ScratchArgsAnna Zaks2012-05-071-4/+2
| | | | | | | As per Jordy's and Ted's comment, use the default StopTracking summary instead of adding all arguments to ScratchArs. llvm-svn: 156310
* SFINAE __bit_iterator such that it will only get instantiated with a ↵Howard Hinnant2012-05-073-6/+7
| | | | | | container that has the nested type __storage_type. This prevents accidental instantiation such as in http://llvm.org/bugs/show_bug.cgi?id=12755. This fixes http://llvm.org/bugs/show_bug.cgi?id=12755. llvm-svn: 156308
* Updated LLVM to fix bad disassembly of operandsSean Callanan2012-05-071-172/+191
| | | | | | | and occasionally failure to recognize instructions. This problem affects ARM and Thumb BLX instructions. llvm-svn: 156307
* add some more missing ifdef CLOOG_FOUNDSebastian Pop2012-05-073-2/+10
| | | | llvm-svn: 156306
* add a check for ISL codegen at configure timeSebastian Pop2012-05-0710-14/+152
| | | | llvm-svn: 156305
* Revert r156097, which appears to be causing some breakage.Douglas Gregor2012-05-072-11/+2
| | | | llvm-svn: 156304
* Fix includes for unices that don't have chdir declared transitively.Manuel Klimek2012-05-071-1/+3
| | | | llvm-svn: 156302
* Includes direct.h for windows compilation.Manuel Klimek2012-05-071-0/+5
| | | | llvm-svn: 156301
* Remove repeated word.Filipe Cabecinhas2012-05-071-1/+1
| | | | llvm-svn: 156300
* Fixes resolution of relative paths when running clang tools.Manuel Klimek2012-05-073-19/+40
| | | | | | | | | The chdir is not the perfect fix, as it is thread hostile. The real fix will be to make -working-dir work correctly, which will take time to implement. Before that, the tooling library cannot be used concurrently. llvm-svn: 156299
* Fixed UserDefinedLiteral source locations.Abramo Bagnara2012-05-071-1/+12
| | | | llvm-svn: 156298
* When we suppress an error due to SFINAE, stash the diagnostic away with theRichard Smith2012-05-077-22/+149
| | | | | | | | | | | | | | | | | | | overload candidate, and include its message in any subsequent 'candidate not viable due to substitution failure' note we may produce. To keep the note small (since the 'overload resolution failed' diagnostics are often already very verbose), the text of the SFINAE diagnostic is included as part of the text of the note, and any notes which were attached to it are discarded. There happened to be spare space in OverloadCandidate into which a PartialDiagnosticAt could be squeezed, and this patch goes to lengths to avoid unnecessary PartialDiagnostic copies, resulting in no slowdown that I could measure. (Removal in passing of some PartialDiagnostic copies has resulted in a slightly smaller clang binary overall.) Even on a torture test, I was unable to measure a memory increase of above 0.2%. llvm-svn: 156297
* Convert AVX non-temporal store builtins to LLVM-native IR. This was ↵Craig Topper2012-05-071-0/+3
| | | | | | previously done for SSE builtins. llvm-svn: 156296
* Add support for the 'x' constraint.Eric Christopher2012-05-071-1/+8
| | | | | | Patch by Jack Carter. llvm-svn: 156295
* Add support for the 'l' constraint.Eric Christopher2012-05-072-0/+18
| | | | | | Patch by Jack Carter. llvm-svn: 156294
* Add support for the 'c' constraint.Eric Christopher2012-05-072-2/+20
| | | | | | Patch by Jack Carter. llvm-svn: 156293
* Add support for the 'P' constraint.Eric Christopher2012-05-073-0/+33
| | | | | | Patch by Jack Carter. llvm-svn: 156292
OpenPOWER on IntegriCloud