summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Don't automatically set the "fc" bits on MSR instructions if the user didn't ↵Owen Anderson2011-10-211-3/+7
| | | | | | ask for them. This is a divergence from gas' behavior, but it is correct per the documentation and allows us to forge ahead with roundtrip testing. llvm-svn: 142669
* Add a '-n' option to turn off printings of build dir, lldb version, svn ↵Johnny Chen2011-10-211-6/+20
| | | | | | | | info, and other headers which happen before the listingings of test cases. llvm-svn: 142668
* Bind libObject API for obtaining the section containing a Symbol.Owen Anderson2011-10-212-0/+8
| | | | llvm-svn: 142667
* Thread safety analysis refactoring: invalid lock expressions.DeLesley Hutchins2011-10-214-42/+97
| | | | llvm-svn: 142666
* Thread safety analysis: add support for attributes on constructors.DeLesley Hutchins2011-10-212-56/+97
| | | | llvm-svn: 142665
* objective-c: Diagnose redeclaration of privateFariborz Jahanian2011-10-212-0/+55
| | | | | | ivars in class extensions. // rdar://10309454 llvm-svn: 142664
* Fix the compilation warning while running the test case.Johnny Chen2011-10-211-1/+1
| | | | llvm-svn: 142663
* Expand the coverage of the libObject C bindings to include more SectionRef ↵Owen Anderson2011-10-212-2/+100
| | | | | | accessors as well as Symbol iterators. llvm-svn: 142661
* Fix pr11194. When promoting and splitting integers we need to useNadav Rotem2011-10-212-3/+31
| | | | | | | | ZExtPromotedInteger and SExtPromotedInteger based on the operation we legalize. SetCC return type needs to be legalized via PromoteTargetBoolean. llvm-svn: 142660
* Nuke an #if0 that got accidentally left in.Jim Grosbach2011-10-211-31/+0
| | | | llvm-svn: 142658
* whitespace.Jim Grosbach2011-10-211-1/+1
| | | | llvm-svn: 142657
* Don't hard code the desired alignment for loops -- it isn't 16-bytes onChandler Carruth2011-10-211-3/+3
| | | | | | all x86 systems. Sorry for the breakage. llvm-svn: 142656
* Added documentation for the recently-addedSean Callanan2011-10-211-4/+18
| | | | | | | | addDecl() and makeDeclVisibleInContextInternal() functions, and made the latter private since it does not and should not have external clients. llvm-svn: 142655
* Refactoring and code cleanup.DeLesley Hutchins2011-10-211-65/+100
| | | | llvm-svn: 142654
* Remove some outdated comments.Jim Grosbach2011-10-211-11/+11
| | | | llvm-svn: 142653
* When performing name lookup for the previous declaration of a field,Douglas Gregor2011-10-213-8/+28
| | | | | | | | be sure to consider all of the possible lookup results. We were assert()'ing (but behaving correctly) for unresolved values. Fixes PR11134 / <rdar://problem/10290422>. llvm-svn: 142652
* Permit auto SCS on parameter declarations, C++03 [dcl.stc]p2Peter Collingbourne2011-10-212-0/+31
| | | | llvm-svn: 142649
* 1. Fix the widening of SETCC in WidenVecOp_SETCC. Use the correct return CC ↵Nadav Rotem2011-10-214-14/+47
| | | | | | | | type. 2. Fix a typo in CONCAT_VECTORS which exposed the bug in #1. llvm-svn: 142648
* Ensure timestamps are not embedded into files when doing a release build.Duncan Sands2011-10-211-0/+1
| | | | llvm-svn: 142647
* Fix build on mingw-w64.Anton Korobeynikov2011-10-211-6/+8
| | | | | | Patch by Ruben Van Boxem! llvm-svn: 142646
* Add loop aligning to MachineBlockPlacement based on review discussion soChandler Carruth2011-10-212-5/+108
| | | | | | | | | | | | | | | | | | | it's a bit more plausible to use this instead of CodePlacementOpt. The code for this was shamelessly stolen from CodePlacementOpt, and then trimmed down a bit. There doesn't seem to be much utility in returning true/false from this pass as we may or may not have rewritten all of the blocks. Also, the statistic of counting how many loops were aligned doesn't seem terribly important so I removed it. If folks would like it to be included, I'm happy to add it back. This was probably the most egregious of the missing features, and now I'm going to start gathering some performance numbers and looking at specific loop structures that have different layout between the two. Test is updated to include both basic loop alignment and nested loop alignment. llvm-svn: 142645
* Add a very basic test for MachineBlockPlacement. This is essentially theChandler Carruth2011-10-211-0/+75
| | | | | | | | | | | | | | | | | canonical example I used when developing it, and is one of the primary motivating real-world use cases for __builtin_expect (when burried under a macro). I'm working on more test cases here, but I'm trying to make sure both that the pass is doing the right thing with the test cases and that they aren't too brittle to changes elsewhere in the code generation pipeline. Feedback and/or suggestions on how to test this are very welcome. Especially feedback on whether testing the block comments is a good strategy; I couldn't find any good examples to steal from but all the other ideas I had were a lot uglier or more fragile. llvm-svn: 142644
* Modify the script to output the regressions and passes into categories. My ↵Bill Wendling2011-10-211-9/+44
| | | | | | Python-fu could use some improving... llvm-svn: 142643
* Remove intrinsics for X86 BLSI, BLSMSK, and BLSR intrinsics and replace with ↵Craig Topper2011-10-215-51/+93
| | | | | | custom isel lowering code. llvm-svn: 142642
* Implement a block placement pass based on the branch probability andChandler Carruth2011-10-216-2/+643
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | block frequency analyses. This differs substantially from the existing block-placement pass in LLVM: 1) It operates on the Machine-IR in the CodeGen layer. This exposes much more (and more precise) information and opportunities. Also, the results are more stable due to fewer transforms ocurring after the pass runs. 2) It uses the generalized probability and frequency analyses. These can model static heuristics, code annotation derived heuristics as well as eventual profile loading. By basing the optimization on the analysis interface it can work from any (or a combination) of these inputs. 3) It uses a more aggressive algorithm, both building chains from tho bottom up to maximize benefit, and using an SCC-based walk to layout chains of blocks in a profitable ordering without O(N^2) iterations which the old pass involves. The pass is currently gated behind a flag, and not enabled by default because it still needs to grow some important features. Most notably, it needs to support loop aligning and careful layout of loop structures much as done by hand currently in CodePlacementOpt. Once it supports these, and has sufficient testing and quality tuning, it should replace both of these passes. Thanks to Nick Lewycky and Richard Smith for help authoring & debugging this, and to Jakob, Andy, Eric, Jim, and probably a few others I'm forgetting for reviewing and answering all my questions. Writing a backend pass is *sooo* much better now than it used to be. =D llvm-svn: 142641
* Check for divide by zero.Bill Wendling2011-10-211-2/+2
| | | | llvm-svn: 142640
* Updated LLVM/Clang to pull in a variety of typeSean Callanan2011-10-211-2/+2
| | | | | | | | importation fixes, reducing the amount of requests made to LLDB for unknown types and increasing fidelity of the expression parser. llvm-svn: 142639
* Made the IR interpreter more robust in the presenceSean Callanan2011-10-214-29/+174
| | | | | | | | | of arbitrary pointers, allowing direct dereferences of literal addresses. Also disabled special-cased generation of certain expression results (especially casts), substituting the IR interpreter. llvm-svn: 142638
* Try to be exceedingly clever and make this test work properly whether it's runNick Lewycky2011-10-211-0/+1
| | | | | | under bash or under cmd.exe. llvm-svn: 142637
* Treat the Microsoft/Borland keyword "__except" as a context-sensitiveDouglas Gregor2011-10-216-6/+28
| | | | | | | keyword, because both libstdc++ and libc++ use "__except" as an identifier. Fixes <rdar://problem/10322555>. llvm-svn: 142636
* Massage this test a little so it works when run inside the Google environment.Nick Lewycky2011-10-211-1/+1
| | | | llvm-svn: 142635
* I added a new function to DeclContext calledSean Callanan2011-10-213-35/+59
| | | | | | | | | | | | | | | | | | | addDeclInternal(). This function suppresses any calls to FindExternalVisibleDeclsByName() while a Decl is added to a DeclContext. This behavior is required for the ASTImporter, because in the case of the LLDB client the ASTImporter would be called recursively to import the visible decls, which leads to assertions because the recursive call is seeing partially-formed types. I also modified the ASTImporter to use addDeclInternal() in all places where it would otherwise use addDecl(). This fix should not affect the rest of Clang, passes Clang's testsuite, and fixes several serious LLDB bugs. llvm-svn: 142634
* Take DW_AT_comp_dir from $PWD when it's present and starts with a '/'. This isNick Lewycky2011-10-217-0/+35
| | | | | | | closer to what GCC does, except that GCC also checks that the inodes for $PWD and '.' match. llvm-svn: 142633
* Lock the Unwinder before accessing it.Jim Ingham2011-10-215-28/+60
| | | | llvm-svn: 142632
* Remove a now dead function, fixing -Wunused-function warnings fromChandler Carruth2011-10-211-20/+0
| | | | | | Clang. llvm-svn: 142631
* Fix unused variable warning.Richard Smith2011-10-211-1/+1
| | | | llvm-svn: 142630
* Fix wrong directory name.Johnny Chen2011-10-212-2/+2
| | | | llvm-svn: 142629
* Add a benchmark for measuring start up delays of lldb, including:Johnny Chen2011-10-201-0/+82
| | | | | | | | | | | | | | | | | | | | o create a fresh target; and o set the first breakpoint Example (using lldb to set a breakpoint on lldb's Driver::MainLoop function): ./dotest.py -v +b -x '-F Driver::MainLoop()' -p TestStartupDelays.py ... 1: test_startup_delay (TestStartupDelays.StartupDelaysBench) Test start up delays creating a target and setting a breakpoint. ... lldb startup delays benchmark: create fresh target: Avg: 0.106732 (Laps: 15, Total Elapsed Time: 1.600985) set first breakpoint: Avg: 0.102589 (Laps: 15, Total Elapsed Time: 1.538832) ok llvm-svn: 142628
* Fixed some issues where we might not have one of the new apple acceleratorGreg Clayton2011-10-206-689/+164
| | | | | | | | | | | tables (like the .apple_namespaces) and it would cause us to index DWARF that didn't need to be indexed. Updated the MappedHash.h (generic Apple accelerator table) and the DWARF specific one (HashedNameToDIE.h) to be up to date with the latest and greatest hash table format. llvm-svn: 142627
* Revert r142618, r142622, and r142624, which were based on an incorrect ↵Owen Anderson2011-10-204-65/+77
| | | | | | reading of the ARMv7 docs. llvm-svn: 142626
* Breakpoint specification can have the form '-n main', so it's not a good idea toJohnny Chen2011-10-201-1/+1
| | | | | | check that the option arg in '-x opt_arg' does not start with a '-' char. llvm-svn: 142625
* Fix decoding tests for fixed MSR encodings.Owen Anderson2011-10-202-55/+5
| | | | llvm-svn: 142624
* Remove unused include of sys/uio.h in MemoryBuffer.cpp. It was not correctly ↵David Meyer2011-10-201-1/+0
| | | | | | protected by ifdef either. llvm-svn: 142623
* Fix tests for corrected MSR encodings.Owen Anderson2011-10-201-18/+18
| | | | llvm-svn: 142622
* Disable the PPC hazard recognizer. It currently only supportsDan Gohman2011-10-201-2/+8
| | | | | | top-down scheduling and top-down scheduling is going away. llvm-svn: 142621
* Delete the list-tdrr scheduler. Top-down schedulers are going awayDan Gohman2011-10-203-209/+11
| | | | | | because they don't support physical register dependencies. llvm-svn: 142620
* Add -Wc++98-compat diagnostics for jumps which bypass initialization of non-PODRichard Smith2011-10-206-44/+121
| | | | | | | | but trivially constructible and destructible variables in C++11 mode. Also incidentally improve the precision of the wording for jump diagnostics in C++98 mode. llvm-svn: 142619
* Separate out ARM MSR instructions into M-class versions and AR-class ↵Owen Anderson2011-10-201-4/+42
| | | | | | versions. This fixes some roundtripping failures. llvm-svn: 142618
* When fixing up the storage class for an anonymous union, don't markDouglas Gregor2011-10-201-2/+0
| | | | | | the anonymous union as valid: our fixes have Fix-Its. llvm-svn: 142616
* Add missing operand. <rdar://problem/10313323>Bill Wendling2011-10-201-1/+2
| | | | llvm-svn: 142615
OpenPOWER on IntegriCloud