Chris Lattner
|
93236ba327
|
add support for forwarding mem intrinsic values to non-local loads.
llvm-svn: 90697
|
2009-12-06 04:54:31 +00:00 |
Chris Lattner
|
850a3cd905
|
gvn is optimizing this better now.
llvm-svn: 90696
|
2009-12-06 04:16:05 +00:00 |
Chris Lattner
|
42376066eb
|
Handle forwarding local memsets to loads. For example, we optimize this:
short x(short *A) {
memset(A, 1, sizeof(*A)*100);
return A[42];
}
to 'return 257' instead of doing the load.
llvm-svn: 90695
|
2009-12-06 01:57:02 +00:00 |
Chris Lattner
|
d15e11ad98
|
Add helper methods for forming shift operations with a constant
shift amount.
llvm-svn: 90694
|
2009-12-06 01:56:22 +00:00 |
Steve Naroff
|
287a2bfc03
|
Integrate the following from the 'objective-rewrite' branch:
http://llvm.org/viewvc/llvm-project?view=rev&revision=86026
Note: The 'improved debugging' changes weren't integrated (since they were later reverted, since they didn't improve debugging).
llvm-svn: 90693
|
2009-12-06 01:52:22 +00:00 |
Steve Naroff
|
94ed6dc906
|
Integrate the following from the 'objective-rewrite' branch:
http://llvm.org/viewvc/llvm-project?view=rev&revision=82174
llvm-svn: 90692
|
2009-12-06 01:48:44 +00:00 |
Chris Lattner
|
eb5bb1bf78
|
merge two tests.
llvm-svn: 90691
|
2009-12-06 01:47:24 +00:00 |
Steve Naroff
|
2b3843df1b
|
Integrate the following from the 'objective-rewrite' branch:
http://llvm.org/viewvc/llvm-project?view=rev&revision=72893
llvm-svn: 90690
|
2009-12-06 01:33:56 +00:00 |
Anders Carlsson
|
fe5f7d916f
|
Set the correct linkage for VTTs as well.
llvm-svn: 90689
|
2009-12-06 01:09:21 +00:00 |
Steve Naroff
|
66aaa39568
|
Integrate the following from the 'objective-rewrite' branch:
http://llvm.org/viewvc/llvm-project?view=rev&revision=71473
llvm-svn: 90688
|
2009-12-06 01:02:14 +00:00 |
Anders Carlsson
|
232324c5c0
|
More linkage improvements.
llvm-svn: 90687
|
2009-12-06 00:53:22 +00:00 |
Anders Carlsson
|
0911ae8ef2
|
Pass the desired vtable linkage to GenerateVtable directly. Only call MaybeMarkVirtualImplicitMembersReferenced for non-inline functions.
llvm-svn: 90686
|
2009-12-06 00:23:49 +00:00 |
Oscar Fuentes
|
58eea20f47
|
CheckAtomic.cmake: Put all C++ code inside CHECK_CXX_SOURCE_COMPILES.
llvm-svn: 90685
|
2009-12-06 00:06:33 +00:00 |
Anders Carlsson
|
7e28c5f2e2
|
Make GenerateVtable a private member function of CGVtableInfo.
llvm-svn: 90684
|
2009-12-06 00:01:05 +00:00 |
Oscar Fuentes
|
4f6d1eb3e0
|
Fix for atomic intrinsics detection when using MSVC.
Patch by Michael Beck!
llvm-svn: 90683
|
2009-12-05 23:19:33 +00:00 |
Eli Friedman
|
89c038e518
|
Fix for PR5693: shift some code into SetClassDeclAttributesFromBase so that
it gets called during template instantiation.
llvm-svn: 90682
|
2009-12-05 23:03:49 +00:00 |
Anders Carlsson
|
4ed44eb7d9
|
Only emit the vtable definition if the class has a key function and we're emitting it, or if the class doesn't have a key function and we are emitting the complete constructor.
llvm-svn: 90681
|
2009-12-05 22:42:54 +00:00 |
Anders Carlsson
|
0ab79e22ab
|
If a class does not have a key function, its linkage should be weak_odr.
llvm-svn: 90680
|
2009-12-05 22:24:38 +00:00 |
Anders Carlsson
|
58b271d450
|
Use createGlobalVariable for creating vtable variables too.
llvm-svn: 90679
|
2009-12-05 22:19:10 +00:00 |
Benjamin Kramer
|
acc5fa153d
|
Don't call back() on an empty vector.
llvm-svn: 90678
|
2009-12-05 22:16:51 +00:00 |
Steve Naroff
|
ec60b43ee2
|
Integrate the following from the 'objective-rewrite' branch:
http://llvm.org/viewvc/llvm-project?view=rev&revision=71225
http://llvm.org/viewvc/llvm-project?view=rev&revision=73207
http://llvm.org/viewvc/llvm-project?view=rev&revision=73414
llvm-svn: 90677
|
2009-12-05 21:43:12 +00:00 |
Anders Carlsson
|
b3f54b748d
|
CodeGenModule::GenerateVtable now returns a pointer directly to the vtable and not to the address point.
llvm-svn: 90676
|
2009-12-05 21:28:12 +00:00 |
Anders Carlsson
|
a95d4c51dc
|
Make sure that hte vtable always has an i8* array type.
llvm-svn: 90675
|
2009-12-05 21:09:05 +00:00 |
Anders Carlsson
|
c8e39ec79f
|
Add a function for getting the vtable address point of a class.
llvm-svn: 90674
|
2009-12-05 21:03:56 +00:00 |
Anders Carlsson
|
b694f05ffb
|
Simplify BuildVTT.
llvm-svn: 90673
|
2009-12-05 21:02:25 +00:00 |
Anders Carlsson
|
b78d093fcc
|
Let the VTT builder pretend that getVtable returns a pointer to the vtable and not to the vtable address point.
llvm-svn: 90672
|
2009-12-05 20:58:49 +00:00 |
Anders Carlsson
|
78c2898e02
|
Change getCtorVtable to not return the address point offset, but the global variable.
llvm-svn: 90671
|
2009-12-05 20:42:53 +00:00 |
Anders Carlsson
|
5a1a84f9fa
|
Simplify some code.
llvm-svn: 90670
|
2009-12-05 18:38:15 +00:00 |
Dan Gohman
|
35f5646ef0
|
Remove old DBG_LABEL code.
llvm-svn: 90669
|
2009-12-05 17:56:26 +00:00 |
Dan Gohman
|
6e7073b846
|
Remove the unused DisableLegalizeTypes option and related code.
llvm-svn: 90668
|
2009-12-05 17:51:33 +00:00 |
Anders Carlsson
|
21bbc1e705
|
Factor vtable related GlobalVariable creation out into a separate function. Add vtable linkage test.
llvm-svn: 90667
|
2009-12-05 17:04:47 +00:00 |
Anders Carlsson
|
19323e02e9
|
Update .xcodeproj file
llvm-svn: 90666
|
2009-12-05 16:07:02 +00:00 |
Steve Naroff
|
e70a52a00c
|
Integrate the following from the 'objective-rewrite' branch:
http://llvm.org/viewvc/llvm-project?view=rev&revision=71086
http://llvm.org/viewvc/llvm-project?view=rev&revision=71107
Note: This fixes <rdar://problem/6845623> from protocol to template.
llvm-svn: 90665
|
2009-12-05 15:55:59 +00:00 |
Steve Naroff
|
c275f70bf9
|
Remove 'LangOpts' from Diagnostic (added in http://llvm.org/viewvc/llvm-project?view=rev&revision=90642).
Simply use the 'LangOpts' member already present in TextDiagnosticPrinter.
Sorry for the confusion!
llvm-svn: 90664
|
2009-12-05 12:23:07 +00:00 |
Benjamin Kramer
|
4053e5db54
|
Avoid trashing two temporary strings.
llvm-svn: 90663
|
2009-12-05 10:22:15 +00:00 |
Benjamin Kramer
|
ed60635d70
|
strcasecmp is unportable.
llvm-svn: 90662
|
2009-12-05 10:07:04 +00:00 |
Douglas Gregor
|
249d6826cd
|
Improve the performance of code completion by 2.2x when completing for ordinary names with Cocoa.h included, by drastically improving the performance of our results sorting.
llvm-svn: 90661
|
2009-12-05 09:08:56 +00:00 |
Chris Lattner
|
2da786f794
|
fix comment.
llvm-svn: 90660
|
2009-12-05 08:33:21 +00:00 |
Chris Lattner
|
ded98d4172
|
consolidate some tests.
llvm-svn: 90659
|
2009-12-05 08:30:04 +00:00 |
Chris Lattner
|
e99c110d06
|
implement rdar://7346691 by codegen'ing struct/array initializers
to a memset or a memcpy from a global when possible.
llvm-svn: 90658
|
2009-12-05 08:22:11 +00:00 |
Chris Lattner
|
e08ea7874a
|
various cleanups.
llvm-svn: 90657
|
2009-12-05 08:21:30 +00:00 |
Bill Wendling
|
29d6390249
|
Calling InvalidateEntry during the refinement was breaking the bootstrap.
llvm-svn: 90656
|
2009-12-05 07:59:04 +00:00 |
Bill Wendling
|
fa3f115ec4
|
Final cleanups:
- Privatize a typedef.
- Call the InvalidateEntry when refining a type.
llvm-svn: 90655
|
2009-12-05 07:46:49 +00:00 |
Bill Wendling
|
f89986235d
|
Temporarily revert r90502. It was causing the llvm-gcc bootstrap on PPC to fail.
llvm-svn: 90653
|
2009-12-05 07:30:23 +00:00 |
Chris Lattner
|
ffcd06ea7c
|
simplify a condition and add a testcase.
llvm-svn: 90652
|
2009-12-05 06:49:57 +00:00 |
Nick Lewycky
|
c86b6fbb40
|
Document that memory use intrinsics may also return Def results.
llvm-svn: 90651
|
2009-12-05 06:37:52 +00:00 |
Nick Lewycky
|
e91765fdbb
|
Fix indentation in switch statement.
llvm-svn: 90650
|
2009-12-05 06:37:24 +00:00 |
Chris Lattner
|
9a152e2570
|
fix rdar://7446395, a crash on invalid, by fixing a broken assertion.
llvm-svn: 90647
|
2009-12-05 05:40:13 +00:00 |
Nick Lewycky
|
a0e9d700dc
|
Generalize this optimization to work on equality comparisons between any two
integers that are constant except for a single bit (the same n-th bit in each).
llvm-svn: 90646
|
2009-12-05 05:00:00 +00:00 |
Eli Friedman
|
0846d52f70
|
Tweak "key function" rules so that they work for templates with virtual
inline functions.
llvm-svn: 90645
|
2009-12-05 04:55:55 +00:00 |