Daniel Dunbar
8429dbc753
Implement EmitUnsupportedRValue to generate an appropriately typed RValue.
...
llvm-svn: 62004
2009-01-09 20:09:28 +00:00
Sebastian Redl
6079525591
Very basic support for pure virtual functions.
...
llvm-svn: 62003
2009-01-09 19:57:06 +00:00
Misha Brukman
b302377dc3
This has been replaced by llvm/utils/lint/cpp_lint.py, which is more
...
comprehensive and can support more complex style analysis.
llvm-svn: 62002
2009-01-09 19:46:41 +00:00
Douglas Gregor
020713e308
Replace DeclContext's vector of ScopedDecl pointers with a linked list
...
of ScopedDecls (using the new ScopedDecl::NextDeclInScope
pointer). Performance-wise:
- It's a net win in memory utilization, since DeclContext is now one
pointer smaller than it used to be (std::vectors are typically 3
pointers; we now use 2 pointers) and
- Parsing Cocoa.h with -fsyntax-only (with a Release-Asserts Clang)
is about 1.9% faster than before, most likely because we no longer
have the memory allocations and copying associated with the
std::vector.
I'll re-enable serialization of DeclContexts once I've sorted out the
NextDeclarator/NextDeclInScope question.
llvm-svn: 62001
2009-01-09 19:42:16 +00:00
Misha Brukman
06b9ee567b
Removed trailing whitespace.
...
llvm-svn: 62000
2009-01-09 19:25:42 +00:00
Devang Patel
235acaa131
Request DwarfWriter. This will be used to handle dbg_* intrinsics.
...
llvm-svn: 61999
2009-01-09 19:11:50 +00:00
Douglas Gregor
c72e645fd6
Make sure that ScopedDecls passed to DeclContext::addDecl are added into their lexical context
...
llvm-svn: 61998
2009-01-09 18:51:29 +00:00
Chris Lattner
5f54d50917
fix typo Duncan noticed.
...
llvm-svn: 61997
2009-01-09 18:31:39 +00:00
Ted Kremenek
feb260784b
Always print out SourceManager stats with 'Stats' is true. This revealed that PTH always pulls in the source pages with -fsyntax-only (investigating further).
...
llvm-svn: 61996
2009-01-09 18:20:21 +00:00
Chris Lattner
ae0e857b98
Fix PR3304
...
llvm-svn: 61995
2009-01-09 18:18:43 +00:00
Douglas Gregor
ffca3a21f1
Provide a new kind of iterator, the specific_decl_iterator, that
...
filters the decls seen by decl_iterator with two criteria: the dynamic
type of the declaration and a run-time predicate described by a member
function. This simplifies EnumDecl, RecordDecl, and ObjCContainerDecl
considerably. It has no measurable performance impact.
llvm-svn: 61994
2009-01-09 17:18:27 +00:00
Daniel Dunbar
93215eca9b
Emit more refined "unsupported" error for block expressions.
...
llvm-svn: 61993
2009-01-09 17:04:29 +00:00
Daniel Dunbar
bb197e439d
Give "unsupported" error on calls through block pointers instead of
...
crashes.
llvm-svn: 61992
2009-01-09 16:50:52 +00:00
Misha Brukman
5cbf223916
Removed trailing whitespace from Makefiles.
...
llvm-svn: 61991
2009-01-09 16:44:42 +00:00
Mikhail Glushenkov
726440dbc9
Support llvmc plugins in out-of-tree projects.
...
llvm-svn: 61990
2009-01-09 16:31:01 +00:00
Mikhail Glushenkov
0f88cfa2ac
Add a --check-graph option to llvmc.
...
llvm-svn: 61989
2009-01-09 16:16:27 +00:00
Steve Naroff
b3a8798253
Move property API's up to ObjCContainerDecl (removing a lot of duplicate code).
...
Add isa/cast/dyncast support for ObjCContainerDecl.
Renamed classprop_iterator/begin/end to prop_iterator/begin/end (the class prefix was confusing).
More simplifications to Sema::ActOnAtEnd()...
Added/changed some FIXME's as a result of the above work.
llvm-svn: 61988
2009-01-09 15:36:25 +00:00
Dan Gohman
ea1086b7f2
PR2659 was fixed by r61847. Add the testcase as a regression test.
...
llvm-svn: 61986
2009-01-09 08:16:12 +00:00
Chris Lattner
f50aa6ae5c
Implement rdar://6480391, extending of equality icmp's to avoid a truncation.
...
I noticed this in the code compiled for a routine using std::map, which produced
this code:
%25 = tail call i32 @memcmp(i8* %24, i8* %23, i32 6) nounwind readonly
%.lobit.i = lshr i32 %25, 31 ; <i32> [#uses=1]
%tmp.i = trunc i32 %.lobit.i to i8 ; <i8> [#uses=1]
%toBool = icmp eq i8 %tmp.i, 0 ; <i1> [#uses=1]
br i1 %toBool, label %bb3, label %bb4
which compiled to:
call L_memcmp$stub
shrl $31, %eax
testb %al, %al
jne LBB1_11 ##
with this change, we compile it to:
call L_memcmp$stub
testl %eax, %eax
js LBB1_11
This triggers all the time in common code, with patters like this:
%169 = and i32 %ply, 1 ; <i32> [#uses=1]
%170 = trunc i32 %169 to i8 ; <i8> [#uses=1]
%toBool = icmp ne i8 %170, 0 ; <i1> [#uses=1]
%7 = lshr i32 %6, 24 ; <i32> [#uses=1]
%9 = trunc i32 %7 to i8 ; <i8> [#uses=1]
%10 = icmp ne i8 %9, 0 ; <i1> [#uses=1]
etc
llvm-svn: 61985
2009-01-09 07:47:06 +00:00
Chris Lattner
0f7cf1d7e1
Remove some old code that looks like a remanant from signed-types days.
...
llvm-svn: 61984
2009-01-09 07:10:58 +00:00
Chris Lattner
482eb70a10
Fix PR3298, a crash in Jump Threading. Apparently even
...
jump threading can have bugs, who knew? ;-)
llvm-svn: 61983
2009-01-09 06:08:12 +00:00
Chris Lattner
d48d1ec320
this doesn't depend on the gcc early inliner anymore.
...
llvm-svn: 61982
2009-01-09 05:49:27 +00:00
Chris Lattner
7f88a1b512
PR3290 is now fixed.
...
llvm-svn: 61981
2009-01-09 05:46:19 +00:00
Chris Lattner
fef138b140
Fix part 3/2 of PR3290, making instcombine zap (gep(bitcast)) when possible.
...
llvm-svn: 61980
2009-01-09 05:44:56 +00:00
Chris Lattner
9170731cb7
this test should not run opt -std-compile-opts, it should run
...
just llc.
llvm-svn: 61979
2009-01-09 05:32:00 +00:00
Chris Lattner
8b80ed7bf7
add a helper method.
...
llvm-svn: 61978
2009-01-09 05:27:40 +00:00
Chris Lattner
729a21f947
fit in 80 cols
...
llvm-svn: 61977
2009-01-09 04:58:01 +00:00
Chris Lattner
a784a2ce01
move some code, check to see if the input to the GEP is a bitcast
...
(which is constant time and cheap) before checking hasAllZeroIndices.
llvm-svn: 61976
2009-01-09 04:53:57 +00:00
Chris Lattner
c7c9ab7947
Fix rdar://6480479 - [parser] infinite loop on invalid input
...
llvm-svn: 61975
2009-01-09 04:34:13 +00:00
Daniel Dunbar
cc1b6e8fce
Convert block types in IRgen. This is not the correct type, but
...
matches llvm-gcc (?).
llvm-svn: 61974
2009-01-09 02:48:46 +00:00
Daniel Dunbar
9b21e63251
Block pointer types are not aggregate types.
...
llvm-svn: 61973
2009-01-09 02:44:18 +00:00
Dan Gohman
bdc0f8b627
Add load-folding table entries for MOVDQA.
...
llvm-svn: 61972
2009-01-09 02:40:34 +00:00
Dan Gohman
e907a0a527
Whitespace and other minor adjustments to make SSE instructions have
...
the same formatting as their corresponding SSE2 instructions, for
consistency.
llvm-svn: 61971
2009-01-09 02:27:34 +00:00
Douglas Gregor
1e21c19be6
Don't crash when our FunctionDecl has a non-identifier name
...
llvm-svn: 61970
2009-01-09 01:47:02 +00:00
Dale Johannesen
4755d9df78
Adjustments to last patch based on review.
...
llvm-svn: 61969
2009-01-09 01:30:11 +00:00
Daniel Dunbar
f4c6616d9d
Fix crash on null deference when searching for readwrite properties in
...
categories.
- Also, simplify nesting via early return.
llvm-svn: 61968
2009-01-09 01:04:21 +00:00
Daniel Dunbar
a3491665a6
ccc: Start defining host information.
...
- For use by the driver in places where the host alters driver
behavior (for example, running as a driver driver on darwin).
- Allow user override for testing purposes.
llvm-svn: 61967
2009-01-09 01:00:40 +00:00
Douglas Gregor
c25d7a7fe0
Addressed the issue in <rdar://problem/6479085>, where we failed to
...
rewrite @class declarations that showed up within linkage
specifications because those @class declarations never made it any
place where the rewriter could find them.
Moved all of the ObjC*Decl nodes over to ScopedDecls, so that they can
live in the appropriate top-level or transparent DeclContext near the
top level, e.g., TranslationUnitDecl or LinkageSpecDecl. Objective-C
declarations now show up in a traversal of the declarations in a
DeclContext (they didn't before!). This way, the rewriter finds all
Objective-C declarations within linkage specifications.
llvm-svn: 61966
2009-01-09 00:49:46 +00:00
Ted Kremenek
339153d3be
Re-enable PTH testing for Cocoa.h and Carbon.h (and include testing for Objective-C++).
...
llvm-svn: 61965
2009-01-09 00:41:48 +00:00
Fariborz Jahanian
e84858ccf9
Adding support for ObjC methods which have c-style
...
parameter list. This is work in progress.
llvm-svn: 61964
2009-01-09 00:38:19 +00:00
Ted Kremenek
b54c19a754
Enable support for '-x objective-c++-header'.
...
llvm-svn: 61963
2009-01-09 00:38:08 +00:00
Ted Kremenek
6697945069
Simpler solution to LiteralSupport compatibility: just add one whitespace character after each cached string.
...
llvm-svn: 61962
2009-01-09 00:37:37 +00:00
Ted Kremenek
8ae06625b5
Invert assertion condition.
...
llvm-svn: 61961
2009-01-09 00:36:11 +00:00
Ted Kremenek
cb5a95f3a4
Temporarily revert r61956 and r61957 (PTH tests failing).
...
llvm-svn: 61960
2009-01-09 00:27:29 +00:00
Dan Gohman
68b135cc9c
61949 accidentally introduced an escaped newline. Fix this by making
...
the comment a little more verbose.
llvm-svn: 61959
2009-01-08 23:51:48 +00:00
Ted Kremenek
510b4da49d
Enhance -fsyntax-only test of Carbon.h to also include testing for PTH.
...
llvm-svn: 61958
2009-01-08 23:42:56 +00:00
Ted Kremenek
8598addcd7
Enhance -fsyntax-only test of Cocoa.h to also include testing for PTH.
...
llvm-svn: 61957
2009-01-08 23:41:35 +00:00
Ted Kremenek
d4a4fd99de
PTH: For the cached spellings of literals, store one whitespace character after the spelling to accomodate sanity checking in LiteralSuppoert.cpp.
...
llvm-svn: 61956
2009-01-08 23:40:50 +00:00
Devang Patel
f646668799
Convert DwarfWriter into a pass.
...
Now Users request DwarfWriter through getAnalysisUsage() instead of creating an instance of DwarfWriter object directly.
llvm-svn: 61955
2009-01-08 23:40:34 +00:00
Anders Carlsson
bfd47a3c00
Add mm_malloc.h, patch by Sam Weinig.
...
llvm-svn: 61954
2009-01-08 23:30:09 +00:00