Daniel Dunbar
9e406b4b60
Add a test for clang_rt support on Darwin. With appropriate massaging, this
...
checks that the runtime library can be linked and works for compiling on 10.6
for 10.{4,5,6} targets. Currently test is only for x86, and misses some
compiler-rt functions.
llvm-svn: 94083
2010-01-21 17:10:39 +00:00
Daniel Dunbar
0b9c603ee2
Tweak OptionalTests paths.
...
llvm-svn: 94082
2010-01-21 17:09:39 +00:00
Daniel Dunbar
ae928714df
Update to use llvm/utils/GetSourceVersion to detect version number, instead of
...
assuming SVN. This should be fixed to not necessarily be an integer.
llvm-svn: 94081
2010-01-21 16:56:47 +00:00
Daniel Dunbar
d723b01311
Add utils/OptionalTests, a dumping ground for additional (lit) tests which for
...
one reason or another don't belong in the regular test suite.
Inside is utils/OptionalTests/Extra which is specifically for tests that match
the layout of the regular tests.
llvm-svn: 94080
2010-01-21 16:55:39 +00:00
Anders Carlsson
f768db7775
Move the VTT related code into its own file, CGVTT.cpp
...
llvm-svn: 94079
2010-01-21 16:50:45 +00:00
Douglas Gregor
93f899509d
Introduce type references into the C API, capturing references to
...
typedefs only (for now).
llvm-svn: 94078
2010-01-21 16:28:34 +00:00
Daniel Dunbar
87b8faf227
Add a simple script for getting a version tag from a svn/git-svn/git
...
repository. Feel free to add support for your favorite VCS.
llvm-svn: 94077
2010-01-21 16:09:59 +00:00
Douglas Gregor
ff59f676d0
Teach code-completion to deal with calls to functions without prototypes.
...
llvm-svn: 94076
2010-01-21 15:46:19 +00:00
Benjamin Kramer
232085d50a
struct/class mismatch.
...
llvm-svn: 94075
2010-01-21 15:40:14 +00:00
Mike Stump
04c6851cd6
Speed up compilation by avoiding generating exceptional edges from
...
CallExprs as those edges help cause a n^2 explosion in the number of
destructor calls. Other consumers, such as static analysis, that
would like to have more a more complete CFG can select the inclusion
of those edges as CFG build time.
This also fixes up the two compilation users of CFGs to be tolerant of
having or not having those edges. All catch code is assumed be to
live if we didn't generate the exceptional edges for CallExprs.
llvm-svn: 94074
2010-01-21 15:20:48 +00:00
Benjamin Kramer
d2eba45be3
Match branch labels with the trailing colon so we don't accidentally match something else.
...
llvm-svn: 94073
2010-01-21 15:19:14 +00:00
Dan Gohman
9b85ae26b1
Make the parser include the lower level error message in its own error
...
message, to be more informative.
llvm-svn: 94072
2010-01-21 10:15:06 +00:00
Dan Gohman
7c6759094a
Avoid printing a spurious semicolon when there is no filename.
...
llvm-svn: 94071
2010-01-21 10:13:27 +00:00
Dan Gohman
60a9bf414e
When re-using an existing cast for a user, it's still necessary to call
...
rememberInstruction so that future users of that user will be inserted
in the correct position. This fixes the Darwin selfhost.
llvm-svn: 94070
2010-01-21 10:08:42 +00:00
Nick Lewycky
9e26c1cc0c
Fix a crasher trying to fold each element in a comparison between two vectors
...
if one of the vectors didn't have elements (such as undef). Fixes PR 6096.
Fix an issue in the constant folder where fcmp (<2 x %ty>, <2 x %ty>) would
have <2 x i1> type if constant folding was successful and i1 type if it wasn't.
This exposed a related issue in the bitcode reader.
llvm-svn: 94069
2010-01-21 07:03:21 +00:00
Chris Lattner
f2f73bf214
remove a couple of asserts that use RTTI.
...
llvm-svn: 94068
2010-01-21 06:11:03 +00:00
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