1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
Commit Graph

140 Commits

Author SHA1 Message Date
Chris Lattner
7673a468dc add a note
llvm-svn: 54602
2008-08-10 00:47:21 +00:00
Chris Lattner
15ae951af5 Add a note.
llvm-svn: 53535
2008-07-14 00:19:59 +00:00
Nick Lewycky
1bcd80adf7 Peer through sext/zext when looking for not(cmp).
llvm-svn: 51819
2008-05-31 19:01:33 +00:00
Nick Lewycky
566baa2c72 Yay us! Every one of these examples turns into icmp/zext/ret.
llvm-svn: 51818
2008-05-31 18:20:26 +00:00
Chris Lattner
504c367af9 trip count computation deficiency
llvm-svn: 51222
2008-05-17 15:37:38 +00:00
Nick Lewycky
7d33dc0878 Moved from PR1570.
llvm-svn: 48965
2008-03-30 19:07:11 +00:00
Chris Lattner
f166a78d79 add a note.
llvm-svn: 48583
2008-03-20 04:46:13 +00:00
Chris Lattner
dc9bf8fda9 various rotate fun.
llvm-svn: 48438
2008-03-17 01:47:51 +00:00
Chris Lattner
f818270d43 another random note
llvm-svn: 47831
2008-03-02 19:29:42 +00:00
Chris Lattner
38a684c0c9 Move pr717 to here.
llvm-svn: 47803
2008-03-02 02:51:40 +00:00
Chris Lattner
f0329b6170 add a note
llvm-svn: 47720
2008-02-28 17:21:27 +00:00
Chris Lattner
dab318a206 target-indep codegen memcpy lowering issue.
llvm-svn: 47705
2008-02-28 05:34:27 +00:00
Chris Lattner
79ecc053ca upgrade some tests.
llvm-svn: 47280
2008-02-18 18:46:39 +00:00
Nate Begeman
66df9740df Add a note
llvm-svn: 47279
2008-02-18 18:39:23 +00:00
Chris Lattner
8b29caac2c clarify a note
llvm-svn: 45914
2008-01-12 18:58:46 +00:00
Chris Lattner
08a33a998a add some notes.
llvm-svn: 45854
2008-01-11 06:17:47 +00:00
Chris Lattner
3c2a517080 add a note
llvm-svn: 45837
2008-01-10 18:25:41 +00:00
Chris Lattner
4253eeaeb3 add a note
llvm-svn: 45766
2008-01-09 00:17:57 +00:00
Chris Lattner
66e631ace3 possible switch lowering improvement.
llvm-svn: 45720
2008-01-07 21:38:14 +00:00
Chris Lattner
9aefefc673 add a note
llvm-svn: 45698
2008-01-07 07:46:23 +00:00
Chris Lattner
d82b30a996 this is done.
llvm-svn: 45408
2007-12-29 19:38:02 +00:00
Chris Lattner
78c7878ca4 expand note.
llvm-svn: 45393
2007-12-29 01:05:01 +00:00
Chris Lattner
b8e060f7a6 add a note.
llvm-svn: 45388
2007-12-28 22:30:05 +00:00
Chris Lattner
e53df84267 add a note
llvm-svn: 45377
2007-12-28 04:42:05 +00:00
Christopher Lamb
aeb76743dc Fold certain additions through selects (and their compares) so as to eliminate subtractions. This code is often produced by the SMAX expansion in SCEV.
This implements test/Transforms/InstCombine/2007-12-18-AddSelCmpSub.ll

llvm-svn: 45158
2007-12-18 09:34:41 +00:00
Chris Lattner
ad090a712a add a missed case.
llvm-svn: 45141
2007-12-18 01:19:18 +00:00
Chris Lattner
c467b49c96 implement a readme entry, compiling the code into:
_foo:
	movl	$12, %eax
	andl	4(%esp), %eax
	movl	_array(%eax), %eax
	ret

instead of:

_foo:
	movl	4(%esp), %eax
	shrl	$2, %eax
	andl	$3, %eax
	movl	_array(,%eax,4), %eax
	ret

As it turns out, this triggers all the time, in a wide variety of
situations, for example, I see diffs like this in various programs:

-       movl    8(%eax), %eax
-       shll    $2, %eax
-       andl    $1020, %eax
-       movl    (%esi,%eax), %eax
+       movzbl  8(%eax), %eax
+       movl    (%esi,%eax,4), %eax


-       shll    $2, %edx
-       andl    $1020, %edx
-       movl    (%edi,%edx), %edx
+       andl    $255, %edx
+       movl    (%edi,%edx,4), %edx

Unfortunately, I also see stuff like this, which can be fixed in the
X86 backend:

-       andl    $85, %ebx
-       addl    _bit_count(,%ebx,4), %ebp
+       shll    $2, %ebx
+       andl    $340, %ebx
+       addl    _bit_count(%ebx), %ebp

