1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 11:33:24 +02:00
Commit Graph

21805 Commits

Author SHA1 Message Date
Chris Lattner
4107b4d7ee Compile llvm.stacksave/restore into STACKSAVE/STACKRESTORE nodes, and allow
targets to custom expand them as they desire.

llvm-svn: 25273
2006-01-13 02:50:02 +00:00
Chris Lattner
80fed2d66e expand unsupported stacksave/stackrestore nodes
llvm-svn: 25272
2006-01-13 02:42:53 +00:00
Chris Lattner
ea59d9a498 new nodes
llvm-svn: 25271
2006-01-13 02:40:58 +00:00
Chris Lattner
fac137d4bd add stacksave/stackrestore nodes
llvm-svn: 25270
2006-01-13 02:39:42 +00:00
Chris Lattner
fd8de0ee24 testcase for the llvm.stacksave/llvm.stackrestore intrinsics.
llvm-svn: 25269
2006-01-13 02:25:08 +00:00
Chris Lattner
5ab0813f3a Add "support" for stacksave/stackrestore to the dag isel
llvm-svn: 25268
2006-01-13 02:24:42 +00:00
Chris Lattner
5f8aeedc58 Add "support" for the llvm.stacksave/stackrestore intrinsics, this is
used by the C backend.

llvm-svn: 25267
2006-01-13 02:22:08 +00:00
Chris Lattner
e13a03d217 Add recognition and verification of new llvm.stacksave/llvm.stackrestore intrinsics
llvm-svn: 25266
2006-01-13 02:15:39 +00:00
Chris Lattner
6f8204560f add new llvm.stacksave/llvm.stackrestore intrinsics
llvm-svn: 25265
2006-01-13 02:15:02 +00:00
Chris Lattner
b24168a52c Add llvm.stacksave and llvm.stackrestore.
llvm-svn: 25264
2006-01-13 02:03:13 +00:00
Evan Cheng
e43fbe0d93 Minor update.
llvm-svn: 25263
2006-01-13 01:20:42 +00:00
Chris Lattner
7b853c5fbe void* is not legal in LLVM.
llvm-svn: 25262
2006-01-13 01:20:27 +00:00
Evan Cheng
bed984a1c8 More typo's. I need new eye glasses...
llvm-svn: 25261
2006-01-13 01:17:24 +00:00
Evan Cheng
ae2915ac91 Oops. Typo.
llvm-svn: 25260
2006-01-13 01:06:49 +00:00
Evan Cheng
3f2ae15472 Fix a SETCC / BRCOND folding bug.
llvm-svn: 25259
2006-01-13 01:03:02 +00:00
Evan Cheng
c292939f84 Test case for a SETCC / BRCOND folding bug.
llvm-svn: 25258
2006-01-13 01:02:22 +00:00
Evan Cheng
794a7cf6fe Fix sint_to_fp (fild*) support.
llvm-svn: 25257
2006-01-12 22:54:21 +00:00
Chris Lattner
f997ab779f Add a simple missing fold to produce this:
subfic r3, r2, 33

instead of this:

        subfic r2, r2, 32
        addi r3, r2, 1

llvm-svn: 25255
2006-01-12 20:22:43 +00:00
Evan Cheng
169206c67f Specify transformation from GlobalAddress to TargetGlobalAddress and
ExternalSymbol to TargetExternalSymbol.

llvm-svn: 25253
2006-01-12 19:36:31 +00:00
Evan Cheng
dc7ec6c63e Allow transformation from GlobalAddress to TargetGlobalAddress and
ExternalSymbol to TargetExternalSymbol.

llvm-svn: 25252
2006-01-12 19:35:54 +00:00
Chris Lattner
c9d03f7b02 If using __main, emit global ctor/dtor list like any other global
llvm-svn: 25251
2006-01-12 19:17:23 +00:00
Chris Lattner
ac8df987d5 Don't create rotate instructions in unsupported types, because we don't have
promote/expand code yet.  This fixes the 177.mesa failure on PPC.

llvm-svn: 25250
2006-01-12 18:57:33 +00:00
Chris Lattner
1f1d6eb6a9 Fix branches on FP compares
llvm-svn: 25249
2006-01-12 17:05:32 +00:00
Chris Lattner
d850f21540 Patch #10 from Saem:
"Extracts a few more methods, reduces some redundancy in the code at
the same time."

llvm-svn: 25248
2006-01-12 16:48:23 +00:00
Evan Cheng
978f5581c4 X86ISD::SETCC (e.g. SETEr) produces a flag (so multiple SETCC can be
linked together).

