Chris Lattner
aa61f41e56
rename ReleaseNotes-2.6.html -> ReleaseNotes.html
...
llvm-svn: 83990
2009-10-13 17:48:04 +00:00
Chris Lattner
123dd67f76
add Zero
...
llvm-svn: 83988
2009-10-13 17:47:06 +00:00
Jeffrey Yasskin
f98e981cd0
Make the ExecutionEngine automatically remove global mappings on when their
...
GlobalValue is destroyed. Function destruction still leaks machine code and
can crash on leaked stubs, but this is some progress.
llvm-svn: 83987
2009-10-13 17:42:08 +00:00
Anders Carlsson
6bfee8f3e3
Don't assume that the LHS and RHS of a member pointer expression is a DeclRefExpr. Fixes PR5177.
...
llvm-svn: 83986
2009-10-13 17:41:28 +00:00
Chris Lattner
faa0320f27
don't use dead loads as tests.
...
llvm-svn: 83985
2009-10-13 17:39:29 +00:00
Devang Patel
c5cc659cfa
"there is not any instruction with attached debug info in this module" does not mean "there is no debug info in this module". :)
...
llvm-svn: 83984
2009-10-13 17:35:35 +00:00
Bob Wilson
453a06e3ac
Add some ARM instruction encoding bits.
...
Patch by Johnny Chen.
llvm-svn: 83983
2009-10-13 17:35:30 +00:00
Bob Wilson
d26a26ae7e
Fix regression introduced by r83894.
...
llvm-svn: 83982
2009-10-13 17:29:13 +00:00
Mike Stump
ad47e7ea81
Remove FIXME. We construct VBIndex very early, before any calls to OverrideMethod.
...
llvm-svn: 83981
2009-10-13 17:23:44 +00:00
Douglas Gregor
62e10f0bdc
Diagnose attempts to add default function arguments to a
...
specialization. This completes C++ [temp.expl.spec]!
llvm-svn: 83980
2009-10-13 17:02:54 +00:00
Devang Patel
9f73552852
Remove extra white space line.
...
llvm-svn: 83979
2009-10-13 17:02:38 +00:00
Devang Patel
7468489deb
Do not check use_empty() before invoking replaceAllUsesWith().
...
Let replaceAllUsesWith() adjust VHs even though there are no uses.
llvm-svn: 83978
2009-10-13 17:02:04 +00:00
Devang Patel
e6f26a7415
Copy metadata when value is RAUW'd. It is debatable whether this is the right approach for custom metadata data in general. However, right now the only custom data user, "dbg", expects this behavior while FE is constructing llvm IR with debug info.
...
llvm-svn: 83977
2009-10-13 17:00:54 +00:00
Edward O'Callaghan
fc460554f6
-funit-at-a-time is the default however some current makefiles pass -fno-unit-at-a-time which is ignored by GCC, we should warn about this not error out.
...
llvm-svn: 83976
2009-10-13 16:41:34 +00:00
Devang Patel
9bd98a440b
Disable this test for now.
...
llvm-svn: 83975
2009-10-13 16:32:09 +00:00
Douglas Gregor
cf91555cb8
When explicitly specializing a member that is a template, mark the
...
template as a specialization. For example, this occurs with:
template<typename T>
struct X {
template<typename U> struct Inner { /* ... */ };
};
template<> template<typename T>
struct X<int>::Inner {
T member;
};
We need to treat templates that are member specializations as special
in two contexts:
- When looking for a definition of a member template, we look
through the instantiation chain until we hit the primary template
*or a member specialization*. This allows us to distinguish
between the primary "Inner" definition and the X<int>::Inner
definition, above.
- When computing all of the levels of template arguments needed to
instantiate a member template, don't add template arguments
from contexts outside of the instantiation of a member
specialization, since the user has already manually substituted
those arguments.
Fix up the existing test for p18, which was actually wrong (but we
didn't diagnose it because of our poor handling of member
specializations of templates), and add a new test for member
specializations of templates.
llvm-svn: 83974
2009-10-13 16:30:37 +00:00
Bob Wilson
0bc673de0d
Fix a tab. Thanks to Johnny Chen for pointing it out.
...
llvm-svn: 83973
2009-10-13 15:27:23 +00:00
Douglas Gregor
3a88c1d784
Improve the internal representation and semantic analysis of friend
...
function templates.
This commit ensures that friend function templates are constructed as
FunctionTemplateDecls rather than partial FunctionDecls (as they
previously were). It then implements template instantiation for friend
function templates, injecting the friend function template only when
no previous declaration exists at the time of instantiation.
Oh, and make sure that explicit specialization declarations are not
friends.
llvm-svn: 83970
2009-10-13 14:39:41 +00:00
Mike Stump
87876a0053
Refine handling for return value conversions with respect to virtual
...
offsets for covariant thunks.
llvm-svn: 83965
2009-10-13 10:55:21 +00:00
Benjamin Kramer
abd5b90e4c
Simplify pointer creation with the new Type::getInt*Ptr methods.
...
llvm-svn: 83964
2009-10-13 10:07:13 +00:00
Duncan Sands
1008612b36
The eh.exception intrinsic only reads from memory, it doesn't
...
write to it.
llvm-svn: 83963
2009-10-13 09:24:02 +00:00
Duncan Sands
f7ad620c62
Pacify the compiler (signed with unsigned comparison) by making
...
these constants unsigned.
llvm-svn: 83962
2009-10-13 09:23:11 +00:00
Nick Lewycky
9bc890425a
Force memory use markers to have a ConstantInt for the size argument.
...
llvm-svn: 83960
2009-10-13 07:57:33 +00:00
Nick Lewycky
e2782c7614
Teach BasicAA a little something about the atomic intrinsics: they can only
...
modify through the pointer they're given.
llvm-svn: 83959
2009-10-13 07:48:38 +00:00
Chris Lattner
3eb172a02b
Teach sema and codegen about the difference between address of labels,
...
which is a common idiom to improve PIC'ness of code using the addr of
label extension. This implementation is a gross hack, but the only other
alternative would be to teach evalutate about this horrid combination.
While GCC allows things like "&&foo - &&bar + 1", people don't use this
in practice. This implements PR5131.
llvm-svn: 83957
2009-10-13 07:14:16 +00:00
Nick Lewycky
6f7d8347c1
Add new "memory use marker" intrinsics. These indicate lifetimes and invariant
...
sections of memory objects.
llvm-svn: 83953
2009-10-13 07:03:23 +00:00
Chris Lattner
2bb5cb490c
reimplement codegen for indirect goto with the following advantages:
...
1. CGF now has fewer bytes of state (one pointer instead of a vector).
2. The generated code is determinstic, instead of getting labels in
'map order' based on pointer addresses.
3. Clang now emits one 'indirect goto switch' for each function, instead
of one for each indirect goto. This fixes an M*N = N^2 IR size issue
when there are lots of address-taken labels and lots of indirect gotos.
4. This also makes the default cause do something useful, reducing the
size of the jump table needed (by one).
llvm-svn: 83952
2009-10-13 06:55:33 +00:00
Chris Lattner
9842a4dcb1
merge an indirect goto test into statements, add another
...
hairier (but nonsensical) example.
llvm-svn: 83951
2009-10-13 06:52:43 +00:00
Daniel Dunbar
cdf01b5d82
Fix a -Asserts warning.
...
llvm-svn: 83950
2009-10-13 06:47:08 +00:00
Zhongxing Xu
e02b89566a
Return the original state by default.
...
llvm-svn: 83949
2009-10-13 06:07:58 +00:00
Chris Lattner
92ae16b0ae
number address-taken labels from 1. This allows 0 to be used as a sentinel
...
for a null pointer. In other words, "&&foo != NULL" will always work out to
true.
llvm-svn: 83948
2009-10-13 06:04:29 +00:00
Chris Lattner
dd7eaad7d4
Use the new Type::getInt8PtrTy method. This should probably be used in a lot
...
more places in clang codegen now.
llvm-svn: 83947
2009-10-13 06:02:42 +00:00
John Thompson
9f2a365fe2
test commit
...
llvm-svn: 83945
2009-10-13 05:45:19 +00:00
Chris Lattner
799dd8538e
remove dead header.
...
llvm-svn: 83943
2009-10-13 05:33:26 +00:00
Chris Lattner
a611b45806
add rdar # I accidentally lost.
...
llvm-svn: 83942
2009-10-13 04:57:27 +00:00
Chris Lattner
af066d818c
merge two tests.
...
llvm-svn: 83941
2009-10-13 04:56:49 +00:00
Chris Lattner
1a6babf1f4
make the diagnostic in the 'unused result' warning more precise
...
about the reason, rdar://7186119.
llvm-svn: 83940
2009-10-13 04:53:48 +00:00
Chris Lattner
f315471e24
fix PR4938 by recognizing % as a modifier on outputs,
...
previously we only recognized it on inputs.
llvm-svn: 83939
2009-10-13 04:32:07 +00:00
Chris Lattner
278c12e1af
remove notcast, it is now dead!
...
llvm-svn: 83938
2009-10-13 04:27:02 +00:00
Chris Lattner
a24b2b8c88
remove two old and nearly useless tests.
...
llvm-svn: 83937
2009-10-13 04:25:24 +00:00
Zhongxing Xu
88dd1ff0d7
Now we can call into another function with the CallInliner transfer function.
...
llvm-svn: 83936
2009-10-13 02:36:42 +00:00
Zhongxing Xu
2d88c0b989
Add two utility methods.
...
llvm-svn: 83935
2009-10-13 02:29:58 +00:00
Zhongxing Xu
daa4176926
Add an initial implementation of EnterStackFrame() to the StoreManager.
...
llvm-svn: 83934
2009-10-13 02:24:55 +00:00
Devang Patel
bd9c3a074d
XFAIL these tests for now.
...
llvm-svn: 83933
2009-10-13 01:51:29 +00:00
Dan Gohman
c4e367b854
Add a ceilLogBase2 function to APInt.
...
llvm-svn: 83932
2009-10-13 01:49:02 +00:00
Victor Hernandez
70e8505eb1
Memory dependence analysis was incorrectly stopping to scan for stores to a pointer at bitcast uses of a malloc call.
...
It should continue scanning until the malloc call, and this patch fixes that.
llvm-svn: 83931
2009-10-13 01:42:53 +00:00
Edward O'Callaghan
a5314b83d1
Regenerate configure for rev. 83823 putback.
...
llvm-svn: 83930
2009-10-13 01:01:38 +00:00
Devang Patel
232f278fc1
Disable tests that check debug info intrinsic. This does not work if debug info intrinsics are not used to encode debug info.
...
llvm-svn: 83929
2009-10-12 23:46:58 +00:00
Devang Patel
5b294f4330
Enable "debug info attached to an instruction" mode.
...
llvm-svn: 83928
2009-10-12 23:31:25 +00:00
Devang Patel
9da3cc2b2d
Enable "debug info attached to an instruction" mode.
...
llvm-svn: 83925
2009-10-12 23:22:09 +00:00