1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 04:22:57 +02:00
Commit Graph

22973 Commits

Author SHA1 Message Date
Chris Lattner
4f01eca6ad Spec change: the size of a memset/memcpy/memmove is not required to be aligned
to the alignment argument.

llvm-svn: 26510
2006-03-04 00:02:10 +00:00
Jim Laskey
dc6f528739 Added support for dwarf block data entries.
llvm-svn: 26509
2006-03-03 21:00:14 +00:00
Chris Lattner
a31ef8a613 Silence a warning.
llvm-svn: 26508
2006-03-03 19:34:28 +00:00
Evan Cheng
dd0a62e4c7 Add another test case for instruction scheduling.
llvm-svn: 26507
2006-03-03 18:58:09 +00:00
Chris Lattner
2c6a3f04e9 Unbreak autouprade of llvm.sqrt, simplify some code.
llvm-svn: 26506
2006-03-03 16:31:22 +00:00
Jim Laskey
f915b6b08b Adding basic structure support.
llvm-svn: 26505
2006-03-03 15:06:57 +00:00
Evan Cheng
4afe769361 Add more vector NodeTypes: VSDIV, VUDIV, VAND, VOR, and VXOR.
llvm-svn: 26504
2006-03-03 07:01:07 +00:00
Evan Cheng
0c445855f2 Number of NodeTypes now exceeds 128.
llvm-svn: 26503
2006-03-03 06:58:59 +00:00
Evan Cheng
4ddc3b2c54 SDOperand::isOperand should not be a forwarding. It must check *this against N's operands.
llvm-svn: 26502
2006-03-03 06:42:32 +00:00
Evan Cheng
183b913508 Added isOperand(N): true if this is an operand of N
llvm-svn: 26501
2006-03-03 06:24:54 +00:00
Evan Cheng
b91460b269 A bit more tweaking
llvm-svn: 26500
2006-03-03 06:23:43 +00:00
Chris Lattner
d2068344fc Fix pasteo
llvm-svn: 26499
2006-03-03 06:13:41 +00:00
Jeff Cohen
ee1a26dc07 Fix VC++ compilation errors.
llvm-svn: 26498
2006-03-03 03:25:07 +00:00
Chris Lattner
c8db4dd179 remove a bunch of long-dead testing code
llvm-svn: 26497
2006-03-03 02:34:28 +00:00
Chris Lattner
eb2918b4d2 initial checkin of the intrinsic description file
llvm-svn: 26496
2006-03-03 02:33:15 +00:00
Chris Lattner
0b3c1c1fe2 initial implementation of intrinsic parsing
llvm-svn: 26495
2006-03-03 02:32:46 +00:00
Robert Bocchino
5a5c750102 Implemented -quiet feature for analyze
llvm-svn: 26494
2006-03-03 02:12:04 +00:00
Evan Cheng
7d66f13ccf Move #include "llvm/CodeGen/AsmPrinter.h" to top since it's the interface.
llvm-svn: 26493
2006-03-03 02:04:29 +00:00
Chris Lattner
b878804a5f remove out of date comment
llvm-svn: 26492
2006-03-03 02:04:07 +00:00
Chris Lattner
596d4baad0 update comment
llvm-svn: 26491
2006-03-03 01:55:49 +00:00
Chris Lattner
af9919716a Split the valuetypes out of Target.td into ValueTypes.td
llvm-svn: 26490
2006-03-03 01:55:26 +00:00
Chris Lattner
24ae77c8c6 pass -Illvm/include to tblgen
llvm-svn: 26489
2006-03-03 01:54:54 +00:00
Chris Lattner
33112d0936 Split this out of Target.td
llvm-svn: 26488
2006-03-03 01:54:11 +00:00
Chris Lattner
29d28e02b0 Add support for "-Ifoo" in addition to "-I foo"
llvm-svn: 26487
2006-03-03 01:53:40 +00:00
Chris Lattner
90eecf3882 Regenerate
llvm-svn: 26486
2006-03-03 01:47:37 +00:00
Chris Lattner
10c2fb116d add support for multiple include directories
llvm-svn: 26485
2006-03-03 01:47:14 +00:00
Chris Lattner
45ee76ee68 Change this to work with renamed intrinsics.
llvm-svn: 26484
2006-03-03 01:34:17 +00:00
Chris Lattner
e506efcf02 Upgrade this to use the new intrinsic names
llvm-svn: 26483
2006-03-03 01:31:12 +00:00
Chris Lattner
a22de4b7d3 Make this work with renamed intrinsics.
llvm-svn: 26482
2006-03-03 01:30:23 +00:00
Chris Lattner
4ccc8d7926 updates for recent changes
llvm-svn: 26481
2006-03-03 01:21:36 +00:00
Chris Lattner
cbfd05ddd0 mention some major changes
llvm-svn: 26480
2006-03-03 00:34:26 +00:00
Chris Lattner
999aa36a04 remove the read/write port/io intrinsics.
llvm-svn: 26479
2006-03-03 00:19:58 +00:00
Chris Lattner
7e618993f9 Remove these testcases. These intrinsics are going away
llvm-svn: 26478
2006-03-03 00:16:23 +00:00
Chris Lattner
2b82f9e071 Update the llvm.memset/memcpy/memmove intrinsics to reflect the recent split
into types.

