Commit Graph

31724 Commits

Author SHA1 Message Date
Evan Cheng
97cc93841d Handle cases when joining live intervals of two virtual registers.
llvm-svn: 34534
2007-02-23 20:40:13 +00:00
Jim Laskey
2f28a3cf08 Don't spill LR as a callee saved register.
llvm-svn: 34533
2007-02-23 20:34:16 +00:00
Lauro Ramos Venancio
3e906c48d3 Fix stack alignment in functions with varargs.
llvm-svn: 34532
2007-02-23 20:32:57 +00:00
Chris Lattner
1e48acb858 fix an obscure and tricky bug the inliner can hit sometimes.
llvm-svn: 34531
2007-02-23 19:54:30 +00:00
Chris Lattner
83908e664f fix this testcase
llvm-svn: 34530
2007-02-23 19:39:24 +00:00
Chris Lattner
d3c36c9641 crtend is only for llvm-gcc3, remove it.
llvm-svn: 34529
2007-02-23 19:34:09 +00:00
Devang Patel
b1fcb9ae15 Fix thinko.
llvm-svn: 34528
2007-02-23 18:05:55 +00:00
Devang Patel
d3ccdfd04d Loop passes are set up to accept pointer.
llvm-svn: 34527
2007-02-23 17:53:17 +00:00
Evan Cheng
584e051c28 Mark livein registers as being in used.
llvm-svn: 34525
2007-02-23 08:41:19 +00:00
Chris Lattner
072d578bc2 clarify.
llvm-svn: 34524
2007-02-23 06:53:06 +00:00
Dale Johannesen
e18b13b213 rewrite of constant islands
llvm-svn: 34523
2007-02-23 05:02:36 +00:00
Evan Cheng
fa6532a3b9 -march=arm -enable-thumb => -march=thumb
llvm-svn: 34522
2007-02-23 03:15:39 +00:00
Evan Cheng
9f8301413c Added -march=thumb; removed -enable-thumb.
llvm-svn: 34521
2007-02-23 03:14:31 +00:00
Evan Cheng
d00d344519 80 col. violation.
llvm-svn: 34520
2007-02-23 03:03:16 +00:00
Anton Korobeynikov
01b49ce415 External weak linkage is supported by recent binutils on mingw32.
llvm-svn: 34519
2007-02-23 01:58:50 +00:00
Reid Spencer
cb292e4a20 1. Fix a carry out problem in add if destination and x point to the same
memory (as done in fromString).
2. Implement Knuth divide more closely to what is recommended in his book.
3. Fix computation of the remainder for Knuth Divide (bad shifting).
4. Remove some cruft from the file

llvm-svn: 34518
2007-02-23 01:57:13 +00:00
Evan Cheng
f7e320c9e0 A spill kills the register being stored. But it is later being reused by spiller, its live range has to be extended.
llvm-svn: 34517
2007-02-23 01:13:26 +00:00
Evan Cheng
1e56453585 First potential client of register scavenger.
llvm-svn: 34516
2007-02-23 01:11:26 +00:00
Evan Cheng
df5899258c By default, spills kills the register being stored.
llvm-svn: 34515
2007-02-23 01:10:04 +00:00
Evan Cheng
15af662314 Add option to turn on register scavenger; By default, spills kills the register being stored.
llvm-svn: 34514
2007-02-23 01:09:11 +00:00
Evan Cheng
c6ee20233e Temporay hook to enable register scavening for specific targets only.
llvm-svn: 34513
2007-02-23 01:07:04 +00:00
Evan Cheng
9965aebd5d Use findRegisterUseOperand to find a kill of particular register.
llvm-svn: 34512
2007-02-23 01:04:26 +00:00
Evan Cheng
956fdeb694 Initial check in of register scavenger. Its only current functionality is tracking live registers per MBB.
llvm-svn: 34511
2007-02-23 01:01:19 +00:00
Devang Patel
55c3827281 Teach LoopPass to assign itself one Loop Pass Manager.
llvm-svn: 34510
2007-02-23 00:36:57 +00:00
Devang Patel
715add3462 Add facility that allows LoopPass to re-insert a loop into
Loop Pass Manager's queue.

