Devang Patel
faadd7b72d
Directly use NamespaceDecl->getLocation() to find the source file.
...
llvm-svn: 117576
2010-10-28 19:12:46 +00:00
Devang Patel
8e0073008a
Stay within 80 columns.
...
llvm-svn: 117561
2010-10-28 17:27:32 +00:00
John McCall
9de9160d55
Implement an indirect-goto optimization for goto *&&lbl and respect this
...
in the scope checker. With that done, turn an indirect goto into a
protected scope into a hard error; otherwise IR generation has to start
worrying about declarations not dominating their scopes, as exemplified
in PR8473.
If this really affects anyone, I can probably adjust this to only hard-error
on possible indirect gotos into VLA scopes rather than arbitrary scopes.
But we'll see how people cope with the aggressive change on the marginal
feature.
llvm-svn: 117539
2010-10-28 08:53:48 +00:00
Devang Patel
1bee63f325
Fix context info for enums.
...
Radar 8595129
llvm-svn: 117507
2010-10-27 23:23:58 +00:00
John McCall
3a7f6926d1
Restore r117403 (fixing IR gen for bool atomics), this time being less
...
aggressive about the form we expect bools to be in. I don't really have
time to fix all the sources right now.
llvm-svn: 117486
2010-10-27 20:58:56 +00:00
Rafael Espindola
9d798a07e4
Revert r117403 as it caused PR8480.
...
llvm-svn: 117456
2010-10-27 17:13:49 +00:00
Fariborz Jahanian
1518a5eca7
Do the guarding of instantiated static data members
...
on if its linkage is weak. Currently this is the
case but may change in the future. (part of radar
8562966).
llvm-svn: 117452
2010-10-27 16:21:54 +00:00
Anders Carlsson
b00c2144b3
Also devirtualize calls to a member functions where the containing class has been marked final.
...
llvm-svn: 117445
2010-10-27 13:34:43 +00:00
Anders Carlsson
a7911fa3d7
If a virtual member function has the 'final' attribute, we can devirtualize calls to it.
...
llvm-svn: 117444
2010-10-27 13:28:46 +00:00
Fariborz Jahanian
67ca8c4c7b
Patch to provide guard when initializing instances
...
of static data member of a class template.
Fixes //rdar :// 8562966 and pr8409.
llvm-svn: 117410
2010-10-26 22:47:47 +00:00
John McCall
6bde954f47
Extract procedures to do scalar-to-memory and memory-to-scalar conversions
...
in IR gen, and use those to fix a correctness issue with bool atomic
intrinsics. rdar://problem/8461234
llvm-svn: 117403
2010-10-26 22:09:15 +00:00
Dan Gohman
8fc50c296a
Factor out the code for emitting code to load vtable pointer members
...
so that it's done in one place.
llvm-svn: 117386
2010-10-26 18:44:08 +00:00
Dan Gohman
dc2c4db598
Add infrastructure for emitting TBAA metadata with the "constant" flag.
...
llvm-svn: 117328
2010-10-25 23:51:23 +00:00
Dan Gohman
d831356635
Trim an unnecessary #include.
...
llvm-svn: 117321
2010-10-25 21:59:29 +00:00
Dan Gohman
7dfd13c167
Factor out the code for creating the Root and Char nodes, so that
...
they can be used outside of the main getTBAAInfo function.
llvm-svn: 117320
2010-10-25 21:48:30 +00:00
Fariborz Jahanian
c123623d28
After discussion with Doug and John, I am reverting
...
the patch.
llvm-svn: 117159
2010-10-22 22:05:03 +00:00
John McCall
457a04e3ce
Substantially revise how clang computes the visibility of a declaration to
...
more closely parallel the computation of linkage. This gets us to a state
much closer to what gcc emits, modulo bugs, which will undoubtedly arise in
abundance.
llvm-svn: 117147
2010-10-22 21:05:15 +00:00
Fariborz Jahanian
0196aa28ec
Patch fixes miscompile with non-trivial copy constructors and
...
statement expressions, //rdar: //8540501
llvm-svn: 117146
2010-10-22 21:01:02 +00:00
Devang Patel
401c916c8a
Delay record type's debug info emission, in -flimit-debug-info mode, if member expression's base is call expr.
...
llvm-svn: 117127
2010-10-22 18:56:27 +00:00
Devang Patel
db3910000a
Revert unintentional check-in.
...
llvm-svn: 117120
2010-10-22 18:31:12 +00:00
Devang Patel
f79199d140
Tidy up MIPS_linkage name. Provide it only if it does not match regular name, otherwise it confuses debugger.
...
This is tested by local.C in llvmgcc testsuite.
llvm-svn: 117107
2010-10-22 17:11:50 +00:00
Benjamin Kramer
fb5e584151
More class anonymization.
...
llvm-svn: 117106
2010-10-22 16:48:22 +00:00
Dan Gohman
2bb62c3d2b
Rename clang's TBAA tree root from "experimental" to "simple".
...
llvm-svn: 117046
2010-10-21 18:50:04 +00:00
Dan Gohman
5419ce6827
Add some more comments.
...
llvm-svn: 117043
2010-10-21 18:49:12 +00:00
Fariborz Jahanian
50c925fe96
This patch implements Next's IRGen for -fconstant-string-class=class-name.
...
PR6056, //rdar: //8564463
llvm-svn: 116819
2010-10-19 17:19:29 +00:00
Michael J. Spencer
f5a1fbcdf3
Fix Whitespace.
...
llvm-svn: 116798
2010-10-19 06:39:39 +00:00
Bill Wendling
9987c0ea42
We shouldn't keep track of MMX registers "needed" separately from the SSE
...
registers needed.
llvm-svn: 116772
2010-10-18 23:51:38 +00:00
John McCall
18e4edae82
Fix some bugs in local class mangling brought up in PR8355.
...
Patch by Richard Smith!
llvm-svn: 116752
2010-10-18 21:28:44 +00:00
Fariborz Jahanian
f34011e4ca
patch fixes class names missing from method names in debug information for
...
synthesized property. // rdar: //8498026
llvm-svn: 116717
2010-10-18 17:51:06 +00:00
Bill Wendling
5cd41c4b13
Reapply r116684 with fixes. The test cases needed to be updated.
...
llvm-svn: 116696
2010-10-18 03:41:31 +00:00
Bill Wendling
c7c9be661f
Temporarily revert r116684. It was causing failures with
...
Clang :: CodeGen/x86_32-arguments-darwin.c
Clang :: CodeGen/x86_32-arguments-linux.c
llvm-svn: 116687
2010-10-17 07:58:46 +00:00
Bill Wendling
812f4b123e
The "gcc.dg/compat/vector-1 -m32" test was broken after the MMX rewrite. The
...
function parameters weren't converted to use the correct type (x86_mmx). Add a
check, similar to the one in llvm-gcc, to see if we need the x86_mmx type for
that function parameter. If so, it coerces the type to be that.
llvm-svn: 116684
2010-10-17 07:38:01 +00:00
John McCall
d509182336
Coding by inspection has its problems.
...
llvm-svn: 116672
2010-10-16 16:34:08 +00:00
John McCall
17afe45a87
objc_exception_rethrow does not take an exception argument.
...
rdar://problem/8535238
llvm-svn: 116663
2010-10-16 08:21:07 +00:00
Daniel Dunbar
622581b73b
Revert r116656, "IRgen/Obj-C/NeXT: Fix the IR signature for
...
objc_exception_rethrow, so we don't...", since something is actually trying to
call this with the wrong signature (!). Unfortunately I don't understand the new
EH infrastructure well enough to fix it immediately.
llvm-svn: 116660
2010-10-16 05:04:10 +00:00
Daniel Dunbar
90bb5c2315
IRgen/Obj-C/NeXT: Fix the IR signature for objc_exception_rethrow, so we don't
...
generate unnecessary %al clear on x86_64.
llvm-svn: 116656
2010-10-16 04:08:16 +00:00
Dan Gohman
f47df3e02a
Mention the paragraphs in the standards which sanction TBAA.
...
llvm-svn: 116617
2010-10-15 20:54:41 +00:00
Dan Gohman
c44fd6486e
Use a different name for pointer types in tbaa, to be a little
...
more consistent with other names, and to look less like a magic name.
llvm-svn: 116616
2010-10-15 20:26:20 +00:00
Dan Gohman
2d0a3c7b8c
Add a comment.
...
llvm-svn: 116615
2010-10-15 20:24:53 +00:00
Dan Gohman
4a3b1b3ef4
Fix a typo in a comment Frits van Bommel spotted.
...
llvm-svn: 116614
2010-10-15 20:24:10 +00:00
Dan Gohman
2e29eb5a4b
Experimental TBAA support for enum types.
...
llvm-svn: 116613
2010-10-15 20:23:12 +00:00
Dan Gohman
d19ee8a07f
Don't leak the TBAA object.
...
llvm-svn: 116595
2010-10-15 18:04:46 +00:00
Dan Gohman
f5c5e0773e
Add a comment about odd "signed char" incompatibility between C++ and C.
...
llvm-svn: 116593
2010-10-15 17:52:03 +00:00
John McCall
1c9c3fd50a
Death to blocks, or at least the word "block" in one particular obnoxiously
...
ambiguous context.
llvm-svn: 116567
2010-10-15 04:57:14 +00:00
Daniel Dunbar
59ae137329
Update CMake.
...
llvm-svn: 116548
2010-10-15 00:39:31 +00:00
Dan Gohman
d65c196439
Add a TBAA type for pointer types.
...
llvm-svn: 116544
2010-10-15 00:01:39 +00:00
Dan Gohman
3f1cf0f373
Unsigned types are TBAA-compatible with their signed counterparts.
...
Also, handle unknown types conservatively.
llvm-svn: 116541
2010-10-14 23:39:00 +00:00
Dan Gohman
947c9af774
Experimental TBAA support.
...
This enables metadata generation by default, however the TBAA pass
in the optimizer is still disabled for now.
llvm-svn: 116536
2010-10-14 23:06:10 +00:00
Devang Patel
0f58561907
Use root non-virtual primary base class, not just immediate primary base class, for AT_containing_type.
...
This is tested by virtfunc.exp in gdb testsuite.
llvm-svn: 116535
2010-10-14 22:59:23 +00:00
Fariborz Jahanian
681c0754d9
Eliminate usage of ObjCSuperExpr used for
...
'super' as receiver of property or a setter/getter
methods. //rdar: //8525788
llvm-svn: 116483
2010-10-14 16:04:05 +00:00