1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
Commit Graph

27357 Commits

Author SHA1 Message Date
Evan Cheng
83b0827a2e Add a printSetLabel that takes two id's.
llvm-svn: 31347
2006-11-01 09:23:08 +00:00
Chris Lattner
2cedfa5156 Factor gep instructions through phi nodes.
llvm-svn: 31346
2006-11-01 07:43:41 +00:00
Chris Lattner
01a3d12bda remove a testcase for a marginal feature
llvm-svn: 31345
2006-11-01 07:15:44 +00:00
Chris Lattner
61ea2af8fe Turn a phi of many loads into a phi of the address and a single load of the
result.  This can significantly shrink code and exposes identities more
aggressively.

llvm-svn: 31344
2006-11-01 07:13:54 +00:00
Evan Cheng
790d5c7697 Fix ldmxcsr JIT encoding.
llvm-svn: 31343
2006-11-01 06:53:52 +00:00
Chris Lattner
e43c3b1681 Fix a bug in the previous patch
llvm-svn: 31342
2006-11-01 04:55:47 +00:00
Chris Lattner
7211110992 Fold things like "phi [add (a,b), add(c,d)]" into two phi's and one add.
This triggers thousands of times on multisource.

llvm-svn: 31341
2006-11-01 04:51:18 +00:00
Evan Cheng
67c04b1f2a Print jumptable index.
llvm-svn: 31340
2006-11-01 04:48:30 +00:00
Reid Spencer
a47902dc6f Remove unnecessary sign conversions made possible by last patch.
llvm-svn: 31339
2006-11-01 03:45:43 +00:00
Reid Spencer
ea7b487e03 Fix a bug in the interpreter where divides of unmatched signed operands
would fail. E.g. udiv sint X, Y  or sdiv uint X, Y would fail to find a
type match in the switch statement and fail the operation.

llvm-svn: 31338
2006-11-01 03:41:05 +00:00
Chris Lattner
b459c08384 make tail merging more aggressive. If two blocks share a common tail, but the
tail is not an entire block for either of them, pick one, split it, then
merge the common part.

llvm-svn: 31336
2006-11-01 01:16:12 +00:00
Chris Lattner
5651528580 enable branch folding with an option
llvm-svn: 31335
2006-11-01 00:38:31 +00:00
Evan Cheng
a585562f95 Not meant to be checked in.
llvm-svn: 31334
2006-11-01 00:27:59 +00:00
Evan Cheng
c566892bd5 Add operand constraints to TargetInstrInfo.
llvm-svn: 31333
2006-11-01 00:27:05 +00:00
Evan Cheng
f49cb35d90 Add constraints to Instruction class.
llvm-svn: 31332
2006-11-01 00:26:27 +00:00
Andrew Lenharth
92b6c807c7 more shotenning
llvm-svn: 31331
2006-10-31 23:46:56 +00:00
Chris Lattner
850ef9955d Compile CodeGen/PowerPC/fp-branch.ll to:
_intcoord_cond_next55:
LBB1_3: ;cond_next55
        lis r2, ha16(LCPI1_0)
        lfs f0, lo16(LCPI1_0)(r2)
        fcmpu cr0, f1, f0
        blt cr0, LBB1_2 ;cond_next62.exitStub
LBB1_1: ;bb72.exitStub
        li r3, 1
        blr
LBB1_2: ;cond_next62.exitStub
        li r3, 0
        blr

instead of:

_intcoord_cond_next55:
LBB1_3: ;cond_next55
        lis r2, ha16(LCPI1_0)
        lfs f0, lo16(LCPI1_0)(r2)
        fcmpu cr0, f1, f0
        bge cr0, LBB1_1 ;bb72.exitStub
LBB1_4: ;cond_next55
        lis r2, ha16(LCPI1_0)
        lfs f0, lo16(LCPI1_0)(r2)
        fcmpu cr0, f1, f0
        bnu cr0, LBB1_2 ;cond_next62.exitStub
LBB1_1: ;bb72.exitStub
        li r3, 1
        blr
LBB1_2: ;cond_next62.exitStub
        li r3, 0
        blr

llvm-svn: 31330
2006-10-31 23:06:00 +00:00
Chris Lattner
1f47e3da50 This test should compile down to one comparison, not two.
llvm-svn: 31329
2006-10-31 23:05:16 +00:00
Chris Lattner
3131b7d6d1 look through isunordered to inline it into branch blocks.
llvm-svn: 31328
2006-10-31 22:37:42 +00:00
Evan Cheng
cabfd99a79 Nuke dead code.
llvm-svn: 31327
2006-10-31 21:53:31 +00:00
Chris Lattner
def30d3eda allow the address of a global to be used with the "i" constraint when in
-static mode.  This implements PR882.

