summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Add DeclarationName::dump().Anders Carlsson2009-11-152-1/+6
| | | | llvm-svn: 88876
* Detect need for autoalignment of the stack earlier to catch spills moreJim Grosbach2009-11-156-6/+57
| | | | | | | conservatively. eliminateFrameIndex() machinery adjust to handle addr mode 6 (vld1/vst1) used for spills. Fix tests to expect aligned Q-reg spilling llvm-svn: 88874
* set the def of the VLD1q64 properlyJim Grosbach2009-11-151-2/+1
| | | | llvm-svn: 88873
* Peer through refernces for typeid. WIP.Mike Stump2009-11-151-0/+2
| | | | llvm-svn: 88871
* disable copying, enforce some invariants.Chris Lattner2009-11-151-0/+3
| | | | llvm-svn: 88870
* teach LVI to infer edge information from switch instructions.Chris Lattner2009-11-151-6/+24
| | | | | | | This allows JT to eliminate a ton of infeasible edges when handling code like the templates in PatternMatch.h llvm-svn: 88869
* fix a logic error that would cause LVI-JT to miscompileChris Lattner2009-11-151-1/+1
| | | | | | some conditionals llvm-svn: 88868
* implement the first stab at caching queries. This isn't correctChris Lattner2009-11-151-13/+97
| | | | | | | (because the invalidation logic is missing) but LVI isn't enabled by default anyway. llvm-svn: 88867
* refactor a bunch of code forming the new LazyValueInfoCacheChris Lattner2009-11-151-94/+172
| | | | | | and LVIQuery classes, no functionality change. llvm-svn: 88866
* make PRE of loads preserve the alignment of the moved load instruction.Chris Lattner2009-11-151-5/+8
| | | | llvm-svn: 88865
* fix a bug handling 'not x' when x is undef.Chris Lattner2009-11-151-2/+3
| | | | llvm-svn: 88864
* mark getIntrinsicID() 'readonly'. This allows various classof methods Chris Lattner2009-11-151-1/+2
| | | | | | | | (like DbgDeclareInst's) to shrink substantially. It sucks that we have to pull Compiler.h into such a public header, but at least Compiler.h doesn't pull anything else in. llvm-svn: 88863
* add attributes for readnone/readonly functions.Chris Lattner2009-11-151-0/+12
| | | | llvm-svn: 88862
* add a version of array_pod_sort that takes a custom comparator function.Chris Lattner2009-11-151-0/+8
| | | | llvm-svn: 88861
* Deallocation functions must also be static.Anders Carlsson2009-11-152-1/+18
| | | | llvm-svn: 88859
* allocation functions are always static.Anders Carlsson2009-11-152-1/+21
| | | | llvm-svn: 88858
* Factor finding a deallocation function for a record type out into a separate ↵Anders Carlsson2009-11-152-40/+65
| | | | | | function. llvm-svn: 88857
* Fix linux buildbots.Mike Stump2009-11-151-0/+2
| | | | llvm-svn: 88856
* Add a complex missed optimization opportunity I came across while investigatingNick Lewycky2009-11-151-0/+15
| | | | | | bug 5438. llvm-svn: 88855
* Finish off zero check for typeid(*p) so that it will do a __cxa_bad_typeid.Mike Stump2009-11-152-2/+39
| | | | llvm-svn: 88852
* If we find a deallocation function in the class scope, but it is a placement ↵Anders Carlsson2009-11-153-2/+29
| | | | | | function we should not look for a deallocation function in the global scope. llvm-svn: 88851
* Add MIPS support to Triple for Linux and the PSP. Credit to Bruno Cardoso Lopes.Edward O'Callaghan2009-11-151-0/+163
| | | | llvm-svn: 88850
* Add PSP OS Target to Triple, Credit to Bruno Cardoso Lopes.Edward O'Callaghan2009-11-152-0/+4
| | | | llvm-svn: 88849
* When performing a static downcast as part of a static_cast, make sureDouglas Gregor2009-11-152-13/+34
| | | | | | | | | | that we're dealing with canonical types like the documentation say (yay, CanQualType). Alas, this is another instance where using getQualifiers() on a non-canonical QualType got us in trouble. Good news: with this fix, Clang can now parse all of its own headers! llvm-svn: 88848
* Don't gratuitously mark the default constructors of base or member ↵Douglas Gregor2009-11-152-22/+19
| | | | | | initializers as used llvm-svn: 88847
* When adding the underlying declaration of a decl to a lookup-resultsDouglas Gregor2009-11-152-1/+35
| | | | | | | | | set, expand overloaded function declarations. Long-term, this should actually be done by the name-lookup code rather than here, but this part of the code (involving using declarations) is getting a makeover now and the test-case is useful. llvm-svn: 88846
* Add two new C++ lit tests suites, for testing Clang .cpp files withDaniel Dunbar2009-11-153-4/+62
| | | | | | -fsyntax-only and with -c. llvm-svn: 88845
* lit: Factor a new OneCommandPerFileTest out of SyntaxCheckTest.Daniel Dunbar2009-11-152-12/+42
| | | | | | | - Used for running a single fixed command on a directory of files, with the option of deriving a temporary input file from the test source. llvm-svn: 88844
* Implement typeid for class types.Mike Stump2009-11-155-1/+76
| | | | llvm-svn: 88843
* When looking for operator() to type-check a call to an object of classDouglas Gregor2009-11-152-8/+17
| | | | | | | | | type, use full qualified name lookup rather than the poking the declaration context directly. This makes sure that we see operator()'s in superclasses. Also, move the complete-type check before this name lookup. llvm-svn: 88842
* Revert r88830 and r88831 which appear to have caused a selfhost buildbot someNick Lewycky2009-11-152-28/+1
| | | | | | grief. I suspect this patch merely exposed a bug else. llvm-svn: 88841
* Make a couple more headers standaloneDouglas Gregor2009-11-154-1/+9
| | | | llvm-svn: 88840
* Add Clang-Syntax C++Tests; these don't run by default, use the lit argumentsDaniel Dunbar2009-11-152-0/+28
| | | | | | '--param run_clang_syntax=1' to run them. llvm-svn: 88839
* Remove duplicate implementation of excludes functionality, and support excludingDaniel Dunbar2009-11-151-14/+6
| | | | | | | | dirnames. Also, add support for the 'unsupported' config property. llvm-svn: 88838
* Remove an obviously-broken header, which still tries to refer to ScopedDecl.Douglas Gregor2009-11-151-63/+0
| | | | llvm-svn: 88837
* Use the other excludes syntax.Daniel Dunbar2009-11-151-4/+2
| | | | llvm-svn: 88836
* Make some more headers standaloneDouglas Gregor2009-11-153-0/+3
| | | | llvm-svn: 88835
* If any errors have occurred by the time we hit the end of a function body, ↵Douglas Gregor2009-11-151-0/+6
| | | | | | clear out any remaining temporaries so they aren't seen later. llvm-svn: 88834
* Add TargetOptions and use it when constructing targets.Daniel Dunbar2009-11-1516-127/+203
| | | | | | | | - This ended up being hard to factor, sorry for the large diff. - Some post-commit cleanup to come. llvm-svn: 88833
* Make a few headers parse standaloneDouglas Gregor2009-11-154-1/+4
| | | | llvm-svn: 88832
* Correct typo.Nick Lewycky2009-11-151-1/+1
| | | | llvm-svn: 88831
* Teach instcombine to look for booleans in wider integers when it encounters aNick Lewycky2009-11-152-0/+56
| | | | | | | zext(icmp). It may be able to optimize that away. This fixes one of the cases in PR5438. llvm-svn: 88830
* Added an assert to the PBQP allocator to catch infinite cost solutions which ↵Lang Hames2009-11-151-0/+5
| | | | | | might otherwise lead to miscompilations. llvm-svn: 88829
* Finish off support for typeinfo generation for classes.Mike Stump2009-11-152-9/+145
| | | | llvm-svn: 88828
* lit: Add --repeat=N option, for running each test N times.Daniel Dunbar2009-11-154-4/+32
| | | | | | - Currently just useful for timing, although it could be extended as one (bad) way to deal with flaky tests. llvm-svn: 88827
* Add a trivial example plugin, which prints the names of the top-level decls.Daniel Dunbar2009-11-154-1/+89
| | | | | | - The build scriptage is about twice as long as the code, which is nice. :) llvm-svn: 88826
* Add examples dir, built with BUILD_EXAMPLES=1 (Makefiles, no CMake ↵Daniel Dunbar2009-11-155-2/+21
| | | | | | | | equivalent yet). Move tools/wpa to examples/wpa, and unbreak its build. llvm-svn: 88825
* Add pluggable action support to clang-cc, via -plugin command line option.Daniel Dunbar2009-11-155-7/+79
| | | | | | | | - Expects the plugin has been loaded with -load. - Using this may require disabling TOOL_NO_EXPORTS in the clang-cc Makefile, this breaks the llvm::Registry way of working (static constructors are bad, kids). This should be replaced with a "real" plugin model that has explicit plugin interfaces. llvm-svn: 88824
* Finisgh off rest of class_type_info rtti generation.Mike Stump2009-11-143-14/+120
| | | | llvm-svn: 88823
* When dumping implicit cast exprs, print out whether the cast is an lvalue ↵Anders Carlsson2009-11-141-0/+7
| | | | | | cast or not. llvm-svn: 88821
OpenPOWER on IntegriCloud