Jakob Stoklund Olesen
f95a1068bd
Fix PR10277.
...
Remat during spilling triggers dead code elimination. If a phi-def
becomes unused, that may also cause live ranges to split into separate
connected components.
This type of splitting is different from normal live range splitting. In
particular, there may not be a common original interval.
When the split range is its own original, make sure that the new
siblings are also their own originals. The range being split cannot be
used as an original since it doesn't cover the new siblings.
llvm-svn: 134413
2011-07-05 15:38:41 +00:00
Jakob Stoklund Olesen
c380e517fd
Tweak comment and debug output.
...
llvm-svn: 134412
2011-07-05 15:38:37 +00:00
Michael J. Spencer
4b7808fe50
Fix 80-col.
...
llvm-svn: 134409
2011-07-05 14:49:08 +00:00
Michael J. Spencer
342a6e8a5f
Fix warnings.
...
llvm-svn: 134408
2011-07-05 14:48:59 +00:00
Tobias Grosser
85fed4b998
SuccIterator on bbs without terminator insts
...
Remove the assert that triggers if SuccIterator is constructed for a basic block
without a terminator instruction. Instead of triggering an assert a succ_end()
iterator is returned. This models a basic block with zero successors and allows
us to use F->viewCFG() on incompletely constructed functions.
llvm-svn: 134398
2011-07-04 23:09:02 +00:00
Benjamin Kramer
2d266249a6
PR10267: Don't combine an equality compare with an AND into an inequality compare when the AND has more than one use.
...
This can pessimize code, inequalities are generally more expensive.
llvm-svn: 134379
2011-07-04 20:16:36 +00:00
Roman Divacky
08f7d5cf91
Remove accidentaly left node from previous iteration of the patch.
...
Noticed by Benjamin Kramer!
llvm-svn: 134376
2011-07-04 15:42:45 +00:00
Rafael Espindola
29113212a6
Move early tail duplication earlier.
...
This fixes the issue noted in PR10251 where early tail dup of bbs with
indirectbr would cause a bb to be duplicated into a loop preheader
and then into its predecessors, creating phi nodes with identical
operands just before register allocation.
This helps with jsinterp.o size (__TEXT goes from 163568 to 126656)
and a bit with performance 1.005x faster on sunspider (jits still enabled).
The result on webkit with the jit disabled is more significant: 1.021x faster.
llvm-svn: 134372
2011-07-04 04:54:22 +00:00
Rafael Espindola
962773db64
Move most of the pre BB code to TailDuplicateAndUpdate. Change the
...
HasIndirectbr variable to be just that. No functionality change.
llvm-svn: 134371
2011-07-04 01:21:42 +00:00
Rafael Espindola
ce4f4ff705
Reduce indentation and fix the count of how many PHIs we have inserted.
...
llvm-svn: 134370
2011-07-04 00:13:36 +00:00
Jakob Stoklund Olesen
9950d41b39
Fix PR10244.
...
A split point inserted in a block with a landing pad successor may be
hoisted above the call to ensure that it dominates all successors. The
code that handles the rest of the basic block must take this into
account.
I am not including a test case, it would be very fragile. PR10244 comes
from building clang with exceptions enabled.
llvm-svn: 134369
2011-07-04 00:05:28 +00:00
Roman Divacky
eae7daa59b
Make the i64 and f64 be 64bit ABI aligned in the target description.
...
This is what both the ABI and clang says.
llvm-svn: 134367
2011-07-03 16:24:07 +00:00
NAKAMURA Takumi
c0837d703b
test/CodeGen/X86/lsr-nonaffine.ll: Relax expressions for Win64 CC to appease Win32 hosts.
...
llvm-svn: 134366
2011-07-03 09:26:14 +00:00
Rafael Espindola
f04e6b50ca
Fix an easy fixme.
...
llvm-svn: 134364
2011-07-03 05:26:42 +00:00
Chandler Carruth
e07bb36a9e
FileCheck-ize another test. Reduces the llc invocations from 8 to 1, and
...
makes one of the tests actually mean something (as the string 'add' will
always appear in the output of this file).
llvm-svn: 134358
2011-07-02 21:34:52 +00:00
Chandler Carruth
941beb26e9
Avoid writing to an arbitrary filename during the test run by writing to
...
a file descriptor.
llvm-svn: 134355
2011-07-02 20:43:18 +00:00
Chandler Carruth
78b12b3ed4
FileCheck-ize another X86 test, making it more precisely verify the
...
desired result based on the comments in the file.
llvm-svn: 134354
2011-07-02 20:43:16 +00:00
Chandler Carruth
1de252c70a
Quote two greps which contain parentheses.
...
llvm-svn: 134353
2011-07-02 20:43:13 +00:00
Chandler Carruth
1926e141f1
FileCheck-ize and simplify RUN lines.
...
llvm-svn: 134352
2011-07-02 20:43:11 +00:00
Chandler Carruth
5de1d825e4
FileCheck-ize
...
llvm-svn: 134351
2011-07-02 20:43:08 +00:00
Chandler Carruth
01e8f9314e
FileCheck-ize and tighten up assertions to only check the relevant sections.
...
llvm-svn: 134350
2011-07-02 20:43:04 +00:00
Chandler Carruth
500b05b1bb
FileCheck-ize and cleanup IR.
...
llvm-svn: 134349
2011-07-02 20:43:01 +00:00
Chandler Carruth
c674fb38ef
FileCheck-ize
...
llvm-svn: 134348
2011-07-02 20:42:59 +00:00
Chandler Carruth
341ed5f0a0
Remove a grep that is already checked with FileCheck.
...
llvm-svn: 134346
2011-07-02 20:42:56 +00:00
Chandler Carruth
88e183829b
FileCheck-ize
...
llvm-svn: 134345
2011-07-02 20:42:53 +00:00
Chandler Carruth
7a0f51e003
FileCheck-ize and modernize IR.
...
llvm-svn: 134344
2011-07-02 20:42:50 +00:00
Chandler Carruth
4af34fe339
FileCheck-ize and simplify RUNs.
...
llvm-svn: 134343
2011-07-02 20:42:48 +00:00
Chandler Carruth
9e114fc3ee
FileCheck-ize and modernize the RUN line.
...
llvm-svn: 134342
2011-07-02 20:42:44 +00:00
Chandler Carruth
df1690a113
FileCheck-ize, tightening checks and avoiding a temporary file.
...
llvm-svn: 134341
2011-07-02 20:42:42 +00:00
Chandler Carruth
a5b1de166b
FileCheck-ize, tightening checks and avoiding a temporary file.
...
llvm-svn: 134340
2011-07-02 20:42:39 +00:00
Chandler Carruth
c041ee0766
FileCheck-ize
...
llvm-svn: 134339
2011-07-02 20:42:36 +00:00
Chandler Carruth
4f82b948fd
FileCheck-ize
...
llvm-svn: 134338
2011-07-02 20:42:33 +00:00
Chandler Carruth
e344d9c676
FileCheck-ize a test, avoiding a temporary file.
...
llvm-svn: 134337
2011-07-02 20:42:31 +00:00
Chandler Carruth
d939fba46d
FileCheck-ize and simplify this test.
...
llvm-svn: 134336
2011-07-02 20:42:28 +00:00
Chandler Carruth
b870175dd5
FileCheck-ize
...
llvm-svn: 134335
2011-07-02 20:42:25 +00:00
Chandler Carruth
d98a57cc5a
FileCheck-ize another codegen test.
...
llvm-svn: 134334
2011-07-02 20:42:22 +00:00
Chandler Carruth
4c7e28777b
Partially FileCheck-ize a test to remove a weird quoting situation.
...
llvm-svn: 134333
2011-07-02 20:42:20 +00:00
Chandler Carruth
0d1da937eb
FileCheck-ize another test, and upgrade its syntax a bit.
...
llvm-svn: 134332
2011-07-02 20:42:17 +00:00
Chandler Carruth
4fd8502d12
FileCheck-ize another codegen test, tightening it up.
...
llvm-svn: 134331
2011-07-02 20:42:14 +00:00
Chandler Carruth
b74aff3ce8
FileCheck-ize another test, making it much more precise for testing the
...
individual cases, while hard coding less about registers in use.
llvm-svn: 134330
2011-07-02 20:42:11 +00:00
Chandler Carruth
70fa55f478
FileCheck-ize another test. This one is more clear and runs fewer
...
commands as a result.
llvm-svn: 134329
2011-07-02 20:42:08 +00:00
Chandler Carruth
72358a4bf8
FileCheck-ize a test, no functionality changed.
...
llvm-svn: 134328
2011-07-02 20:42:06 +00:00
Jordy Rose
6f7044e2b9
Use subprocess.Popen instead of popen2 to stop a deprecation warning when running lit on OS X
...
llvm-svn: 134324
2011-07-02 17:28:55 +00:00
Duncan Sands
da72617832
Remove unused array.
...
llvm-svn: 134323
2011-07-02 16:36:24 +00:00
Duncan Sands
3eb91b3dfd
Revert previous commit. It seems that whether casting to void
...
is valid or not depends on which system you build.
llvm-svn: 134321
2011-07-02 13:14:22 +00:00
Duncan Sands
938be63a66
Supress gcc-4.5 warning about the result not being used.
...
llvm-svn: 134319
2011-07-02 13:06:23 +00:00
Duncan Sands
c1389003b7
Remove unused constant.
...
llvm-svn: 134318
2011-07-02 13:05:02 +00:00
Rafael Espindola
cf67208057
Use getVNInfoAt.
...
llvm-svn: 134312
2011-07-02 07:50:27 +00:00
Jakob Stoklund Olesen
4d72701c7e
Consistent diagnostic capitalization and redundant context elimination.
...
llvm-svn: 134311
2011-07-02 07:23:40 +00:00
Jakob Stoklund Olesen
b94d989634
Better diagnostics when inline asm fails to allocate.
...
asm.c:2:7: error: ran out of registers during register allocation
asm(""::"r"(0), "r"(1), "r"(2), "r"(3), "r"(4), "r"(5), "r"(6), "r"(7), "r"(8), "r"(9));
^
llvm-svn: 134310
2011-07-02 07:17:37 +00:00