llvm-svn: 31326
2006-10-31 20:13:11 +00:00
Chris Lattner
0571c323bf implement the 'c' inline asm modifier character
llvm-svn: 31325
2006-10-31 20:12:30 +00:00
Chris Lattner
f02f038d84 new testcase for PR882
llvm-svn: 31324
2006-10-31 20:11:14 +00:00
Chris Lattner
3bc1ad2c4a handle global address constant sdnodes
llvm-svn: 31323
2006-10-31 20:01:56 +00:00
Andrew Lenharth
cc672e3b2b Let us play simplify the td file (and fix a few missed sub and mul patterns).
llvm-svn: 31322
2006-10-31 19:52:12 +00:00
Andrew Lenharth
4ffd67f8cf make one giant add and sub tester
llvm-svn: 31321
2006-10-31 19:50:55 +00:00
Chris Lattner
3bed109ed9 handle "st" as "st(0)"
llvm-svn: 31320
2006-10-31 19:42:44 +00:00
Chris Lattner
a44a27dc47 TargetLowering::isOperandValidForConstraint
llvm-svn: 31319
2006-10-31 19:41:18 +00:00
Chris Lattner
d9afd310a6 Change the prototype for TargetLowering::isOperandValidForConstraint
llvm-svn: 31318
2006-10-31 19:40:43 +00:00
Chris Lattner
3b7a9fa472 generalize the fix for PR977 to also fix
Transforms/LCSSA/2006-10-31-UnreachableBlock-2.ll

llvm-svn: 31317
2006-10-31 18:56:48 +00:00
Chris Lattner
04f01db216 another testcase for PR977
llvm-svn: 31316
2006-10-31 18:56:24 +00:00
Chris Lattner
79daf6ae80 Fix PR977 and Transforms/LCSSA/2006-10-31-UnreachableBlock.ll
llvm-svn: 31315
2006-10-31 17:52:18 +00:00
Chris Lattner
0e320bc90e testcase for PR977
llvm-svn: 31314
2006-10-31 17:51:36 +00:00
Andrew Lenharth
c4f8836525 Add all that branch mangling niftiness
llvm-svn: 31313
2006-10-31 16:49:55 +00:00
Rafael Espindola
ba8771a3db add support for calling functions when the caller has variable sized objects
llvm-svn: 31312
2006-10-31 13:03:26 +00:00
Anton Korobeynikov
e6ba8a819c 1. Clean up code due to changes in SwitchTo*Section(2)
2. Added partial debug support for mingw\cygwin targets (the same as
   Linux\ELF). Please note, that currently mingw\cygwin uses 'stabs' format
   for storing debug info by default, thus many (runtime) libraries has
   this information included. These formats shouldn't be mixed in one binary
   ('stabs' & 'DWARF'), otherwise binutils tools will be confused.

llvm-svn: 31311
2006-10-31 08:31:24 +00:00
Chris Lattner
a9f10b25cc Turn an assert into an error message. This is commonly triggered when
we don't support a specific constraint yet.  When this happens, print the
unsupported constraint.

llvm-svn: 31310
2006-10-31 07:33:13 +00:00
Chris Lattner
7e89842228 add a note
llvm-svn: 31309
2006-10-31 06:26:10 +00:00
Chris Lattner
eeb4570a0b new testcase
llvm-svn: 31308
2006-10-31 06:25:13 +00:00
Chris Lattner
333ac98bad new testcase
llvm-svn: 31307
2006-10-31 06:15:14 +00:00
Anton Korobeynikov
9867bf5eaf Unbreaking static ctors patch.
Defaulting second arguments of SwitchTo*Section, this should make things
somehow clearer.

llvm-svn: 31306
2006-10-31 06:11:06 +00:00
Evan Cheng
3da8d26445 Fix a typo which can break jumptables.
llvm-svn: 31305
2006-10-31 02:31:00 +00:00
Reid Spencer
0b5a938e79 Make this compile again.
llvm-svn: 31304
2006-10-31 01:45:56 +00:00
Evan Cheng
a8168f310e Apply Aton's LLVM patch for PR973: Linux ctors / dtors support.
llvm-svn: 31303
2006-10-31 01:26:55 +00:00
Reid Spencer
fe7c10d900 Fix a problem introduced by a last-minute change (logic negation).
llvm-svn: 31302
2006-10-30 23:34:32 +00:00
Chris Lattner
ed0b1b4b24 fix miscompilation of llvm.isunordered, where we branched on the opposite
condition.  This fixes miscompilation of Olden/bh and many others.

llvm-svn: 31301
2006-10-30 23:02:25 +00:00
Reid Spencer
e01994f8b1 Don't mislead readers by claiming a variable is defaulted to false when
the default is actually true.

llvm-svn: 31300
2006-10-30 22:46:49 +00:00
Reid Spencer
db06ed9156 Add debug support for X86/ELF targets (Linux). This allows llvm-gcc4
generated object modules to be debugged with gdb. Hopefully this helps
pre-release debugging.

llvm-svn: 31299
2006-10-30 22:32:30 +00:00
Chris Lattner
ac9ed02670 fix wonky indentation
llvm-svn: 31298
2006-10-30 22:27:23 +00:00
Devang Patel
2015279c13 Update comment. Valid option is -debug-pass=Structures.
llvm-svn: 31297
2006-10-30 19:25:54 +00:00