Anders Carlsson
b0e8e228ff
Fix PR4365.
...
llvm-svn: 73240
2009-06-12 18:53:02 +00:00
Dale Johannesen
9ebb4d2127
Testcase for llvm-gcc patch 73238.
...
llvm-svn: 73239
2009-06-12 18:41:53 +00:00
Douglas Gregor
181aa4a250
Improve template argument deduction to keep track of why template
...
argument deduction failed. For example, given
template<typename T> struct is_same<T, T> { ... };
template argument deduction will fail for is_same<int, float>, and now
reports enough information
Right now, we don't do anything with this extra information, but it
can be used for informative diagnostics that say, e.g., "template
argument deduction failed because T was deduced to 'int' in one
context and 'float' in another".
llvm-svn: 73237
2009-06-12 18:26:56 +00:00
Bill Wendling
2ec94e44c7
Waste time fixing something that should have been fixed before.
...
llvm-svn: 73236
2009-06-12 18:02:40 +00:00
Nick Lewycky
ec06695579
Keep callers of a weak function calling it, instead of the non-weak equivalent.
...
llvm-svn: 73235
2009-06-12 17:16:48 +00:00
Anders Carlsson
84613c4eba
It's an error to use a function declared in a class definition as a default argument before the function has been declared.
...
llvm-svn: 73234
2009-06-12 16:51:40 +00:00
Arnold Schwaighofer
e3a018d707
Fix Bug 4278: X86-64 with -tailcallopt calling convention
...
out of sync with regular cc.
The only difference between the tail call cc and the normal
cc was that one parameter register - R9 - was reserved for
calling functions through a function pointer. After time the
tail call cc has gotten out of sync with the regular cc.
We can use R11 which is also caller saved but not used as
parameter register for potential function pointers and
remove the special tail call cc on x86-64.
llvm-svn: 73233
2009-06-12 16:26:57 +00:00
Anders Carlsson
a767eeed19
Deducation and instantiation of block types.
...
llvm-svn: 73232
2009-06-12 16:23:10 +00:00
Nick Lewycky
d5bf51faa2
Don't forget to match the calling convention when producing a thunk.
...
llvm-svn: 73231
2009-06-12 16:04:00 +00:00
Nick Lewycky
25675ac14a
Given two identical weak functions, produce one internal function and two weak
...
thunks.
llvm-svn: 73230
2009-06-12 15:56:56 +00:00
Duncan Sands
768042812c
Tweak GenLibDeps.pl so it works on solaris.
...
Patch by Edward O'Callaghan.
llvm-svn: 73228
2009-06-12 14:23:42 +00:00
Nicolas Geoffray
b1a9091298
After obtaining the lock, look if the function has been codegen'd by
...
another thread.
llvm-svn: 73227
2009-06-12 14:11:08 +00:00
Nick Lewycky
42ded7042c
This test is wrong. If you have two weak functions F and G you can't make
...
either one call the other since either one can be replaced at link time, and
they need to be independent.
llvm-svn: 73225
2009-06-12 13:24:41 +00:00
Duncan Sands
945203bbbe
Add clang support to the nightly test script.
...
Patch by Edward O'Callaghan.
llvm-svn: 73224
2009-06-12 13:02:52 +00:00
Duncan Sands
c523393900
Credits for Edward O'Callaghan.
...
llvm-svn: 73223
2009-06-12 12:52:24 +00:00
Nick Lewycky
e04dc22ebd
Add an "are types equivalent" operation that ignores the types that a pointer
...
points to while analyzing all other fields.
Use FoldingSetNodeID to produce a good hash. This dramatically decreases run
times.
Emit thunks. This means that it can look at all functions regardless of what
the linkage is or if the address is taken, but unfortunately some small
functions can be even shorter than the thunk because our backend doesn't yet
realize it can just turn these into jumps. This means that this pass will
pessimize code on average.
llvm-svn: 73222
2009-06-12 08:04:51 +00:00
Nick Lewycky
cf4e1dff31
Fix regular expression.
...
llvm-svn: 73221
2009-06-12 05:39:02 +00:00
Nick Lewycky
a879819918
Don't remove aggregate-typed module level constants before encoding functions
...
since functions may contain aggregate constants too.
llvm-svn: 73220
2009-06-12 05:20:12 +00:00
Nick Lewycky
e68347bde5
In an XFAIL line, treat "XFAIL: foo*bar" as a regular expression to be matched
...
against the target triple, instead of equivalent to "XFAIL: *".
llvm-svn: 73219
2009-06-12 05:18:32 +00:00
Zhongxing Xu
2693c504c2
use getAsPointerType() method.
...
llvm-svn: 73218
2009-06-12 03:59:12 +00:00
Oscar Fuentes
6c0c09dcbb
CMake: New variable LLVM_LIBDIR_SUFFIX.
...
Patch by Ingmar Vanhassel!
llvm-svn: 73217
2009-06-12 02:54:12 +00:00
Oscar Fuentes
46fed3b475
CMake: New variable LLVM_LIBDIR_SUFFIX.
...
Patch by Ingmar Vanhassel!
llvm-svn: 73216
2009-06-12 02:49:53 +00:00
Misha Brukman
15b8bc18a3
Update script to tell the user where to get the CodeSourcery crosstool, if it's
...
not found.
llvm-svn: 73213
2009-06-12 02:04:47 +00:00
Misha Brukman
7a017c6f96
Added two scripts to aid with building Linux/x86 -> Linux/ARM crosstools, using
...
CodeSourcery's provided GCC-based crosstools, from which we use binutils.
llvm-svn: 73212
2009-06-12 01:55:57 +00:00
Nick Lewycky
225ab16b07
XFAIL this on PPC Linux. This keeps showing up in the buildbot and isn't easy to fix, and I'd like it to stop masking
...
real failures.
llvm-svn: 73211
2009-06-11 23:43:02 +00:00
Eli Friedman
32ad5e9c08
Misc x86 README updates: remove a couple of already-fixed issues,
...
add a few suggestions from looking at some assembly code.
llvm-svn: 73210
2009-06-11 23:07:04 +00:00
Bruno Cardoso Lopes
66189503ef
Use forward declarations and move TargetELFWriterInfo impl to a new file.
...
llvm-svn: 73209
2009-06-11 22:13:00 +00:00
Anders Carlsson
8783543a6f
Don't assert when generating code with static_asserts.
...
llvm-svn: 73208
2009-06-11 21:22:55 +00:00
Dale Johannesen
4bd5463617
Test for rev 73205 (PR 4349)
...
llvm-svn: 73206
2009-06-11 20:48:09 +00:00
Eli Friedman
7433a248e3
PR4371: Reduce the inlining threshold outside of -O3. This makes
...
the clang inlining threshold consistent with the threshold for llvm-gcc.
llvm-svn: 73204
2009-06-11 20:33:41 +00:00
Bill Wendling
3b022b1d57
Alphabetize.
...
llvm-svn: 73203
2009-06-11 20:13:35 +00:00
Bill Wendling
21f0e49c2c
Remove unused parameter warnings.
...
llvm-svn: 73202
2009-06-11 20:10:02 +00:00
Bruno Cardoso Lopes
1656366e4d
Support for ELF Visibility
...
Emission for globals, using the correct data sections
Function alignment can be computed for each target using TargetELFWriterInfo
Some small fixes
llvm-svn: 73201
2009-06-11 19:16:03 +00:00
Eli Friedman
9d79bdaaad
Following gcc, hide the hack to include the SSE2 intrinsics from
...
xmmintrin.h in an ifdef.
llvm-svn: 73200
2009-06-11 18:50:02 +00:00
Ted Kremenek
ea675cf6a3
Add summary lookup for IOServiceGetMatchingService.
...
Convert tabs to spaces.
llvm-svn: 73198
2009-06-11 18:17:24 +00:00
Ted Kremenek
a74ead4103
Refactor some function name -> summary lookup using a switch statement.
...
llvm-svn: 73197
2009-06-11 18:10:48 +00:00
Douglas Gregor
74eba0b679
Once we have deduced the template arguments of a class template
...
partial specialization, substitute those template arguments back into
the template arguments of the class template partial specialization to
see if the results still match the original template arguments.
This code is more general than it needs to be, since we don't yet
diagnose C++ [temp.class.spec]p9. However, it's likely to be needed
for function templates.
llvm-svn: 73196
2009-06-11 18:10:32 +00:00
Chris Lattner
61797e3291
Fix 4366: store to null in non-default addr space should not be
...
turned into unreachable.
llvm-svn: 73195
2009-06-11 17:54:56 +00:00
Sanjiv Gupta
5dce37298f
Generate libcalls for floating point arithmetic and casting operations.
...
llvm-svn: 73194
2009-06-11 16:50:48 +00:00
Anders Carlsson
40ed344c92
Add a null check that fixes the crash in PR4362, and make sure to instantiate non-type template arguments.
...
llvm-svn: 73193
2009-06-11 16:06:49 +00:00
Douglas Gregor
873495ad98
Point to the clang driver, not the ccc driver
...
llvm-svn: 73192
2009-06-11 14:59:18 +00:00
Douglas Gregor
f0ca0a684d
Add pseudo-destructors to the Open Projects list
...
llvm-svn: 73191
2009-06-11 14:55:39 +00:00
Douglas Gregor
3afbdbd8b4
Prune some projects that have already been started
...
llvm-svn: 73190
2009-06-11 14:53:37 +00:00
Zhongxing Xu
519a47d4bd
Bind the mistakenly generated nonloc::SymbolVal to struct correctly. See the
...
comments for added test case for details.
llvm-svn: 73189
2009-06-11 09:11:27 +00:00
Duncan Sands
c3a7992216
Cosmetic changes to parameter attribute verification.
...
llvm-svn: 73188
2009-06-11 08:11:03 +00:00
Duncan Sands
29491f03de
Avoid leaking memory in an error path. Noticed
...
by cppcheck.
llvm-svn: 73187
2009-06-11 08:09:49 +00:00
Zhongxing Xu
d85a991253
Use more robust getAsRecordType() method.
...
llvm-svn: 73186
2009-06-11 07:27:30 +00:00
Sanjiv Gupta
c8df02487e
More formatting.
...
llvm-svn: 73185
2009-06-11 06:55:48 +00:00
Sanjiv Gupta
8f03663a09
Fixed source comments. No functionality change.
...
llvm-svn: 73184
2009-06-11 06:49:55 +00:00
Oscar Fuentes
4a899c7e33
CMake: Documented how to cross-compile with CMake.
...
llvm-svn: 73181
2009-06-11 04:45:08 +00:00