llvm-svn: 25247
2006-01-12 08:27:59 +00:00
Evan Cheng
dd45d29b56 * Materialize GlobalAddress and ExternalSym with MOV32ri rather than
LEA32r.
* Do not lower GlobalAddress to TargetGlobalAddress. Let isel does it.

llvm-svn: 25246
2006-01-12 07:56:47 +00:00
Evan Cheng
bbe910088d GlobalAddress -> TargetGlobalAddress; ExternalSymbol -> TargetExternalSymbol
llvm-svn: 25245
2006-01-12 07:54:57 +00:00
Chris Lattner
03fcd99728 fix a bug in my previous checkin
llvm-svn: 25244
2006-01-12 07:38:04 +00:00
Chris Lattner
07bdb6319b Give V8ISD nodes symbolic names in dumps
llvm-svn: 25243
2006-01-12 07:31:15 +00:00
Chris Lattner
376a82c32c Convert the verifier over to use ETForest instead of DominatorSet. Patch
by Daniel Berlin

llvm-svn: 25242
2006-01-12 06:17:59 +00:00
Duraid Madina
f6131d02a9 sabre's (correct) fix means these guys need to be flagged as well (else
the scheduler will complain)

llvm-svn: 25241
2006-01-12 03:28:40 +00:00
Duraid Madina
14c66214a3 verily, sabre did leave
and yea! Saem said "ARRR."

meanwhile, the pinksias and the campfires and the ET forests glowed.

llvm-svn: 25240
2006-01-12 02:50:34 +00:00
Chris Lattner
29e1825fd3 ahem :)
llvm-svn: 25239
2006-01-12 02:05:36 +00:00
Chris Lattner
452a84e2b6 these cases are autogenerated
llvm-svn: 25238
2006-01-12 02:01:45 +00:00
Chris Lattner
861897037b remove dead code
llvm-svn: 25237
2006-01-12 01:54:15 +00:00
Chris Lattner
e88b032f85 Goodbye PPC pattern isel. You have served us well, but it is now time for
you to ride off into the sunset.

llvm-svn: 25236
2006-01-12 01:46:07 +00:00
Chris Lattner
2514d94ca3 Fix an itanium call lowering bug for duraid
llvm-svn: 25235
2006-01-12 01:33:08 +00:00
Chris Lattner
7592fe2d86 invert the sense of this switch and its name
llvm-svn: 25234
2006-01-12 01:28:56 +00:00
Nate Begeman
2b45fdffcb Missed a spot.
llvm-svn: 25233
2006-01-11 23:20:28 +00:00
Evan Cheng
5841005bdf Added ROTL and ROTR.
llvm-svn: 25232
2006-01-11 23:20:05 +00:00
Chris Lattner
c8527856c1 Fix an off-by-one error that Nate's eagle eyes caught
llvm-svn: 25231
2006-01-11 23:16:29 +00:00
Chris Lattner
5633c9bccf Use the auto-insert BuildMI constructor to avoid an explicit insert. No
functionality change, just code cleanup.

llvm-svn: 25230
2006-01-11 23:07:57 +00:00
Chris Lattner
2c8238e494 If a function has a non-zero sized frame, use an add to adjust the stack
pointer in the epilog, not a load.

llvm-svn: 25229
2006-01-11 23:03:54 +00:00
Nate Begeman
93dc802c60 Add testcase for rotate by register and rotate by immediate
llvm-svn: 25228
2006-01-11 22:58:12 +00:00
Evan Cheng
5fa1397b29 Some minor fixes.
llvm-svn: 25227
2006-01-11 22:16:13 +00:00
Evan Cheng
66540aa32c Support for MEMCPY and MEMSET.
llvm-svn: 25226
2006-01-11 22:15:48 +00:00
Evan Cheng
3c3391632d Select DYNAMIC_STACKALLOC
llvm-svn: 25225
2006-01-11 22:15:18 +00:00
Evan Cheng
c2241561ae Allow custom lowering of DYNAMIC_STACKALLOC.
llvm-svn: 25224
2006-01-11 22:14:47 +00:00
Evan Cheng
7bd69b756e ignore register #0
llvm-svn: 25223
2006-01-11 22:13:48 +00:00
Nate Begeman
cff96008ac Add bswap, rotl, and rotr nodes
Add dag combiner code to recognize rotl, rotr
Add ppc code to match rotl

Targets should add rotl/rotr patterns if they have them

llvm-svn: 25222
2006-01-11 21:21:00 +00:00