llvm-svn: 44656
2007-12-06 07:33:36 +00:00
Chris Lattner
e3f1487574 add a note
llvm-svn: 44638
2007-12-05 23:05:06 +00:00
Chris Lattner
17feaa781c add a note
llvm-svn: 42573
2007-10-03 06:10:59 +00:00
Chris Lattner
272510387e add a note
llvm-svn: 36811
2007-05-05 22:44:08 +00:00
Chris Lattner
0074283b61 the mason example is implemented. Move some examples out of llvm/test,
upgrade the syntax of some other examples.

llvm-svn: 36806
2007-05-05 22:29:06 +00:00
Chris Lattner
a04981fbda add a bad case evan though of.
llvm-svn: 35296
2007-03-24 06:01:32 +00:00
Chris Lattner
a1df6908d2 minor updates
llvm-svn: 35143
2007-03-18 22:41:33 +00:00
Nick Lewycky
04ecc07c25 This is implemented. We now generate:
entry:
        icmp ugt i32 %x, 4              ; <i1>:0 [#uses=1]
        br i1 %0, label %cond_true, label %cond_false

cond_true:              ; preds = %entry
        %tmp1 = tail call i32 (...)* @bar( i32 12 )             ; <i32> [#uses=0]
        ret void

cond_false:             ; preds = %entry
        switch i32 %x, label %cond_true15 [
                 i32 4, label %cond_true3
                 i32 3, label %cond_true7
                 i32 2, label %cond_true11
                 i32 0, label %cond_false17
        ]

...

llvm-svn: 35142
2007-03-18 14:37:20 +00:00
Reid Spencer
e7ff3305d6 For PR1195:
Change use of "packed" term to "vector" in comments, strings, variable
names, etc.

llvm-svn: 34300
2007-02-15 03:39:18 +00:00
Chris Lattner
67bdb3aae8 add a note
llvm-svn: 34249
2007-02-13 21:44:43 +00:00
Chris Lattner
06f52d3e1e add a note: we need whole-function selectiondags :)
llvm-svn: 33252
2007-01-16 06:39:48 +00:00
Reid Spencer
4428c3483b For PR950:
This patch removes the SetCC instructions and replaces them with the ICmp
and FCmp instructions. The SetCondInst instruction has been removed and
been replaced with ICmpInst and FCmpInst.

llvm-svn: 32751
2006-12-23 06:05:41 +00:00
Chris Lattner
48e3989461 Evan implemented the machineinstr improvements.
The rot example works if the type is cast to ubyte.

Move sroa examples together and upgrade them to HEAD syntax.

llvm-svn: 32423
2006-12-11 00:44:03 +00:00
Chris Lattner
02a2f33279 add a note
llvm-svn: 32347
2006-12-08 02:01:32 +00:00
Chris Lattner
e72dff706e done
llvm-svn: 32013
2006-11-29 07:21:46 +00:00
Chris Lattner
8913d79def add a note
llvm-svn: 31719
2006-11-14 01:57:53 +00:00
Nick Lewycky
f4f28f415d Cute example from Chris Lattner.
llvm-svn: 31696
2006-11-13 00:23:28 +00:00
Chris Lattner
48d2b0af37 add a note about viterbi
llvm-svn: 31612
2006-11-10 00:23:26 +00:00
Chris Lattner
c3e6822514 add a note
llvm-svn: 31477
2006-11-06 21:26:49 +00:00
Chris Lattner
2cb1391e09 add a note
llvm-svn: 31429
2006-11-03 22:27:39 +00:00
Reid Spencer
6833ffe8b8 For PR950:
Make necessary changes to support DIV -> [SUF]Div. This changes llvm to
have three division instructions: signed, unsigned, floating point. The
bytecode and assembler are bacwards compatible, however.

llvm-svn: 31195
2006-10-26 06:15:43 +00:00
Chris Lattner
efee605648 new bad case
llvm-svn: 31156
2006-10-24 16:12:47 +00:00
Chris Lattner
6dc95b7b26 add a note about a general improvement to the code generator
llvm-svn: 30642
2006-09-28 06:01:17 +00:00
Chris Lattner
2281c3f6ca more notes
llvm-svn: 30598
2006-09-25 17:12:14 +00:00
Chris Lattner
2b076f26b7 item done
llvm-svn: 30483
2006-09-19 06:19:03 +00:00
Chris Lattner
a1349de598 This is closer to what we really want.
llvm-svn: 30451
2006-09-18 04:54:35 +00:00
Chris Lattner
563785bc55 add a note noticed through source inspection
llvm-svn: 30418
2006-09-16 23:57:51 +00:00
Chris Lattner
bf14089e11 add a nate note
llvm-svn: 30399
2006-09-15 20:31:36 +00:00
Chris Lattner
b3ab5fac28 We compile this into:
_swap_16:
        slwi r2, r3, 24
        rlwimi r2, r3, 8, 8, 15
        srwi r3, r2, 16
        blr

now.

llvm-svn: 29864
2006-08-24 23:06:02 +00:00
Chris Lattner
b8292ee9e7 Owen implemented this.
llvm-svn: 29863
2006-08-24 23:03:33 +00:00
Chris Lattner
a5c50baaf5 Add a note
llvm-svn: 28572
2006-05-30 21:29:15 +00:00
Chris Lattner
9d6103087a Add a note
llvm-svn: 28424
2006-05-21 03:57:07 +00:00
Chris Lattner
ec58aa014f Add a note
llvm-svn: 28402
2006-05-19 21:01:38 +00:00
Chris Lattner
9c8f608215 Move a target-independent note out of the X86 readme.
llvm-svn: 28398
2006-05-19 20:45:08 +00:00
Chris Lattner
9c7cab7478 add a note
llvm-svn: 28384
2006-05-18 18:26:13 +00:00
Chris Lattner
2c1c3896ed add a note
llvm-svn: 27907
2006-04-20 18:49:28 +00:00
Chris Lattner
2a24d68439 New note
llvm-svn: 27337
2006-04-02 01:47:20 +00:00
Chris Lattner
894231e63e ADd a note
llvm-svn: 27324
2006-04-01 04:08:29 +00:00
Evan Cheng
403cd8f787 An entry about packed type alignments.
llvm-svn: 27321
2006-03-31 22:35:14 +00:00
Chris Lattner
045f6bf0ef add a note
llvm-svn: 27076
2006-03-24 19:59:17 +00:00
Chris Lattner
64be951e06 add a note
llvm-svn: 26950
2006-03-22 07:33:46 +00:00
Evan Cheng
9f00d55227 Remind us of exit value substitution
llvm-svn: 26862
2006-03-19 06:09:23 +00:00
Nate Begeman
42736d46b2 Remove BRTWOWAY*
Make the PPC backend not dependent on BRTWOWAY_CC and make the branch
selector smarter about the code it generates, fixing a case in the
readme.

llvm-svn: 26814
2006-03-17 01:40:33 +00:00
Chris Lattner
9df7eb4071 add a note
llvm-svn: 26762
2006-03-14 19:31:24 +00:00
Chris Lattner
80c5fabe4e transformation implemented
llvm-svn: 26754
2006-03-14 06:57:34 +00:00
Evan Cheng
99e87e9147 Update
llvm-svn: 26741
2006-03-13 23:19:10 +00:00
Chris Lattner
ea1453c3dc remove two implemented items
llvm-svn: 26728
2006-03-13 06:52:22 +00:00
Chris Lattner
916761949b add an example
llvm-svn: 26709
2006-03-11 20:20:40 +00:00
Chris Lattner
115b1be710 add a note
llvm-svn: 26708
2006-03-11 20:17:08 +00:00
Chris Lattner
c08825d684 add a note
llvm-svn: 26661
2006-03-09 20:13:21 +00:00
Chris Lattner
174768dde0 add a note
llvm-svn: 26583
2006-03-07 02:46:26 +00:00
Chris Lattner
4957693551 add a note
llvm-svn: 26549
2006-03-05 20:00:08 +00:00
Chris Lattner
7d2423c91f Implemented.
llvm-svn: 26536
2006-03-04 23:33:44 +00:00
Chris Lattner
35dbbc5676 Add a note
llvm-svn: 26523
2006-03-04 08:44:51 +00:00
Chris Lattner
de8c7d8ae2 add a note
llvm-svn: 26513
2006-03-04 01:19:34 +00:00
Chris Lattner
9a522f068e add a note
llvm-svn: 26472
2006-03-02 22:34:38 +00:00
Chris Lattner
5d8ecbe2e5 missed optzn
llvm-svn: 26299
2006-02-21 18:29:44 +00:00
Evan Cheng
93b4f4fa67 Remove an entry.
llvm-svn: 26222
2006-02-15 22:14:34 +00:00
Chris Lattner
d720ec9449 new test
llvm-svn: 26217
2006-02-15 19:52:06 +00:00
Chris Lattner
da908d19fd This xform isn't safe
llvm-svn: 26007
2006-02-05 08:26:16 +00:00
Chris Lattner
9898b81e27 some stuff is done
llvm-svn: 26004
2006-02-05 07:54:37 +00:00
Chris Lattner
2b82e66f7c another case Nate came up with
llvm-svn: 25943
2006-02-03 22:05:41 +00:00
Chris Lattner
6c39bcf741 add a note
llvm-svn: 25942
2006-02-03 21:25:23 +00:00
Chris Lattner
9f8d39543f target independent notes
llvm-svn: 25929
2006-02-03 06:21:43 +00:00