llvm-svn: 26477
2006-03-03 00:07:20 +00:00
Chris Lattner
ab22220755 Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolving
PR709, and paving the way for future progress.

llvm-svn: 26476
2006-03-03 00:00:25 +00:00
Chris Lattner
3c762c1b8f Simplify the autoupgrade interface
llvm-svn: 26475
2006-03-02 23:59:12 +00:00
Chris Lattner
c8da528e6c Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolving
PR709, and paving the way for future progress.

Significantly refactor autoupgrading code, to handle the more complex case
(where we upgrade one argument in a function), and fix some bugs in it.

Testcase here: llvm/test/Regression/Bytecode/memcpy.ll

llvm-svn: 26474
2006-03-02 23:58:40 +00:00
Chris Lattner
4ba92689d0 new testcases
llvm-svn: 26473
2006-03-02 23:56:23 +00:00
Chris Lattner
9a522f068e add a note
llvm-svn: 26472
2006-03-02 22:34:38 +00:00
Evan Cheng
af289a7ee4 Add a regression test for bug 478.
llvm-svn: 26471
2006-03-02 21:48:34 +00:00
Evan Cheng
71fa36ef12 - Fixed some priority calculation bugs that were causing bug 478. Among them:
a predecessor appearing more than once in the operand list was counted as
  multiple predecessor; priority1 should be updated during scheduling;
  CycleBound was updated after the node is inserted into priority queue; one
  of the tie breaking condition was flipped.
- Take into consideration of two address opcodes. If a predecessor is a def&use
  operand, it should have a higher priority.
- Scheduler should also favor floaters, i.e. nodes that do not have real
  predecessors such as MOV32ri.
- The scheduling fixes / tweaks fixed bug 478:
        .text
        .align  4
        .globl  _f
_f:
        movl 4(%esp), %eax
        movl 8(%esp), %ecx
        movl %eax, %edx
        imull %ecx, %edx
        imull %eax, %eax
        imull %ecx, %ecx
        addl %eax, %ecx
        leal (%ecx,%edx,2), %eax
        ret

  It is also a slight performance win (1% - 3%) for most tests.

llvm-svn: 26470
2006-03-02 21:38:29 +00:00
Chris Lattner
092112baa6 Generalize the REM folding code to handle another case Nick Lewycky
pointed out: realize the AND can provide factors and look through Casts.

llvm-svn: 26469
2006-03-02 06:50:58 +00:00
Chris Lattner
fbb4cb0a6d add a couple more cases
llvm-svn: 26468
2006-03-02 06:50:04 +00:00
Chris Lattner
8aa88f1325 Fix a compilation error with GCC 4.1. Thanks to Vladimir Merzliakov for
pointing this out.

llvm-svn: 26467
2006-03-02 00:21:41 +00:00
Jim Laskey
7ee6df939e Support for enumerations.
llvm-svn: 26466
2006-03-01 23:52:37 +00:00
Chris Lattner
807844e2ef testcase that crashed the new CFE
llvm-svn: 26465
2006-03-01 22:45:12 +00:00
Evan Cheng
e99e63bfc8 Don't print llvm constant in assmebly file. Assembler won't like comments that
span multiple lines.

llvm-svn: 26463
2006-03-01 22:18:09 +00:00
Evan Cheng
dd066eac71 Back out my last check-in. Wrong place to fix it.
llvm-svn: 26462
2006-03-01 22:17:00 +00:00
Evan Cheng
25ecfb9411 AsmWriter should not print LLVM constant in comment. Assembler won't like
multi-line comments.

llvm-svn: 26461
2006-03-01 22:00:59 +00:00
Chris Lattner
d45d3b68b0 Fix CodeGen/Generic/2006-03-01-dagcombineinfloop.ll, an infinite loop
in the dag combiner on 176.gcc on x86.

llvm-svn: 26459
2006-03-01 21:47:21 +00:00