Christopher Lamb
|
55a1e36013
|
Move subreg lowering pass to be right after regalloc, per feedback.
llvm-svn: 40548
|
2007-07-27 07:36:14 +00:00 |
|
Evan Cheng
|
cb8f08ebca
|
Reverting 40504 for now. It's breaking oggenc.
llvm-svn: 40547
|
2007-07-27 01:37:47 +00:00 |
|
Devang Patel
|
4dea53597a
|
Fix thinko. Update return status appropriately.
llvm-svn: 40546
|
2007-07-26 20:21:42 +00:00 |
|
Owen Anderson
|
ed3e63a203
|
Fix a bug introduced in my last commit.
llvm-svn: 40542
|
2007-07-26 18:57:04 +00:00 |
|
Owen Anderson
|
f2b10d3de3
|
Fix a couple more bugs in the phi construction by pulling in code that does
almost the same things from LCSSA.
llvm-svn: 40540
|
2007-07-26 18:26:51 +00:00 |
|
Evan Cheng
|
7b20c11ccf
|
Test case for PR1573.
llvm-svn: 40539
|
2007-07-26 17:45:57 +00:00 |
|
Evan Cheng
|
ffa8cbd22b
|
Make sure epilogue esp adjustment is placed before any terminator and pop instructions.
llvm-svn: 40538
|
2007-07-26 17:45:41 +00:00 |
|
Evan Cheng
|
ea037bffd2
|
Don't pollute the meaning of isUnpredicatedTerminator.
llvm-svn: 40537
|
2007-07-26 17:32:14 +00:00 |
|
Evan Cheng
|
a681654ef4
|
Fix test.
llvm-svn: 40536
|
2007-07-26 17:07:03 +00:00 |
|
Evan Cheng
|
9802b13b38
|
Minor bug.
llvm-svn: 40535
|
2007-07-26 17:02:45 +00:00 |
|
Dan Gohman
|
249090568d
|
Fix the alias analysis query in DAGCombiner to not add in two
offsets. The SrcValueOffset values are the real offsets from the
SrcValue base pointers.
llvm-svn: 40534
|
2007-07-26 16:14:06 +00:00 |
|
Dan Gohman
|
298f3fd9b7
|
Move the GET_SIDE_EFFECT_INFO logic from isInstructionTriviallyDead
to Instruction::mayWriteToMemory, fixing a FIXME, and helping
various places that call mayWriteToMemory directly.
llvm-svn: 40533
|
2007-07-26 16:06:08 +00:00 |
|
Dan Gohman
|
fd392a7a51
|
Remove a bogus return statement, what appears to have been a pasto
from Relation::contradicts in Relation::incorporate.
llvm-svn: 40531
|
2007-07-26 15:29:35 +00:00 |
|
Dan Gohman
|
c63ddf2f57
|
DummyInst's member functions don't need to be virtual.
llvm-svn: 40530
|
2007-07-26 15:25:08 +00:00 |
|
Dan Gohman
|
d3a062f01b
|
In the .loc directive, print the fields as "debug" fields, so they
don't get decorated as if for immediate fields for instructions.
llvm-svn: 40529
|
2007-07-26 15:24:15 +00:00 |
|
Dan Gohman
|
1bfc3f0d09
|
Fix a whitespace difference between CMPSSrr and CMPSDrr.
llvm-svn: 40528
|
2007-07-26 15:11:50 +00:00 |
|
Dan Gohman
|
b7c799015b
|
Fix a pasto in a comment.
llvm-svn: 40527
|
2007-07-26 15:11:00 +00:00 |
|
Christopher Lamb
|
258dab5389
|
Add a MachineFunction pass, which runs post register allocation, that turns subreg insert/extract instruction into register copies. This ensures correct code gen if the coalescer isn't able to remove all subreg instructions.
llvm-svn: 40521
|
2007-07-26 08:18:32 +00:00 |
|
Christopher Lamb
|
08bcd5c0f8
|
Teach DAG scheduling how to properly emit subreg insert/extract machine instructions. PR1350
llvm-svn: 40520
|
2007-07-26 08:12:07 +00:00 |
|
Christopher Lamb
|
7bef240f69
|
Have register info provide the inverse mapping of register->superregisters. PR1350
llvm-svn: 40519
|
2007-07-26 08:01:58 +00:00 |
|
Christopher Lamb
|
9a0d88efde
|
Add target independent MachineInstr's to represent subreg insert/extract in MBB's. PR1350
llvm-svn: 40518
|
2007-07-26 07:48:21 +00:00 |
|
Evan Cheng
|
413d222576
|
Same goes for constantpool, etc.
llvm-svn: 40517
|
2007-07-26 07:35:15 +00:00 |
|
Christopher Lamb
|
73c3cd47cc
|
Add selection DAG nodes for subreg insert/extract. PR1350
llvm-svn: 40516
|
2007-07-26 07:34:40 +00:00 |
|
Christopher Lamb
|
2d47a6faec
|
Fix 80 col violation.
llvm-svn: 40515
|
2007-07-26 07:03:08 +00:00 |
|
Christopher Lamb
|
cb63a77a51
|
Remove subreg index from MachineInstr's and also keep vregs as unsigned when adding operands.
llvm-svn: 40514
|
2007-07-26 07:00:46 +00:00 |
|
Christopher Lamb
|
954afaa83f
|
Teach TableGen about the new vector types.
llvm-svn: 40513
|
2007-07-26 06:41:18 +00:00 |
|
Christopher Lamb
|
b178ecbbc0
|
Fix infinite recursion for when extract_vector_elt is legal. Unfortunately no public targets use this code-path, so no test.
llvm-svn: 40510
|
2007-07-26 03:33:13 +00:00 |
|
Christopher Lamb
|
fb7a157ebc
|
Fix comments for new types.
llvm-svn: 40507
|
2007-07-26 01:48:57 +00:00 |
|
Christopher Lamb
|
f3881994a7
|
Add support for 3 element 32-bit vector ValueTypes.
llvm-svn: 40506
|
2007-07-26 01:46:52 +00:00 |
|
Dan Gohman
|
513dcba4f8
|
Remove X86ISD::LOAD_PACK and X86ISD::LOAD_UA and associated code from the
x86 target, replacing them with the new alignment attributes on memory
references.
llvm-svn: 40504
|
2007-07-26 00:31:09 +00:00 |
|
Owen Anderson
|
ed75133924
|
Fix what is _hopefully_ the last corner case for loops.
llvm-svn: 40503
|
2007-07-25 23:54:42 +00:00 |
|
Evan Cheng
|
9588231d34
|
Mac OS X x86-64 lower 4G address is not available.
llvm-svn: 40502
|
2007-07-25 23:41:36 +00:00 |
|
Evan Cheng
|
75b396c3c9
|
Mac OS X should use 0x90 to fill in gaps to satisfy function alignment requirements.
llvm-svn: 40501
|
2007-07-25 23:36:05 +00:00 |
|
Evan Cheng
|
4b747bb6a0
|
EmitAlignment() also emits optional fill value.
llvm-svn: 40500
|
2007-07-25 23:35:07 +00:00 |
|
Evan Cheng
|
f34a0509c2
|
Functions with LinkOnce and weak linkage still need to be aligned. Doh.
llvm-svn: 40499
|
2007-07-25 22:28:16 +00:00 |
|
Owen Anderson
|
1e53615073
|
My last commit was not correct for nested loops. Fix it, and add a testcase for it.
llvm-svn: 40498
|
2007-07-25 22:19:40 +00:00 |
|
Owen Anderson
|
ce9d73dbe7
|
Fix an infinite loop on 300.twolf.
llvm-svn: 40497
|
2007-07-25 22:03:06 +00:00 |
|
Owen Anderson
|
906d9d4a10
|
Forgot to include this file in my last commit.
llvm-svn: 40496
|
2007-07-25 21:30:15 +00:00 |
|
Owen Anderson
|
b215074820
|
Fix a bug in non-local memdep that was causing an infinite loop on 175.vpr.
llvm-svn: 40495
|
2007-07-25 21:26:36 +00:00 |
|
Owen Anderson
|
522f7a7608
|
Fix a bug that was causing GVN to crash on 252.eon.
llvm-svn: 40494
|
2007-07-25 21:13:41 +00:00 |
|
Devang Patel
|
4305bae78d
|
Fix example code.
llvm-svn: 40493
|
2007-07-25 21:05:39 +00:00 |
|
Owen Anderson
|
6a1a8d05b8
|
Add basic support for performing whole-function RLE.
Note: This has not yet been thoroughly tested. Use at your own risk.
llvm-svn: 40489
|
2007-07-25 19:57:03 +00:00 |
|
Chandler Carruth
|
581a82e0bb
|
Moving regression test to reflect move in source and headers to Bitcode.
llvm-svn: 40488
|
2007-07-25 19:47:31 +00:00 |
|
Dan Gohman
|
0fc4e0cf47
|
Don't ignore the return value of AsmPrinter::doInitialization and
AsmPrinter::doFinalization.
llvm-svn: 40487
|
2007-07-25 19:33:14 +00:00 |
|
Devang Patel
|
d7b401bafd
|
Add BasicInliner interface.
This interface allows clients to inline bunch of functions with module
level call graph information.:wq
llvm-svn: 40486
|
2007-07-25 18:00:25 +00:00 |
|
Chris Lattner
|
95a78a7963
|
test commit
llvm-svn: 40484
|
2007-07-25 06:15:23 +00:00 |
|
Nick Lewycky
|
608fe6cf68
|
Fix debug info and globals filled with zeros.
llvm-svn: 40483
|
2007-07-25 03:48:45 +00:00 |
|
Anton Korobeynikov
|
e0344393bb
|
Minor cleanup:
- Split EH and debug infiormation
- Make DwarfWriter more verbose in some cases
llvm-svn: 40481
|
2007-07-25 00:06:28 +00:00 |
|
Dan Gohman
|
1444c5840b
|
Add const to CanBeFoldedBy, CheckAndMask, and CheckOrMask.
llvm-svn: 40480
|
2007-07-24 23:00:27 +00:00 |
|
Dan Gohman
|
7428b0796c
|
A minor simplication in the generated code.
llvm-svn: 40479
|
2007-07-24 22:58:00 +00:00 |
|