summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Reset FirstID (first diagnostic's file ID) to allow for invocations of the ↵Axel Naumann2011-08-241-1/+3
| | | | | | VerifyDiagnosticsClient on several input files. llvm-svn: 138434
* Add Uses=[SP] to call instructions. This fixes a miscompilation with aRichard Osborne2011-08-242-2/+22
| | | | | | variable sized alloca. llvm-svn: 138433
* [analyzer] Fix a Heisenbug concerning object lifetimes with a hack. ↵Jordy Rose2011-08-241-1/+26
| | | | | | Hopefully a better fix coming soon. See comment for more details. llvm-svn: 138432
* [analyzer] Reapply 138390 "Clean up unused bits of CFRefCount", reverted in ↵Jordy Rose2011-08-241-11/+1
| | | | | | 138405. Ended up unrelated to any problems. llvm-svn: 138431
* [analyzer] Fix potential crasher with RAII. No functionality change. (No ↵Jordy Rose2011-08-241-38/+50
| | | | | | test because this particular circumstance requires an impossible series of events, but this is future-proofing.) llvm-svn: 138430
* RegisterPasses: Rework comments slightlyTobias Grosser2011-08-241-9/+12
| | | | llvm-svn: 138428
* Break 256-bit vector int add/sub/mul into two 128-bit operations to avoid ↵Craig Topper2011-08-243-3/+200
| | | | | | costly scalarization. Fixes PR10711. llvm-svn: 138427
* [analyzer] Reapply 138382 and 138388 (reverted in 138419 and 138420). The ↵Jordy Rose2011-08-241-102/+80
| | | | | | issue seems to have been with the uninitialized variable fixed in 138424; a fix for another Heisencrasher coming soon. llvm-svn: 138426
* Documentation on dynamic types (WIP)Enrico Granata2011-08-241-3/+47
| | | | llvm-svn: 138425
* [analyzer] Correctly initialize a variable and hopefully fix crashes.Jordy Rose2011-08-241-1/+1
| | | | llvm-svn: 138424
* Minor documentation changes (WIP)Enrico Granata2011-08-241-7/+15
| | | | llvm-svn: 138423
* Add testcase for r138411Bruno Cardoso Lopes2011-08-241-0/+16
| | | | llvm-svn: 138422
* More documentation changes (WIP)Enrico Granata2011-08-242-13/+71
| | | | llvm-svn: 138421
* Revert "[analyzer] Cleanup: Move temporary declarations of CFRefCount ↵Eric Christopher2011-08-241-11/+13
| | | | | | | | variables closer to their uses. No functionality change." This reverts commit d02b4af7bd6ca4a743c7074d64e205d718aa221d. llvm-svn: 138420
* Revert "[analyzer] Make CFRefBug and CFRefReportVisitor not dependent on ↵Eric Christopher2011-08-241-69/+89
| | | | | | | | CFRefCount. Unfortunately, CFRefReport still is. No functionality change." This reverts commit e3fb7e428b7ba0d5d902dfe3f165d70e09b03a15. llvm-svn: 138419
* Make constant aggregate constant initializers private linkage.Eric Christopher2011-08-245-11/+10
| | | | | | | | | After talking with John making this the case for all of these is the right way to go. Fixes rdar://9804564 and PR10414 llvm-svn: 138418
* [analyzer] MacOSKeychainAPIChecker: Add reasoning about functions which ↵Anna Zaks2011-08-242-18/+126
| | | | | | MIGHT deallocate the memory region allocated with SecKeychain APIs. Specifically, when the buffer is passed to CFStringCreateWithBytesNoCopy along with a custom deallocator, which might potentially correctly release the memory. llvm-svn: 138417
* Add the sentinal "no handle" value to the ResumeInst.Bill Wendling2011-08-241-0/+2
| | | | | | | | A value of -1 at a call site tells the personality function that this call isn't handled by the current function. Since the ResumeInsts are converted to calls to _Unwind_SjLj_Resume, add a (volatile) store of -1 to its 'call site'. llvm-svn: 138416
* [analyzer] MacOSKeychainAPIChecker: Retrieve the memory region which we are ↵Anna Zaks2011-08-231-2/+8
| | | | | | tracking even when it's no longer a SymbolicRegion, for example, when it is cast to char*. llvm-svn: 138415
* Move creation of the deallocation mismatch report into a separate function ↵Anna Zaks2011-08-231-15/+32
| | | | | | for future reuse. llvm-svn: 138414
* Whitespace and 80-col cleanup.Eric Christopher2011-08-231-3/+2
| | | | llvm-svn: 138413
* objc - fix up the builtin type for objc_assign_ivar.Fariborz Jahanian2011-08-233-3/+13
| | | | | | // rdar://9362887. llvm-svn: 138412
* Fix _mm256_shuffle_ps mask! Example, for mask=203, Instead of:Bruno Cardoso Lopes2011-08-231-1/+1
| | | | | | | | <i32 3, i32 2, i32 8, i32 11, i32 3, i32 6, i32 12, i32 15> generate: <i32 3, i32 2, i32 8, i32 11, i32 7, i32 6, i32 12, i32 15> llvm-svn: 138411
* Start reworking -Wunreachable-code. The original analysis had serious flaws ↵Ted Kremenek2011-08-233-182/+217
| | | | | | | | | | with how it handled SCC's of dead code, or simply having false negatives by overly suppressing warnings. WIP. llvm-svn: 138410
* CFG: record set of C++ 'try' dispatch blocks, which could be of interest to ↵Ted Kremenek2011-08-232-2/+18
| | | | | | various analyses (e.g., reachability). llvm-svn: 138409
* Constify the result of CFGStmt::getStmt().Ted Kremenek2011-08-237-26/+28
| | | | llvm-svn: 138408
* Add 'const' version of CompoundStmt::children().Ted Kremenek2011-08-231-0/+4
| | | | llvm-svn: 138407
* Don't replace *all* uses with the new stuff.Bill Wendling2011-08-231-1/+1
| | | | | | | | This is not necessarily the first or dominating use of the EH values. The IR breaks if it's not. So replace the specific value in the instruction with the new value. llvm-svn: 138406
* Revert "[analyzer] Clean up unused bits of CFRefCount."Eric Christopher2011-08-231-1/+11
| | | | | | This reverts commit 6886a92640f5bffc972f67c0a1f302d6c6e7c322. llvm-svn: 138405
* Whitespace.Eric Christopher2011-08-231-45/+45
| | | | llvm-svn: 138404
* Patch by Filipe to build lldb usng 'make'!Johnny Chen2011-08-231-1/+2
| | | | llvm-svn: 138403
* Register Polly passes automaticallyTobias Grosser2011-08-232-0/+82
| | | | | | | | | | | | | | | | Polly adds, after it is loaded into opt or clang, its passes to the default set of -O3 passes. This means optimizing a program with clang and Polly becomes as simple as executing. clang -Xclang -load -Xclang lib/LLVMPolly.so -O3 program.c The same should work for dragonegg powered gfortran, g++, ... or any other tool that uses the PassManagerBuilder. Warning: Even though using Polly became with this commit extremly easy, Polly is still Pre-Alpha Quality. This means in most cases it will rather destroy the world than doing anything positive. ;-) llvm-svn: 138402
* ScheduleOptimizer: Fix another memory leakTobias Grosser2011-08-231-0/+1
| | | | llvm-svn: 138401
* Add some forgotten passes to LinkAllPassesTobias Grosser2011-08-233-0/+10
| | | | llvm-svn: 138400
* Uniquefy the various data-formatter test class names so that:Johnny Chen2011-08-2314-14/+14
| | | | | | | | ./dotest.py -v -f DataFormatterTestCase.test_with_dsym_and_run_command will not end up running 14 tests. llvm-svn: 138399
* Refactor and fix checking for initialization of flexible array members. The ↵Eli Friedman2011-08-234-59/+70
| | | | | | | | old version had the checks scattered across the code, missed some checks, and had a couple nasty bugs in existing checks. Fixes PR10648 and another similar accepts-invalid bug. llvm-svn: 138398
* Look at the end of the entry block for an invoke.Bill Wendling2011-08-231-4/+17
| | | | | | | | The invoke could be at the end of the entry block. If it's the only one, then we won't process all of the landingpad instructions correctly. This code is currently ugly, but should be made much nicer once the new EH switch is thrown. llvm-svn: 138397
* Skip these two cases temporarily while investigating the crash on OSX Lion ↵Johnny Chen2011-08-231-0/+2
| | | | | | with clang as the compiler. llvm-svn: 138393
* Fix a nasty bug where a v4i64 was being wrong emitted with 32-bitBruno Cardoso Lopes2011-08-233-58/+109
| | | | | | | permutations. Also tidy up some patterns and make them close to their instruction definition! llvm-svn: 138392
* Make clang the default compiler for building the test programs.Johnny Chen2011-08-231-3/+3
| | | | llvm-svn: 138391
* [analyzer] Clean up unused bits of CFRefCount.Jordy Rose2011-08-231-11/+1
| | | | llvm-svn: 138390
* Right now this requires asserts.Eric Christopher2011-08-231-0/+1
| | | | llvm-svn: 138389
* [analyzer] Make CFRefBug and CFRefReportVisitor not dependent on CFRefCount. ↵Jordy Rose2011-08-231-89/+69
| | | | | | Unfortunately, CFRefReport still is. No functionality change. llvm-svn: 138388
* A landingpad instruction is neither folded nor dead.Bill Wendling2011-08-231-0/+1
| | | | llvm-svn: 138387
* Move ARM frame-unwinding EHABI handling a touch earlier.Jim Grosbach2011-08-231-4/+4
| | | | | | | | It should go before AsmPrinter MC pseudo expansion since it's based on MachineInstr, not MCInst. Otherwise any frame related pseudo instructions may be missed. llvm-svn: 138386
* Fixing commas in enums (build breaker on GCC) as reported by Filipe CabecinhasEnrico Granata2011-08-232-2/+2
| | | | llvm-svn: 138385
* Improved the user-friendliness of errors shown by the summary feature in ↵Enrico Granata2011-08-237-36/+311
| | | | | | | | | | | | certain areas Renamed format "signed decimal" to be "decimal". "unsigned decimal" remains unchanged: - the name "signed decimal" was interfering with symbol %S (use summary) in summary strings. because of the way summary strings are implemented, this did not really lead to a bug, but simply to performing more steps than necessary to display a summary. this is fixed. Documentation improvements (more on synthetic children, some information on filters). This is still a WIP. llvm-svn: 138384
* Added support for persistent types to theSean Callanan2011-08-2313-24/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | expression parser. You can use a persistent type like this: (lldb) expr struct $foo { int a; int b; }; (lldb) struct $foo i; i.a = 2; i.b = 3; i ($foo) $0 = { (int) a = 2 (int) b = 3 } typedefs work similarly. This patch affects the following files: test/expression_command/persistent_types/* A test case for persistent types, in particular structs and typedefs. ClangForward.h Added TypeDecl, needed to declare some functions in ASTResultSynthesizer.h ClangPersistentVariables.[h,cpp] Added a list of persistent types to the persistent variable store. ASTResultSynthesizer.[h,cpp] Made the AST result synthesizer iterate across TypeDecls in the expression, and record any persistent types found. Also made a minor documentation fix. ClangUserExpression.[h,cpp] Extended the user expression class to keep the state needed to report the persistent variable store for the target to the AST result synthesizers. Also introduced a new error code for expressions that executed normally but did not return a result. CommandObjectExpression.cpp Improved output for expressions (like declarations of new persistent types) that don't return a result. This is no longer treated as an error. llvm-svn: 138383
* [analyzer] Cleanup: Move temporary declarations of CFRefCount variables ↵Jordy Rose2011-08-231-13/+11
| | | | | | closer to their uses. No functionality change. llvm-svn: 138382
* Remove one SourceManager::isInFileID overload and use isOffsetInFileID for ↵Argyrios Kyrtzidis2011-08-232-32/+8
| | | | | | the other. llvm-svn: 138381
OpenPOWER on IntegriCloud