Lang Hames
968bd90f88
Fix for the original bug in PR5495 - Look at uses as well as defs when determining the PHI-copy insert point.
...
- Patch by Andrew Canis!
llvm-svn: 88880
2009-11-16 02:00:09 +00:00
Chandler Carruth
2496fe14ec
Fix a missing include from r88876.
...
llvm-svn: 88879
2009-11-15 23:10:57 +00:00
Anders Carlsson
d787204e6d
When generating the deleting ctor, emit a call to delete.
...
llvm-svn: 88878
2009-11-15 23:03:25 +00:00
Anders Carlsson
2a50e95da4
Make sure that virtual destructors have delete operators.
...
llvm-svn: 88877
2009-11-15 22:49:34 +00:00
Anders Carlsson
1b69be2a8f
Add DeclarationName::dump().
...
llvm-svn: 88876
2009-11-15 22:30:43 +00:00
Jim Grosbach
01c1cae34d
Detect need for autoalignment of the stack earlier to catch spills more
...
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
2009-11-15 21:45:34 +00:00
Jim Grosbach
74ae3e5b0e
set the def of the VLD1q64 properly
...
llvm-svn: 88873
2009-11-15 21:05:07 +00:00
Mike Stump
4ac39ef6f9
Peer through refernces for typeid. WIP.
...
llvm-svn: 88871
2009-11-15 20:30:39 +00:00
Chris Lattner
ee4cf81d9a
disable copying, enforce some invariants.
...
llvm-svn: 88870
2009-11-15 20:03:53 +00:00
Chris Lattner
7735878591
teach LVI to infer edge information from switch instructions.
...
This allows JT to eliminate a ton of infeasible edges when
handling code like the templates in PatternMatch.h
llvm-svn: 88869
2009-11-15 20:02:12 +00:00
Chris Lattner
b0c0a0df3e
fix a logic error that would cause LVI-JT to miscompile
...
some conditionals
llvm-svn: 88868
2009-11-15 20:01:24 +00:00
Chris Lattner
2c708562f5
implement the first stab at caching queries. This isn't correct
...
(because the invalidation logic is missing) but LVI isn't enabled
by default anyway.
llvm-svn: 88867
2009-11-15 20:00:52 +00:00
Chris Lattner
af025d3f6e
refactor a bunch of code forming the new LazyValueInfoCache
...
and LVIQuery classes, no functionality change.
llvm-svn: 88866
2009-11-15 19:59:49 +00:00
Chris Lattner
9d9812a636
make PRE of loads preserve the alignment of the moved load instruction.
...
llvm-svn: 88865
2009-11-15 19:58:31 +00:00
Chris Lattner
5f037b6439
fix a bug handling 'not x' when x is undef.
...
llvm-svn: 88864
2009-11-15 19:57:43 +00:00
Chris Lattner
fb7613a5d6
mark getIntrinsicID() 'readonly'. This allows various classof methods
...
(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
2009-11-15 19:56:28 +00:00
Chris Lattner
f456ae74c8
add attributes for readnone/readonly functions.
...
llvm-svn: 88862
2009-11-15 19:54:31 +00:00
Chris Lattner
8938c85eb5
add a version of array_pod_sort that takes a custom comparator function.
...
llvm-svn: 88861
2009-11-15 19:52:43 +00:00
Anders Carlsson
7ade203c6c
Deallocation functions must also be static.
...
llvm-svn: 88859
2009-11-15 19:08:46 +00:00
Anders Carlsson
623e9798df
allocation functions are always static.
...
llvm-svn: 88858
2009-11-15 18:59:32 +00:00
Anders Carlsson
e1d34ba0e4
Factor finding a deallocation function for a record type out into a separate function.
...
llvm-svn: 88857
2009-11-15 18:45:20 +00:00
Mike Stump
a46efbb857
Fix linux buildbots.
...
llvm-svn: 88856
2009-11-15 17:57:00 +00:00
Nick Lewycky
ef4ea9a2a9
Add a complex missed optimization opportunity I came across while investigating
...
bug 5438.
llvm-svn: 88855
2009-11-15 17:51:23 +00:00
Mike Stump
1bf924b121
Finish off zero check for typeid(*p) so that it will do a __cxa_bad_typeid.
...
llvm-svn: 88852
2009-11-15 16:52:53 +00:00
Anders Carlsson
2c9e274e57
If we find a deallocation function in the class scope, but it is a placement function we should not look for a deallocation function in the global scope.
...
llvm-svn: 88851
2009-11-15 16:43:15 +00:00
Edward O'Callaghan
e9a58b10ad
Add MIPS support to Triple for Linux and the PSP. Credit to Bruno Cardoso Lopes.
...
llvm-svn: 88850
2009-11-15 10:22:07 +00:00
Edward O'Callaghan
e3f3ca70e6
Add PSP OS Target to Triple, Credit to Bruno Cardoso Lopes.
...
llvm-svn: 88849
2009-11-15 10:18:17 +00:00
Douglas Gregor
8f3952cda9
When performing a static downcast as part of a static_cast, make sure
...
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
2009-11-15 09:20:52 +00:00
Douglas Gregor
598caeee37
Don't gratuitously mark the default constructors of base or member initializers as used
...
llvm-svn: 88847
2009-11-15 08:51:10 +00:00
Douglas Gregor
54fdb417fe
When adding the underlying declaration of a decl to a lookup-results
...
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
2009-11-15 08:11:13 +00:00
Daniel Dunbar
5ad7e15698
Add two new C++ lit tests suites, for testing Clang .cpp files with
...
-fsyntax-only and with -c.
llvm-svn: 88845
2009-11-15 08:10:41 +00:00
Daniel Dunbar
9a61bd5022
lit: Factor a new OneCommandPerFileTest out of SyntaxCheckTest.
...
- 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
2009-11-15 08:10:29 +00:00
Mike Stump
c9b231c8d1
Implement typeid for class types.
...
llvm-svn: 88843
2009-11-15 08:09:41 +00:00
Douglas Gregor
c473cbb3b2
When looking for operator() to type-check a call to an object of class
...
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
2009-11-15 07:48:03 +00:00
Nick Lewycky
95148689c9
Revert r88830 and r88831 which appear to have caused a selfhost buildbot some
...
grief. I suspect this patch merely exposed a bug else.
llvm-svn: 88841
2009-11-15 07:47:32 +00:00
Douglas Gregor
ffaacb14e3
Make a couple more headers standalone
...
llvm-svn: 88840
2009-11-15 07:26:58 +00:00
Daniel Dunbar
4de54f823b
Add Clang-Syntax C++Tests; these don't run by default, use the lit arguments
...
'--param run_clang_syntax=1' to run them.
llvm-svn: 88839
2009-11-15 07:23:09 +00:00
Daniel Dunbar
d4764717de
Remove duplicate implementation of excludes functionality, and support excluding
...
dirnames.
Also, add support for the 'unsupported' config property.
llvm-svn: 88838
2009-11-15 07:22:58 +00:00
Douglas Gregor
0331ecf818
Remove an obviously-broken header, which still tries to refer to ScopedDecl.
...
llvm-svn: 88837
2009-11-15 07:17:25 +00:00
Daniel Dunbar
1566a2257f
Use the other excludes syntax.
...
llvm-svn: 88836
2009-11-15 07:11:12 +00:00
Douglas Gregor
1097a4fe17
Make some more headers standalone
...
llvm-svn: 88835
2009-11-15 07:10:50 +00:00
Douglas Gregor
a7e3ea3f64
If any errors have occurred by the time we hit the end of a function body, clear out any remaining temporaries so they aren't seen later.
...
llvm-svn: 88834
2009-11-15 07:07:58 +00:00
Daniel Dunbar
b9bbd54fdb
Add TargetOptions and use it when constructing targets.
...
- This ended up being hard to factor, sorry for the large diff.
- Some post-commit cleanup to come.
llvm-svn: 88833
2009-11-15 06:48:46 +00:00
Douglas Gregor
c25ca41254
Make a few headers parse standalone
...
llvm-svn: 88832
2009-11-15 06:34:37 +00:00
Nick Lewycky
6a6ac7e105
Correct typo.
...
llvm-svn: 88831
2009-11-15 06:16:57 +00:00
Nick Lewycky
e29fa4c7a1
Teach instcombine to look for booleans in wider integers when it encounters a
...
zext(icmp). It may be able to optimize that away. This fixes one of the cases
in PR5438.
llvm-svn: 88830
2009-11-15 05:55:17 +00:00
Lang Hames
6da915ac86
Added an assert to the PBQP allocator to catch infinite cost solutions which might otherwise lead to miscompilations.
...
llvm-svn: 88829
2009-11-15 04:39:51 +00:00
Mike Stump
4c808dfc58
Finish off support for typeinfo generation for classes.
...
llvm-svn: 88828
2009-11-15 03:28:10 +00:00
Daniel Dunbar
ad6c15465c
lit: Add --repeat=N option, for running each test N times.
...
- Currently just useful for timing, although it could be extended as one (bad) way to deal with flaky tests.
llvm-svn: 88827
2009-11-15 01:02:09 +00:00
Daniel Dunbar
6499e9c625
Add a trivial example plugin, which prints the names of the top-level decls.
...
- The build scriptage is about twice as long as the code, which is nice. :)
llvm-svn: 88826
2009-11-15 00:27:43 +00:00