Evan Cheng
98216808fe
If killed register is defined by implicit_def, do not clear it since it's live range may overlap another def of same register.
...
llvm-svn: 73255
2009-06-12 21:34:26 +00:00
Chris Lattner
75c88a3730
second half of fix for PR4366: don't zap store to null of
...
non-default addrspaces.
llvm-svn: 73253
2009-06-12 21:01:07 +00:00
Evan Cheng
2f784781aa
Mark some pattern-less instructions as neverHasSideEffects.
...
llvm-svn: 73252
2009-06-12 20:46:18 +00:00
Devang Patel
95b4743214
Document noredzone and noimplicitfloat function attributes.
...
llvm-svn: 73246
2009-06-12 19:45:19 +00:00
Devang Patel
8d9aa4249a
Clear AbstractInstanceRootMap at the end of the function.
...
llvm-svn: 73244
2009-06-12 19:24:05 +00:00
Dan Gohman
f9b0419cd8
Don't do (x - (y - z)) --> (x + (z - y)) on floating-point types, because
...
it may round differently. This fixes PR4374.
llvm-svn: 73243
2009-06-12 19:23:25 +00:00
Dan Gohman
43f66023c3
Give Instruction::isSameOperationAs a corresponding comment to note
...
the relationship with MergeFunctions.cpp's isEquivalentOperation,
and make a trivial code reordering so that the two functions are
easier to compare.
Fix the name of Instruction::isSameOperationAs in MergeFunction.cpp's
isEquivalentOperation's comment, and fix a nearby 80-column violation.
llvm-svn: 73241
2009-06-12 19:03:05 +00:00
Dale Johannesen
b5be21ef41
Testcase for llvm-gcc patch 73238.
...
llvm-svn: 73239
2009-06-12 18:41:53 +00:00
Bill Wendling
94a47465af
Waste time fixing something that should have been fixed before.
...
llvm-svn: 73236
2009-06-12 18:02:40 +00:00
Nick Lewycky
32fec8ff24
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
Arnold Schwaighofer
780e3addf8
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
Nick Lewycky
effec6b472
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
1e36649f95
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
92153907f3
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
72523163ad
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
cc239d7680
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
f0b761540d
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
7d79ddff64
Credits for Edward O'Callaghan.
...
llvm-svn: 73223
2009-06-12 12:52:24 +00:00
Nick Lewycky
5b80791480
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
61f78a2674
Fix regular expression.
...
llvm-svn: 73221
2009-06-12 05:39:02 +00:00
Nick Lewycky
bbce41f698
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
127b1cc900
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
Oscar Fuentes
9f16ef410d
CMake: New variable LLVM_LIBDIR_SUFFIX.
...
Patch by Ingmar Vanhassel!
llvm-svn: 73216
2009-06-12 02:49:53 +00:00
Misha Brukman
5f9665b84a
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
797945ae86
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
e3b5c81cb8
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
74e9f6c070
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
2b429fb48f
Use forward declarations and move TargetELFWriterInfo impl to a new file.
...
llvm-svn: 73209
2009-06-11 22:13:00 +00:00
Dale Johannesen
60e261db11
Test for rev 73205 (PR 4349)
...
llvm-svn: 73206
2009-06-11 20:48:09 +00:00
Bill Wendling
dea5417ce0
Alphabetize.
...
llvm-svn: 73203
2009-06-11 20:13:35 +00:00
Bill Wendling
038b8dd7b5
Remove unused parameter warnings.
...
llvm-svn: 73202
2009-06-11 20:10:02 +00:00
Bruno Cardoso Lopes
9b68e8653f
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
Chris Lattner
e0360f8ae8
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
4d678059ba
Generate libcalls for floating point arithmetic and casting operations.
...
llvm-svn: 73194
2009-06-11 16:50:48 +00:00
Duncan Sands
9b5e3effef
Cosmetic changes to parameter attribute verification.
...
llvm-svn: 73188
2009-06-11 08:11:03 +00:00
Duncan Sands
c12241a948
Avoid leaking memory in an error path. Noticed
...
by cppcheck.
llvm-svn: 73187
2009-06-11 08:09:49 +00:00
Sanjiv Gupta
1f8f8ce400
More formatting.
...
llvm-svn: 73185
2009-06-11 06:55:48 +00:00
Sanjiv Gupta
04cb690c99
Fixed source comments. No functionality change.
...
llvm-svn: 73184
2009-06-11 06:49:55 +00:00
Oscar Fuentes
fd06248a88
CMake: Documented how to cross-compile with CMake.
...
llvm-svn: 73181
2009-06-11 04:45:08 +00:00
Oscar Fuentes
cfe2266e89
CMake: Fixed parallel build problem related to native tblgen when
...
cross-compiling.
llvm-svn: 73180
2009-06-11 04:16:10 +00:00
Oscar Fuentes
c2d42ced17
CMake: Updated list of files on lib/CodeGen/CMakeLists.txt.
...
llvm-svn: 73174
2009-06-10 22:53:59 +00:00
Jay Foad
5affd7b2c9
Implement and use new method Function::hasAddressTaken().
...
llvm-svn: 73164
2009-06-10 08:41:11 +00:00
Sanjiv Gupta
02c9163ae2
Remove warnings: no newline at end of file.
...
llvm-svn: 73156
2009-06-10 03:42:13 +00:00
Anton Korobeynikov
1447d902e3
Silence a warning
...
llvm-svn: 73152
2009-06-09 23:00:39 +00:00
Misha Brukman
789c11dcc0
Reversed order of args in EXPECT_EQ() macros to be in the correct order:
...
EXPECT_EQ(expected, actual) . This will make error messages understandable as
it uses terms such as "expected" and "actual" based on the order of arguments.
llvm-svn: 73150
2009-06-09 21:48:57 +00:00
Jay Foad
209162fd09
Remove an unused function SafeToDestroyConstant(). Rename an almost
...
identical function ConstantIsDead() to SafeToDestroyConstant(), to
emphasise the connection with Constant::destroyConstant().
llvm-svn: 73149
2009-06-09 21:37:11 +00:00
Daniel Dunbar
06ef64d379
Remove empty test (my DejaGNU doesn't like this)
...
llvm-svn: 73148
2009-06-09 21:24:39 +00:00
Rafael Espindola
65d1c4f548
Bug fix:
...
string::find returns string::npos if the substring is not found.
llvm-svn: 73145
2009-06-09 21:14:25 +00:00
Bill Wendling
23d6f0b5c7
Simplified logic of this if-then statement to reduce nesting. No functionality
...
change.
llvm-svn: 73143
2009-06-09 20:08:51 +00:00
Owen Anderson
996a7f7f37
Add the beginnings of an implementatation of lazy liveness analysis, based on "Fast Liveness Checking for SSA-form Programs" by Boissinot, et al.
...
This is still very early, hasn't been tested, and is not yet well documented. More to come soon.
llvm-svn: 73141
2009-06-09 19:30:45 +00:00