Scott Michel
12a5f7cfb9
Fix test erratum (which is wierd: works locally for me?)
...
llvm-svn: 61511
2008-12-30 23:52:05 +00:00
Scott Michel
cdcae67887
- Start moving target-dependent nodes that could be represented by an
...
instruction sequence and cannot ordinarily be simplified by DAGcombine
into the various target description files or SPUDAGToDAGISel.cpp.
This makes some 64-bit operations legal.
- Eliminate target-dependent ISD enums.
- Update tests.
llvm-svn: 61508
2008-12-30 23:28:25 +00:00
Bill Wendling
067c48f7a6
Linux wants the FDE initial location and address range to be forced to 32-bit.
...
Darwin doesn't. Make this optional for platforms.
llvm-svn: 61484
2008-12-29 22:12:11 +00:00
Bill Wendling
4749654506
The FDE initial location and address range data should be free to be 64-bit
...
(quad) on a 64-bit platform. This fixes a problem with EH frames on Darwin.
llvm-svn: 61483
2008-12-29 21:51:42 +00:00
Misha Brukman
abfa50fc15
* Updated TOC and fixed named anchors
...
* Simplified section header marking
llvm-svn: 61482
2008-12-29 21:33:30 +00:00
Misha Brukman
4d4b7394f9
Minimize the width of the notes region: it will end where the text ends, if the
...
line of text is short enough, instead of stretching all the way to the right
margin.
llvm-svn: 61481
2008-12-29 21:25:09 +00:00
Misha Brukman
5b00db2c8f
Simplified marking code regions with a single <pre> rather than
...
a (<div>, <pre>) combo.
llvm-svn: 61480
2008-12-29 21:20:51 +00:00
Duncan Sands
f7fb4d197c
Make stripPointerCasts and getUnderlyingObject
...
non-recursive.
llvm-svn: 61479
2008-12-29 21:06:19 +00:00
Duncan Sands
488fe8b8a2
Experiments show that looking through phi nodes
...
and select instructions doesn't buy anything here
except extra complexity: the only difference in
the entire testsuite was that a readonly function
became readnone in MiBench/consumer-typeset. Add
a comment about this.
llvm-svn: 61478
2008-12-29 20:51:17 +00:00
Misha Brukman
00d6a6ed4e
Fixed spelling, removed trailing whitespace.
...
llvm-svn: 61477
2008-12-29 20:08:23 +00:00
Misha Brukman
207cd717bd
Center the legal note to give it even padding on left and right, and make it
...
stand out better.
llvm-svn: 61475
2008-12-29 19:55:01 +00:00
Misha Brukman
438c7fddb0
Cleanup: clarify llvm-gcc version and package name.
...
llvm-svn: 61474
2008-12-29 19:38:58 +00:00
Duncan Sands
fb6f54629f
Clarify a bit. Based on feedback by Talin.
...
llvm-svn: 61470
2008-12-29 15:27:32 +00:00
Duncan Sands
bd0cbff28e
Allow readnone functions to read (and write!) global
...
constants, since doing so is irrelevant for aliasing
purposes. While this doesn't increase the total number
of functions marked readonly or readnone in MultiSource/
Applications (3089), it does result in 12 functions being
marked readnone rather than readonly.
Before:
readnone: 820
readonly: 2269
After:
readnone: 832
readonly: 2257
llvm-svn: 61469
2008-12-29 11:34:09 +00:00
Duncan Sands
ef77539014
Add braces, as suggested by a gcc warning.
...
llvm-svn: 61465
2008-12-29 08:05:02 +00:00
Scott Michel
e555efe94d
- Various '#if 0' cleanups.
...
- Move v4i32, i32 mul into SPUInstrInfo.td, with a few more instruction
cleanups there as well.
- Make SMUL_LOHI, UMUL_LOHI competely illegal for Cell SPU, to better
assist Chris to see the problem in bug 3101.
llvm-svn: 61464
2008-12-29 03:23:36 +00:00
Scott Michel
5bb7db3872
Teach LeaglizeDAG that i64 mul can be a libcall.
...
llvm-svn: 61463
2008-12-29 03:21:37 +00:00
Chris Lattner
befcb38427
select constant exprs should have the same constraints as select instructions,
...
notably, they should support vectors and aggregates.
llvm-svn: 61462
2008-12-29 00:16:12 +00:00
Chris Lattner
031a666948
move select validation logic into a shared place where the select ctor,
...
verifier, asm parser, etc can share it.
llvm-svn: 61461
2008-12-29 00:12:50 +00:00
Owen Anderson
e5b1fb3c25
Fix up kill/dead marking in the new live interval reconstruction code.
...
llvm-svn: 61460
2008-12-28 23:35:13 +00:00
Owen Anderson
4acaef9e5f
Forgot to commit this file.
...
Add a clear() method to remove all ranges and value numbers for a live interval.
llvm-svn: 61459
2008-12-28 21:57:02 +00:00
Owen Anderson
e21f8339f8
Add prototype code for recomputing a live interval's ranges and valnos through recursive phi construction.
...
llvm-svn: 61458
2008-12-28 21:48:48 +00:00
Nick Lewycky
bb69bd55a4
Check that the function prototypes are correct before assuming that the
...
parameters are pointers.
llvm-svn: 61451
2008-12-27 16:20:53 +00:00
Chris Lattner
700ddfea3c
add testcase for type parsing.
...
llvm-svn: 61449
2008-12-27 08:10:46 +00:00
Chris Lattner
b299065a53
implement simplify_type for PATypeHolder so that isa<FooType>(PATypeHolder)
...
works.
llvm-svn: 61448
2008-12-27 07:47:40 +00:00
Scott Michel
bf224860c8
- Remove Tilmann's custom truncate lowering: it completely hosed over
...
DAGcombine's ability to find reasons to remove truncates when they were not
needed. Consequently, the CellSPU backend would produce correct, but _really
slow and horrible_, code.
Replaced with instruction sequences that do the equivalent truncation in
SPUInstrInfo.td.
- Re-examine how unaligned loads and stores work. Generated unaligned
load code has been tested on the CellSPU hardware; see the i32operations.c
and i64operations.c in CodeGen/CellSPU/useful-harnesses. (While they may be
toy test code, it does prove that some real world code does compile
correctly.)
- Fix truncating stores in bug 3193 (note: unpack_df.ll will still make llc
fault because i64 ult is not yet implemented.)
- Added i64 eq and neq for setcc and select/setcc; started new instruction
information file for them in SPU64InstrInfo.td. Additional i64 operations
should be added to this file and not to SPUInstrInfo.td.
llvm-svn: 61447
2008-12-27 04:51:36 +00:00
Chris Lattner
cd245cc5c3
add PR #
...
llvm-svn: 61427
2008-12-25 05:40:38 +00:00
Chris Lattner
fde038935b
Add a simple pattern for matching 'bt'.
...
llvm-svn: 61426
2008-12-25 05:34:37 +00:00
Chris Lattner
062ed6e3dd
Fix some JIT encodings.
...
llvm-svn: 61425
2008-12-25 01:32:49 +00:00
Chris Lattner
f34b843728
BT memory operands load from their address operand.
...
llvm-svn: 61424
2008-12-25 01:27:10 +00:00
Chris Lattner
e9229dc899
translateX86CC can never fail. Simplify it based on this.
...
llvm-svn: 61423
2008-12-24 23:53:05 +00:00
Bill Wendling
044248aad1
Darwin likes for the EH frame to be non-local.
...
llvm-svn: 61420
2008-12-24 08:05:17 +00:00
Bill Wendling
6add893a14
GCC doesn't emit DW_EH_PE_sdata4 for the FDE encoding on Darwin. I'm not sure
...
about other platforms.
llvm-svn: 61415
2008-12-24 05:25:49 +00:00
Bill Wendling
f348b28d39
Revert the changes in this testcase until Anton can fix them.
...
llvm-svn: 61414
2008-12-24 05:23:34 +00:00
Dan Gohman
7ff343fe6c
Fix a compiler-abort on a testcase where the stack-pointer is added to
...
a symbolic constant. This is unlikely to be intentional, but it
shouldn't crash the compiler.
llvm-svn: 61408
2008-12-24 00:27:51 +00:00
Chris Lattner
ca08c532f7
indentation
...
llvm-svn: 61407
2008-12-24 00:11:37 +00:00
Dale Johannesen
88e47fa0e4
Change comments so everybody can understand them, hopefully.
...
llvm-svn: 61405
2008-12-23 23:47:22 +00:00
Chris Lattner
c20dd60a21
simplify some control flow and reduce indentation, no functionality change.
...
llvm-svn: 61404
2008-12-23 23:42:27 +00:00
Dale Johannesen
20cf29cad2
Revert 61362 and 61402 until SPEC breakage is fixed.
...
llvm-svn: 61403
2008-12-23 23:21:35 +00:00
Dale Johannesen
cd64ce7fc8
This fixes the bug in 175.vpr. It doesn't fix the
...
other SPEC breakage. I'll be reverting all recent
changes shortly, this checking is mostly so this
change doesn't get lost.
llvm-svn: 61402
2008-12-23 23:05:26 +00:00
Dale Johannesen
e1a3d2da49
Add another permutation where we should get rid of a-a.
...
llvm-svn: 61401
2008-12-23 23:01:27 +00:00
Dan Gohman
1ba93ac6be
Add instruction patterns and encodings for the x86 bt instructions.
...
llvm-svn: 61400
2008-12-23 22:45:23 +00:00
Anton Korobeynikov
4aaf7c6b6a
Update test
...
llvm-svn: 61399
2008-12-23 22:26:37 +00:00
Anton Korobeynikov
328347152a
Restore debug printing
...
llvm-svn: 61398
2008-12-23 22:26:18 +00:00
Anton Korobeynikov
f4a9c57b23
Sometimes APInt syntax is really ugly... :(
...
llvm-svn: 61397
2008-12-23 22:26:01 +00:00
Anton Korobeynikov
a2055f8f17
Indent stuff properly
...
llvm-svn: 61396
2008-12-23 22:25:45 +00:00
Anton Korobeynikov
9559c8c377
Initial checkin of APInt'ififcation of switch lowering
...
llvm-svn: 61395
2008-12-23 22:25:27 +00:00
Devang Patel
d4aebdfa3f
Silence unused variable warnings.
...
llvm-svn: 61392
2008-12-23 21:56:28 +00:00
Devang Patel
1a9c404ed2
Fix typo.
...
Silence unused variable warning.
llvm-svn: 61391
2008-12-23 21:55:38 +00:00
Devang Patel
28420198a6
Silience unused warnings.
...
llvm-svn: 61390
2008-12-23 21:55:04 +00:00