llvm-svn: 34509
2007-02-23 00:16:44 +00:00
Devang Patel
4e335c6c71 Add LPPassManager interface that LoopPass can use to skip
rest of the passes in the queue for a loop.

llvm-svn: 34508
2007-02-23 00:10:16 +00:00
Evan Cheng
1bce781670 Copy and paste silliness.
llvm-svn: 34507
2007-02-22 23:52:23 +00:00
Chris Lattner
0416b204c9 remove obsolete file
llvm-svn: 34506
2007-02-22 23:48:43 +00:00
Devang Patel
51705713c9 Populate and walk loop queue.
llvm-svn: 34505
2007-02-22 23:45:15 +00:00
Devang Patel
de7d49053f Add LoopQueue. This is used by loop pass manager to manage loop nest.
llvm-svn: 34504
2007-02-22 23:30:07 +00:00
Evan Cheng
cc607daac1 Remove unnecessary isKill properties if a live range has been lengthened due to coalescing.
llvm-svn: 34503
2007-02-22 23:03:39 +00:00
Jim Laskey
5cbb4262ab Update comment.
llvm-svn: 34502
2007-02-22 18:51:19 +00:00
Jim Laskey
66aa84d12f Missing end of abbreviations - correction
llvm-svn: 34501
2007-02-22 18:48:52 +00:00
Jim Laskey
4e3d2b9acc Missing end of abbreviations.
llvm-svn: 34500
2007-02-22 18:22:42 +00:00
Jim Laskey
3e3a65b764 Need to init.
llvm-svn: 34499
2007-02-22 18:04:49 +00:00
Jim Laskey
3ed4d3efeb Typo.
llvm-svn: 34498
2007-02-22 16:40:10 +00:00
Jim Laskey
9df1a1d8d8 Remove isAccessable.
llvm-svn: 34497
2007-02-22 16:39:03 +00:00
Jim Laskey
69bd45c1d2 Use exception flag.
llvm-svn: 34496
2007-02-22 16:22:15 +00:00
Jim Laskey
d879dfbf1c Revert changes for a simplier solution.
llvm-svn: 34495
2007-02-22 16:21:18 +00:00
Jim Laskey
46dbe12b32 Remove assertion.
llvm-svn: 34494
2007-02-22 16:12:17 +00:00
Jim Laskey
44c37e7dbf Tighten up error checking of args.
llvm-svn: 34493
2007-02-22 16:10:05 +00:00
Jim Laskey
504e99479c Handle lowering invoke to call correctly.
llvm-svn: 34492
2007-02-22 15:38:06 +00:00
Jim Laskey
7f5872c455 Simplify lowering and selection of exception ops.
llvm-svn: 34491
2007-02-22 15:37:19 +00:00
Andrew Lenharth
f7a5332b53 missed cast elimination
llvm-svn: 34490
2007-02-22 15:17:45 +00:00
Jim Laskey
e0008e23cf Simplify lowering and selection of exception ops.
llvm-svn: 34488
2007-02-22 14:56:36 +00:00
Devang Patel
20525d2836 Add Loop Pass Manager.
llvm-svn: 34487
2007-02-22 08:56:17 +00:00
Chris Lattner
7d92b9129a clarify llvm-gcc GPL issue
llvm-svn: 34486
2007-02-22 06:33:23 +00:00
Reid Spencer
867b4064ae When converting from 64 to 32-bits, use the actual number of words to
extract the value, not the number of words implied by the active bits.
This fixes numerous, but not all divide bugs.

llvm-svn: 34484
2007-02-22 00:58:45 +00:00
Reid Spencer
e4ce71d07a Fix countLeadingZeros in the case that the bitwidth evenly divides the
word size. This fixes all reads of uninitialized data (buffer over read)
and makes APInt.cpp memory clean, per valgrind. The only remaining
problem is division in a few cases.

llvm-svn: 34483
2007-02-22 00:22:00 +00:00
Jim Laskey
3796abea0f Support to provide exception and selector registers.
llvm-svn: 34482
2007-02-21 22:54:50 +00:00