summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Change how we suppress access control in explicit instantiationsJohn McCall2012-05-078-83/+170
| | | | | | | | | | so that we actually accumulate all the delayed diagnostics. Do this so that we can restore those diagnostics to good standing if it turns out that we were wrong to suppress, e.g. if the tag specifier is actually an elaborated type specifier and not a declaration. llvm-svn: 156291
* There is no reason for these methods to be out-of-line.John McCall2012-05-072-14/+11
| | | | llvm-svn: 156290
* Refactor DelayedDiagnostics so that it keeps diagnostics inJohn McCall2012-05-0710-264/+297
| | | | | | | separate pools owned by the RAII objects that keep pushing decl state. This gives us quite a bit more flexibility. llvm-svn: 156289
* Fix trivial typo in llvm_move.John McCall2012-05-071-1/+1
| | | | llvm-svn: 156288
* Fix some issues in the f16c instructions.Craig Topper2012-05-071-11/+9
| | | | llvm-svn: 156287
* - Adding lexical_parent and semantic_parent properties to clang.cindex.CursorManuel Klimek2012-05-073-0/+80
| | | | | | | | | - Two new tests (one for each property), require libclang built from r155858 or later to pass - New test utility function (get_cursors) that gets all the nodes with a specific spelling. Patch by Evan Pipho. llvm-svn: 156286
* Add support for the 'O' constraint.Eric Christopher2012-05-073-0/+33
| | | | | | Patch by Jack Carter. llvm-svn: 156285
* Add support for the 'N' inline asm constraint.Eric Christopher2012-05-073-0/+34
| | | | | | Patch by Jack Carter. llvm-svn: 156284
* Add support for the 'L' inline asm constraint.Eric Christopher2012-05-073-1/+33
| | | | | | Patch by Jack Carter. llvm-svn: 156283
* Add support for the inline asm constraint 'K'.Eric Christopher2012-05-073-0/+33
| | | | llvm-svn: 156282
* Add SSE4A MOVNTSS/MOVNTSD instructions.Craig Topper2012-05-073-0/+43
| | | | llvm-svn: 156281
* Support the 'J' constraint.Eric Christopher2012-05-073-0/+33
| | | | | | Patch by Jack Carter. llvm-svn: 156280
* Add support for the 'I' inline asm constraint. Also add testsEric Christopher2012-05-077-0/+147
| | | | | | | | from the previous 2 patches. Patch by Jack Carter. llvm-svn: 156279
* Allow 64 bit integer values in gpu registers if arch and abi are 64 bit.Eric Christopher2012-05-071-2/+4
| | | | | | Patch by Jack Carter. llvm-svn: 156278
* When using inline asm constraints representingEric Christopher2012-05-071-1/+1
| | | | | | | | | non-floating point general registers allow 8 and 16-bit elements. Patch by Jack Carter. llvm-svn: 156277
* Tidy up. Whitespace.Jim Grosbach2012-05-071-10/+10
| | | | llvm-svn: 156276
* Updating the test case based on previous patchAaron Ballman2012-05-071-1/+1
| | | | llvm-svn: 156275
* A union can have a constexpr defaulted default constructor, if it has anRichard Smith2012-05-079-14/+79
| | | | | | | | | in-class initializer for one of its fields. Value-initialization of such a type should use the in-class initializer! The former was just a bug, the latter is a (reported) standard defect. llvm-svn: 156274
* Remove variable made unused by r156270.David Blaikie2012-05-071-3/+0
| | | | llvm-svn: 156273
* Detecting illegal instantiations of abstract types when using a ↵Aaron Ballman2012-05-072-1/+17
| | | | | | function-style cast. Fixed PR12658. llvm-svn: 156271
* [analyzer] Reduce parallel code paths in SimpleSValBuilder::evalBinOpNN, and ↵Jordy Rose2012-05-062-165/+145
| | | | | | | | | | | | | | handle mixed-type operations more generally. The logical change is that the integers in SymIntExprs may not have the same type as the symbols they are paired with. This was already the case with taint-propagation expressions created by SValBuilder::makeSymExprValNN, but I think those integers may never have been used. SimpleSValBuilder should be able to handle mixed-integer-type SymIntExprs fine now, though, and the constraint managers were already being defensive (though not entirely correct). All existing tests pass. The logic in evalBinOpNN has been simplified so that conversion is done as late as possible. As a result, most of the switch cases have been reduced to do the minimal amount of work, delegating to another case when they can by substituting ConcreteInts and (as before) reversing the left and right arguments when useful. Comparisons require special handling in two places (building SymIntExprs and evaluating constant-constant operations) because we don't /know/ the best type for comparing the two values. I've approximated the rules in Sema [C99 6.3.1.8] but it'd be nice to refactor Sema's actual algorithm into ASTContext. This is also groundwork for handling mixed-type constraints better than we do now. llvm-svn: 156270
* Split mergeAvailabilityAttr out of handleAvailabilityAttr. This is importantRafael Espindola2012-05-064-40/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | for having a uniform logic for adding attributes to a decl. This in turn is needed to fix the FIXME: // FIXME: This needs to happen before we merge declarations. Then, // let attribute merging cope with attribute conflicts. ProcessDeclAttributes(S, NewFD, D, /*NonInheritable=*/false, /*Inheritable=*/true); The idea is that mergeAvailabilityAttr will become a method. Once attributes are processed before merging, it will be called from handleAvailabilityAttr to handle multiple attributes in one decl: void f(int) __attribute__((availability(ios,deprecated=3.0), availability(ios,introduced=2.0))); and from SemaDecl.cpp to handle multiple decls: void f(int) __attribute__((availability(ios,deprecated=3.0))); void f(int) __attribute__((availability(ios,introduced=2.0))); As a bonus, use the new structure to diagnose incompatible availability attributes added to different decls (see included testcases). llvm-svn: 156269
* Use MVT instead of EVT as the argument to all the shuffle decode functions. ↵Craig Topper2012-05-063-35/+33
| | | | | | Simplify some of the decode functions. llvm-svn: 156268
* Add VPERMQ/VPERMPD to the list of target specific shuffles that can be ↵Craig Topper2012-05-061-0/+6
| | | | | | looked through for DAG combine purposes. llvm-svn: 156266
* Add shuffle decode support for VPERMQ/VPERMPD.Craig Topper2012-05-063-0/+22
| | | | llvm-svn: 156265
OpenPOWER on IntegriCloud