Mike Stump
0c2ec779cf
Move some recent checking code into SemaChecking instead.
...
llvm-svn: 94067
2010-01-21 03:59:47 +00:00
Dan Gohman
55a365e797
Run the verifier after LSR, to help catch use-before-def errors before
...
they reach codegen.
llvm-svn: 94066
2010-01-21 03:51:36 +00:00
Mike Stump
87f2f9b465
Avoid instantiating std::sort to save on compiler size.
...
llvm-svn: 94065
2010-01-21 03:43:13 +00:00
Mike Stump
7df27e7038
When checking for unreachable code, we can trivially avoid checking
...
for unreachable loops if all the blocks are already marked live by
this point.
llvm-svn: 94064
2010-01-21 03:07:51 +00:00
Mike Stump
02230ab7a6
When checking for unreachable blocks, we can trivially avoid extra
...
work, if we know we already marked all blocks as live.
llvm-svn: 94063
2010-01-21 02:55:37 +00:00
Mike Stump
6bf1c08e99
Add infrastructure to add base initializers and member initializers to
...
the CFG. WIP.
llvm-svn: 94062
2010-01-21 02:21:40 +00:00
Dan Gohman
51ad99d2c5
Re-implement the main strength-reduction portion of LoopStrengthReduction.
...
This new version is much more aggressive about doing "full" reduction in
cases where it reduces register pressure, and also more aggressive about
rewriting induction variables to count down (or up) to zero when doing so
reduces register pressure.
It currently uses fairly simplistic algorithms for finding reuse
opportunities, but it introduces a new framework allows it to combine
multiple strategies at once to form hybrid solutions, instead of doing
all full-reduction or all base+index.
llvm-svn: 94061
2010-01-21 02:09:26 +00:00
Chris Lattner
626aba43d0
eliminate dynamic_cast from the pass manager.
...
llvm-svn: 94060
2010-01-21 02:07:07 +00:00
Eric Christopher
fa863258d0
Add strcpy_chk -> strcpy support for "don't know" object size
...
answers. This will update as object size checking gets better information.
llvm-svn: 94059
2010-01-21 01:04:38 +00:00
Evan Cheng
5d30f7c91c
Fix a minor issue in x86 load / store folding table. movups does an unaligned load so it doesn't require 16-byte alignment.
...
llvm-svn: 94058
2010-01-21 00:55:14 +00:00
Jim Grosbach
e029a6a5ed
Make sure that landing pad entries in the EH call site table are in the proper
...
order for SjLj style exception handling.
llvm-svn: 94055
2010-01-21 00:43:30 +00:00
Sean Callanan
7a77eae2f3
Moved handling of inclusion from the AsmLexer to
...
the AsmParser, breaking AsmLexer's dependence on
SourceMgr.
llvm-svn: 94054
2010-01-21 00:19:58 +00:00
Fariborz Jahanian
879cc735fc
Fixes comments.
...
llvm-svn: 94053
2010-01-21 00:08:17 +00:00
Fariborz Jahanian
e4951fdc4b
Also allow cast of block pointer type to
...
pointer to an any object. Another variation of
radar 7562285.
llvm-svn: 94052
2010-01-21 00:05:09 +00:00
Douglas Gregor
fed36b1aa1
Stash a CXXUnit pointer into each cursor. This allows us to simplify
...
the interface to clang_visitChildren() by eliminating the
CXTranslationUnit pointer.
llvm-svn: 94051
2010-01-20 23:57:43 +00:00
Devang Patel
3f4a77e082
A Decl->getName() is not unique. However, the debug info descriptors
...
are uniqued. The debug info descriptor describing record's context is
necessary to keep two Decl's descriptor unique if their name match.
There is more work to do to create descriptors for DeclContext.
As a temp. step use type's name in FwdDecl.
llvm-svn: 94050
2010-01-20 23:56:40 +00:00
Douglas Gregor
58552bcd65
Eliminate the MakeCXCursor routines that require their callers to know too much about the cursor's storage
...
llvm-svn: 94049
2010-01-20 23:34:41 +00:00
Chris Lattner
3c5bf71353
simplify this code.
...
llvm-svn: 94048
2010-01-20 23:30:28 +00:00
Sean Callanan
177934e021
Changed the AsmParser to handle error messages itself
...
rather than passing them off to the AsmLexer to handle.
This means the AsmLexer no longer requires a SourceMgr
to do error handling.
llvm-svn: 94047
2010-01-20 23:19:55 +00:00
Jim Grosbach
d7cf27a1d1
SjLj EH introduces can introduce an additional edge to a landing pad and pad
...
normalization needs to take this into account.
llvm-svn: 94046
2010-01-20 23:03:55 +00:00
Fariborz Jahanian
4efdec0677
In objective-c++ land, a block pointer is another object pointer.
...
So, casting a generic object pointer ('id' or 'Class') to the
block pointer is allowed. Fixes radar 7562285.
llvm-svn: 94045
2010-01-20 22:54:38 +00:00
Douglas Gregor
c8e390c215
Yet more Doxygen-comment tweaking in the CIndex library.
...
llvm-svn: 94044
2010-01-20 22:45:41 +00:00
Sean Callanan
1a0eeb6e06
Promoted the reference to the SourceMgr from AsmLexer
...
into AsmParser, in preparation for making AsmLexer
independent of the SourceMgr
llvm-svn: 94043
2010-01-20 22:45:23 +00:00
Douglas Gregor
802f12f719
Improve Doxygen documentation for the CIndex library, somewhat.
...
llvm-svn: 94042
2010-01-20 22:28:27 +00:00
Sean Callanan
70855e42e6
Modified MCAsmLexer to return error information upward
...
rather than printing it locally, reducing its dependence
on SourceMgr.
llvm-svn: 94041
2010-01-20 22:18:24 +00:00
John McCall
97c5a140c2
Change LLVM/clang #includes to use quotes, not angle-brackets. Just a think-o
...
prompted by the #include <iterator> above.
llvm-svn: 94040
2010-01-20 22:16:29 +00:00
Douglas Gregor
721e82edbc
Kill CXEntity and CXDecl. The first has never been used, while the
...
second has been wholly replaced by cursors.
llvm-svn: 94039
2010-01-20 22:14:22 +00:00
John McCall
401982f56c
First pass at collecting access-specifier information along inheritance paths.
...
Triggers lots of assertions about missing access information; fix them.
Will actually consume this information soon.
llvm-svn: 94038
2010-01-20 21:53:11 +00:00
Douglas Gregor
dd969c897e
Kill some CXDecl-related APIs that have been superceded by
...
CXCursor-based APIs.
llvm-svn: 94037
2010-01-20 21:45:58 +00:00
Douglas Gregor
2582af00d4
Kill CXStmt. It isn't being used anywhere, and has no future.
...
llvm-svn: 94036
2010-01-20 21:38:07 +00:00
Douglas Gregor
990b576ec8
Kill clang_loadDeclaration() and clang_loadTranslationUnit().
...
llvm-svn: 94034
2010-01-20 21:37:00 +00:00
Chris Lattner
32fb9564bc
eliminate FnStubInfo, using MachineModuleInfoMachO instead.
...
this makes function stub emission determinstic.
llvm-svn: 94033
2010-01-20 21:36:48 +00:00
Dale Johannesen
c5db599813
make findDebugLoc a class method
...
llvm-svn: 94032
2010-01-20 21:36:02 +00:00
Douglas Gregor
720d00553a
Switch c-index-test from clang_loadDeclaration() and
...
clang_loadTranslationUnit() over to clang_visitChildren().
llvm-svn: 94031
2010-01-20 21:32:04 +00:00
Chris Lattner
2f7c279257
split function stub printing out to its own function,
...
no functionality change.
llvm-svn: 94030
2010-01-20 21:19:44 +00:00
Chris Lattner
1ff4794cbb
eliminate the GVStubs and HiddenGVStubs maps, and use
...
MachineModuleInfoMachO instead. This eliminates two sources
of nondeterministic output in the ppc backend, but function
stubs are still bad.
llvm-svn: 94029
2010-01-20 21:16:14 +00:00
Douglas Gregor
befc4a1658
Switch the internals of clang_loadTranslationUnit() over to the new
...
cursor-based traversal, and eliminate TUVisitor. We're now down to one
visitor for traversing the AST. Yay!
llvm-svn: 94025
2010-01-20 21:13:59 +00:00
Daniel Dunbar
73118e6d82
Use sizeof() instead of hard-coding a size for WrittenBuiltinSpecs, eek!
...
llvm-svn: 94024
2010-01-20 21:13:31 +00:00
Douglas Gregor
71f3d94391
Introduce a new, cursor-based traversal function that visits the
...
children of a given cursor, regardless of what kind of cursor it
is. This is a generalization of clang_loadDeclaration and
clang_loadTranslationUnit that will also extent to statements,
expressions, etc.
As proof-of-concept, switched clang_loadDeclaration() from its own
visitor over to an instance of this traversal function internally.
llvm-svn: 94022
2010-01-20 20:59:29 +00:00
Chris Lattner
1edfeb2c46
don't forget to initialize an instance variable!
...
llvm-svn: 94021
2010-01-20 20:48:59 +00:00
David Greene
0985160c54
When XDEBUG is enabled, check for SelectionDAG cycles at some key
...
points. This will help us find future problems like the one
described in PR6019.
llvm-svn: 94019
2010-01-20 20:13:31 +00:00
Chris Lattner
da363d9af8
adopt getAdjustedAnalysisPointer in a few more passes.
...
llvm-svn: 94018
2010-01-20 20:09:02 +00:00
Chris Lattner
3b03327c14
adopt getAdjustedAnalysisPointer in two more passes.
...
llvm-svn: 94017
2010-01-20 19:53:32 +00:00
Howard Hinnant
16139b5f2d
Updated README.txt
...
llvm-svn: 94016
2010-01-20 19:53:19 +00:00
Chris Lattner
397af34e6f
adopt getAdjustedAnalysisPointer in BasicCallGraph.
...
llvm-svn: 94015
2010-01-20 19:51:46 +00:00
Fariborz Jahanian
4f8a57112f
Settled rule on warning on unimplemented property in
...
category implementation when some implementations
are missing in the primary class implementation.
(fixes radar 6505200).
llvm-svn: 94014
2010-01-20 19:36:21 +00:00
Chris Lattner
af362f014d
add some new methods to adjust this pointers. Not used yet.
...
llvm-svn: 94013
2010-01-20 19:26:14 +00:00
Chris Lattner
54a070b107
add a helper method.
...
llvm-svn: 94012
2010-01-20 19:25:45 +00:00
Howard Hinnant
adc1c56e49
Updated README.txt
...
llvm-svn: 94011
2010-01-20 18:44:52 +00:00
Chris Lattner
c47ece59a8
don't send null pointers through the constantexpr codepath unneededly.
...
llvm-svn: 94010
2010-01-20 17:57:50 +00:00