Commit Graph

30209 Commits

Author SHA1 Message Date
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
Jim Laskey 4b37a4c712 Selection and lowering for exception handling.
llvm-svn: 34481
2007-02-21 22:53:45 +00:00
Jim Laskey e4ccf22c34 Itanium ABI exception handing support.
llvm-svn: 34480
2007-02-21 22:49:50 +00:00
Jim Laskey 09953e6482 Exception handling support.
llvm-svn: 34479
2007-02-21 22:48:45 +00:00
Jim Laskey 18fc09723c Add support for changes in DwarfWriter.
llvm-svn: 34478
2007-02-21 22:47:38 +00:00
Jim Laskey af76e0e58f Add TAI field for exception table section.
llvm-svn: 34477
2007-02-21 22:43:40 +00:00
Jim Laskey 2dc5245c4a Make branch folding behave in the presence of landing pads.
llvm-svn: 34476
2007-02-21 22:42:20 +00:00
Jim Laskey 5b2b7c1024 Allow for live in registers for eh landing pads.
llvm-svn: 34475
2007-02-21 22:41:17 +00:00
Jim Laskey dbe2491c44 Add a flag to MBBs to indicate whether it is an eh landing pad.
llvm-svn: 34474
2007-02-21 22:39:52 +00:00
Jim Laskey 88dd2fd332 Add structures used for collecting eh information.
llvm-svn: 34473
2007-02-21 22:38:31 +00:00
Jim Laskey e0c549eeef Add new instructions for handling data passed into eh landing pad.
llvm-svn: 34472
2007-02-21 22:37:22 +00:00
Jim Laskey 303fa60b61 Add new intrinsics for eh support.
llvm-svn: 34471
2007-02-21 22:35:57 +00:00
Evan Cheng 84a041eb98 ELF / PIC requires GOT be in the EBX register during calls via PLT GOT pointer.
Add implicit uses of EBX to calls to ensure liveintervalanalysis does not treat
the GOT in EBX move as dead upon definition.
This should fix PR1207.

llvm-svn: 34470
2007-02-21 21:18:14 +00:00
Devang Patel a673b600c8 Simplify
llvm-svn: 34469
2007-02-21 19:57:33 +00:00
Reid Spencer 58a6a43cb3 Reorganize some code to make it clearer, avoid a few uninitialized memory
reads, and reduce the number of temporary APInt instances we construct.

llvm-svn: 34467
2007-02-21 08:21:52 +00:00
Chris Lattner 31f99b9b45 revert r1.68. This breaks 'make install' without doing 'make' first, but
fixes PR1208.

llvm-svn: 34466
2007-02-21 06:23:20 +00:00