summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add a mechanism for invalidating the LiveOutInfo of a PHI, and use it wheneverCameron Zwarich2011-02-242-4/+36
| | | | | | a block is visited before all of its predecessors. llvm-svn: 126378
* Track blocks visited in reverse postorder.Cameron Zwarich2011-02-243-0/+9
| | | | llvm-svn: 126377
* Refactor the LiveOutInfo interface into a few methods on FunctionLoweringInfoCameron Zwarich2011-02-243-20/+35
| | | | | | and make the actual map private. llvm-svn: 126376
* Have isel visit blocks in reverse postorder rather than an undefined order. ThisCameron Zwarich2011-02-241-2/+5
| | | | | | allows for the information propagated across basic blocks to be merged at phis. llvm-svn: 126375
* Allow passing a list of comma separated checker names to -analyzer-checker, e.g:Argyrios Kyrtzidis2011-02-249-28/+33
| | | | | | -analyzer-checker=cocoa,unix llvm-svn: 126372
* [analyzer] Migrate ArrayBoundChecker to CheckerV2.Argyrios Kyrtzidis2011-02-248-22/+26
| | | | llvm-svn: 126371
* [analyzer] Don't pass a GRState to CheckerManager::runCheckersForLocation, ↵Argyrios Kyrtzidis2011-02-243-15/+16
| | | | | | | | terrible mistake. If the state is new, make sure an ExplodedNode is associated with it. llvm-svn: 126370
* [analyzer] Migrate ReturnPointerRangeChecker to CheckerV2.Argyrios Kyrtzidis2011-02-245-25/+22
| | | | llvm-svn: 126369
* compute the integer width, not the memory width here. We want to know thatChris Lattner2011-02-242-2/+8
| | | | | | | _Bool is 1 bit, not 8. This fixes an assertion on the testcase, which is PR9304 and rdar://9045501. llvm-svn: 126368
* wire TargetLibraryInfo into simplify libcalls and use it in a couple ofChris Lattner2011-02-241-7/+17
| | | | | | trivial places. This pass needs a lot of work. llvm-svn: 126367
* move a massive amount of code out into its own helper functionChris Lattner2011-02-241-676/+643
| | | | | | to reduce nesting. This needs to be turned into a table. llvm-svn: 126366
* Reimplement DefineTypeSize in terms of APInt. This eliminates someChris Lattner2011-02-241-9/+4
| | | | | | | magic integer arithmetic and allows it to work with types larger than 64 bits. llvm-svn: 126365
* rework processing of unavailable and deprecated attributes to avoid Chris Lattner2011-02-241-25/+19
| | | | | | | unneeded allocation of an empty StringLiteral when these don't have a message. llvm-svn: 126364
* change instcombine to not turn a call to non-varargs bitcast ofChris Lattner2011-02-243-18/+30
| | | | | | | | | function prototype into a call to a varargs prototype. We do allow the xform if we have a definition, but otherwise we don't want to risk that we're changing the abi in a subtle way. On X86-64, for example, varargs require passing stuff in %al. llvm-svn: 126363
* Fix tiny error in CFG construction for BinaryConditionalOperators, making ↵Ted Kremenek2011-02-243-12/+42
| | | | | | | | | sure the branch always has two successors. Also teach Environment::getSVal() about OpaqueValueExprs. This fixes a crash reported in PR9287, and also fixes a false positive involving the value of such ternary expressions not properly getting propagated. llvm-svn: 126362
* Tweak this test a bit further to make it easier on grep. Who knows whatChandler Carruth2011-02-241-4/+5
| | | | | | characters get dropped into the regular expression from %t. llvm-svn: 126361
* Test case for previous commitDouglas Gregor2011-02-241-0/+3
| | | | llvm-svn: 126360
* Fix bug in X86 folding / unfolding table. Int_CMPSDrm and Int_CMPSSrm memoryEvan Cheng2011-02-242-2/+44
| | | | | | | | operands starts at index 2, not 1. rdar://9045024 PR9305 llvm-svn: 126359
* Teach NestedNameSpecifier to keep track of namespace aliases the sameDouglas Gregor2011-02-2415-37/+199
| | | | | | | | way it keeps track of namespaces. Previously, we would map from the namespace alias to its underlying namespace when building a nested-name-specifier, losing source information in the process. llvm-svn: 126358
* Use CharUnits values for Size and DataSize outside of the bitfield layoutKen Dyck2011-02-241-23/+19
| | | | | | | methods, when they are known to be exact multiples of the width of the char type. llvm-svn: 126357
* Use Context.getCharWidth() in place of literal '8's in assertions.Ken Dyck2011-02-241-2/+2
| | | | llvm-svn: 126356
* Add emulation methods for Bitwise Bit Clear (immediate and register) operations.Johnny Chen2011-02-242-4/+178
| | | | llvm-svn: 126355
* Make the Size and DataSize members more CharUnits-friendly by wrapping themKen Dyck2011-02-241-35/+58
| | | | | | | | | | | with getter and setter methods in both bit units and CharUnits. This will help simplify some of the unit mismatch in the parts of the code where sizes are known to be exact multiples of the width of the char type. Assertions in the getters help guard against accidentally converting to CharUnits when sizes are not exact multiples of the char width. llvm-svn: 126354
* Use the same spill slot for all live ranges that descend form the same originalJakob Stoklund Olesen2011-02-241-4/+13
| | | | | | | | | register. This avoids some silly stack slot shuffling when both sides of a copy get spilled. llvm-svn: 126353
* [analyzer] Remove unused functions from CheckerManager.Argyrios Kyrtzidis2011-02-243-18/+0
| | | | llvm-svn: 126352
* [analyzer] Migrate StreamChecker to CheckerV2.Argyrios Kyrtzidis2011-02-241-75/+71
| | | | llvm-svn: 126351
* [analyzer] Migrate CStringChecker to CheckerV2.Argyrios Kyrtzidis2011-02-245-100/+312
| | | | llvm-svn: 126350
* Depricate PathV1::isAbsolute.Michael J. Spencer2011-02-241-3/+3
| | | | llvm-svn: 126348
* Tweak the CXXScopeSpec API a bit, so that we require theDouglas Gregor2011-02-249-57/+39
| | | | | | nested-name-specifier and source range to be set at the same time. llvm-svn: 126347
* Teach CXXScopeSpec to handle the extension of a nested-name-specifierDouglas Gregor2011-02-247-151/+342
| | | | | | | | | with another component in the nested-name-specifiers, updating its representation (a NestedNameSpecifier) and source-location information (currently a SourceRange) simultaneously. This is groundwork for adding source-location information to nested-name-specifiers. llvm-svn: 126346
* Handle value dependent LHS as well as RHS. Test both of these, theyChandler Carruth2011-02-242-1/+15
| | | | | | | | don't seem to have been covered by our tests previously. This should fix bootstrap failure. llvm-svn: 126345
* Clean up the CMake test execution by nuking this directory before we tryChandler Carruth2011-02-231-0/+2
| | | | | | | | | | | | to create it. Lit doesn't apparently clean up test directories effectively, and so this broke randomly on subsequent runs. Also XFAIL the test on windows, as there's not much hope for these commands doing the right thing there. Paired with Nick Lewycky. llvm-svn: 126344
* Add emulation methods for "SUB (immediate, Thumb)" and "SUB (immediate, ↵Johnny Chen2011-02-232-4/+181
| | | | | | ARM)" operations. llvm-svn: 126343
* Implement a warning for known shift overflows on constant shiftChandler Carruth2011-02-238-22/+89
| | | | | | | | | | | | | | | | | | | | | | | expressions. Consider the code: int64_t i = 10 << 30; This compiles fine, but most developers expect it to produce the value for 10 gigs, not -2 gigs. This is actually undefined behavior because the LHS is a signed integer type. The warning is currently gated behind -Wshift-overflow. There is a special case where only the sign bit is overridden that gets a custom error message and is by default ignored. This case is much less likely to cause observed buggy behavior, it's just undefined behavior according to the spec. This warning can be enabled with -Wshift-sign-overflow. Original patch by Oleg Slezberg, with style tweaks and some correctness fixes by me. llvm-svn: 126342
* Fix bogus -Warray-bounds warning involving 'array[true]' reported in PR 9296.Ted Kremenek2011-02-232-1/+6
| | | | llvm-svn: 126341
* Use DW_FORM_data2 for DW_AT_language and let users use ↵Devang Patel2011-02-232-2/+2
| | | | | | DW_LANG_lo_user=0x8000 to DW_LANG_hi_user=0xffff range. llvm-svn: 126339
* Check only relevant strings in output to increase stability of the tests.Devang Patel2011-02-232-10/+9
| | | | llvm-svn: 126338
* Remove file. Previous commit deleted content, but left the file around.Jim Grosbach2011-02-231-0/+0
| | | | llvm-svn: 126337
* Revert r125595, which is an X86-only undocumented assembly syntax extensionJim Grosbach2011-02-233-28/+0
| | | | | | | | | | enabled for all targets. Non-X86 targets should not have this behavior enabled by default. Joerg, if you would like to resubmit with the behavior conditionalized to be X86-ELF only, that's fine. llvm-svn: 126336
* Add emulation for "ADR" operations. Add a ThumbImm8Scaled() convenience ↵Johnny Chen2011-02-233-6/+111
| | | | | | | | function and rename the original ThumbImmScaled() function to ThumbImm7Scaled(). llvm-svn: 126335
* Preserve what the user passed to -include when emitting .d files. Fixes PR8974!Nick Lewycky2011-02-236-17/+36
| | | | llvm-svn: 126334
* [analyzer] Migrate StackAddrLeakChecker to CheckerV2.Argyrios Kyrtzidis2011-02-235-30/+64
| | | | llvm-svn: 126333
* [analyzer] Refactor EndOfFunctionNodeBuilder.Argyrios Kyrtzidis2011-02-236-11/+19
| | | | | | | | | -Introduce EndOfFunctionNodeBuilder::withCheckerTag to allow it be "specialized" with a checker tag and not require the checkers to pass a tag. -For EndOfFunctionNodeBuilder::generateNode, reverse the order of tag/P parameters since there are actual calls that assume the second parameter is ExplodedNode. llvm-svn: 126332
* [analyzer] Migrate IdempotentOperationChecker to CheckerV2.Argyrios Kyrtzidis2011-02-231-34/+24
| | | | llvm-svn: 126331
* Put in the symbol table symbols only used in a .globl statement.Rafael Espindola2011-02-232-1/+31
| | | | | | Fixes PR9292. llvm-svn: 126330
* fix typo in *all* of the test casesMatt Beaumont-Gay2011-02-231-1/+1
| | | | llvm-svn: 126328
* fix typo in test tooMatt Beaumont-Gay2011-02-231-1/+1
| | | | llvm-svn: 126327
* [analyzer] const goodness.Argyrios Kyrtzidis2011-02-232-14/+15
| | | | llvm-svn: 126326
* [analyzer] Rename runPathSensitiveCheckers -> expandGraphWithCheckers.Argyrios Kyrtzidis2011-02-231-6/+6
| | | | llvm-svn: 126325
* [analyzer] Migrate ChrootChecker to CheckerV2.Argyrios Kyrtzidis2011-02-235-29/+148
| | | | llvm-svn: 126324
OpenPOWER on IntegriCloud