Alkis Evlogimenos [Sun, 28 Dec 2003 18:03:52 +0000 (18:03 +0000)]
Reserve ECX and EDI instead of EBX and EDI. Since EBX is a callee
saved register it has a longer free range than ECX (which is defined
every time there is a fnuction call) which makes ECX a better register
to reserve.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10635
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Sun, 28 Dec 2003 17:58:18 +0000 (17:58 +0000)]
Add coalescing to register allocator. A hint is added to each interval
which denotes the register we would like to be assigned to (virtual or
physical). In register allocation, if this hint exists and we can map
it to a physical register (it is either a physical register or it is a
virtual register that already got assigned to a physical one) we use
that register if it is available instead of a random one in the free
pool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10634
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Sun, 28 Dec 2003 17:35:08 +0000 (17:35 +0000)]
Add TargetInstrInfo::isMoveInstr() to support coalescing in register
allocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10633
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Dec 2003 09:53:23 +0000 (09:53 +0000)]
Whoops, don't try to lower non intrinsic calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10632
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Dec 2003 09:51:04 +0000 (09:51 +0000)]
Pass extra arguments around n stuph
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10631
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Dec 2003 09:48:17 +0000 (09:48 +0000)]
We may now pass IntrinsicLowering implementations into these methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10630
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Dec 2003 09:47:19 +0000 (09:47 +0000)]
implement support for the intrinsic lowering functionality
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10629
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Dec 2003 09:46:33 +0000 (09:46 +0000)]
Eliminate some code that is not needed now that we have the intrinsic lowering pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10628
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Dec 2003 09:44:37 +0000 (09:44 +0000)]
Pass around IntrinsicLowering instances as appropriate.
Reimplement the Interpreters implementation of va_* to be more direct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10627
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Dec 2003 09:43:35 +0000 (09:43 +0000)]
Use the intrinsic lowering functionality
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10626
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Dec 2003 09:42:49 +0000 (09:42 +0000)]
add argument
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10625
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Dec 2003 08:55:50 +0000 (08:55 +0000)]
ABC's must have virtual dtors! Shame on me!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10624
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Dec 2003 08:30:20 +0000 (08:30 +0000)]
Move into the VMCore library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10623
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Dec 2003 08:30:07 +0000 (08:30 +0000)]
Move header into top-level llvm dir
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10622
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Dec 2003 08:19:41 +0000 (08:19 +0000)]
Implement the default implementation of the intrinsic lowering class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10621
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Dec 2003 08:19:13 +0000 (08:19 +0000)]
Add new interface that allows removal of some code from the code generators,
provides for future extensibility, might help the LLVA project avoid having to
hack their own LLI, and provides support required for the experimental Venus
project.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10620
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Dec 2003 07:59:53 +0000 (07:59 +0000)]
finegrainify namespacification
minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10619
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Dec 2003 07:19:08 +0000 (07:19 +0000)]
Merging constants can cause further room for improvement. Iterate until
we converge
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10618
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 28 Dec 2003 04:03:49 +0000 (04:03 +0000)]
Add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10617
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 26 Dec 2003 06:50:30 +0000 (06:50 +0000)]
Factor code out of LLI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10616
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 26 Dec 2003 06:50:15 +0000 (06:50 +0000)]
New method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10615
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 26 Dec 2003 06:49:53 +0000 (06:49 +0000)]
Factor out code to ExecutionEngine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10614
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 26 Dec 2003 06:36:20 +0000 (06:36 +0000)]
Simplify code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10613
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 26 Dec 2003 06:16:00 +0000 (06:16 +0000)]
minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10612
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 26 Dec 2003 06:14:47 +0000 (06:14 +0000)]
* eliminate the -f argument to lli, as it was silly and never useful anyway
* Inline callMain function
* Remove hack from the ExecutionEngines where the 'run' method would automatically
run atExit functions. Fixing this requires explicitly calling exit if main returns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10611
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 26 Dec 2003 06:13:47 +0000 (06:13 +0000)]
No longer run atExit functions from run()
rename run to runFunction
Genericize the runFunction code a little bit, though it still stinks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10610
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 26 Dec 2003 06:13:05 +0000 (06:13 +0000)]
No longer run atExit functions from run()
rename run to runFunction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10609
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 26 Dec 2003 06:12:25 +0000 (06:12 +0000)]
Rename 'run' to 'runFunction' to emphasize that it is usable to run any
function in a module, not just main
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10608
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 26 Dec 2003 05:07:35 +0000 (05:07 +0000)]
update comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10607
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Wed, 24 Dec 2003 18:53:31 +0000 (18:53 +0000)]
Improve debugging output when choosing a register to spill.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10604
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Wed, 24 Dec 2003 15:44:53 +0000 (15:44 +0000)]
Do a separate pass to compute spill weights because doing it inline
with live intervals was missing registers that were used before they
were defined (in the arbitrary order live intervals numbers
instructions).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10603
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Dec 2003 23:50:31 +0000 (23:50 +0000)]
boog fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10602
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Dec 2003 23:25:21 +0000 (23:25 +0000)]
Hrm is a really nasty ommission. The lack of this destructor was causing abstract
types to never be deleted, manifesting itself as many OpaqueType objects being
leaked. Whoops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10601
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 23 Dec 2003 22:22:10 +0000 (22:22 +0000)]
Corrected typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10600
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Dec 2003 22:18:36 +0000 (22:18 +0000)]
Right, fix the problem with invoke instructions, not just call instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10599
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Dec 2003 20:39:17 +0000 (20:39 +0000)]
Do not delete the type holder until after the call instruction has been
constructed!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10598
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 23 Dec 2003 20:27:14 +0000 (20:27 +0000)]
Modified the logic so that library objects with main() are only linked in
if the program currently has main undefined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10597
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Dec 2003 20:05:15 +0000 (20:05 +0000)]
Minor cleanups, plug a minor memory leak
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10596
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Tue, 23 Dec 2003 18:00:33 +0000 (18:00 +0000)]
Change the way free regusters are computed and perform better
allocation in the presence of preallocated intervals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10595
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 23 Dec 2003 17:37:06 +0000 (17:37 +0000)]
Modified the linker so that it always links in an object from an archive
that defines the symbol "main." This is a hack that ensures that programs
that place their main function in a library and then link it in
(i.e. Apache 2.x) get their main function linked in.
There is probably a more correct way to do this, but this works for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10594
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Dec 2003 09:41:45 +0000 (09:41 +0000)]
Rename method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10593
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Dec 2003 08:04:08 +0000 (08:04 +0000)]
rename ClassifyExpression -> ClassifyExpr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10592
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Dec 2003 08:03:40 +0000 (08:03 +0000)]
Rename ClassifyExpression -> ClassifyExpr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10591
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Dec 2003 07:47:09 +0000 (07:47 +0000)]
More minor non-functional changes. This now computes the exit condition, though
it doesn't do anything with it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10590
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Dec 2003 07:43:38 +0000 (07:43 +0000)]
Remove extraneous #include
finegrainify namespacification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10589
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 23 Dec 2003 06:44:41 +0000 (06:44 +0000)]
Finegrainify namespacification
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10588
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Dec 2003 23:56:37 +0000 (23:56 +0000)]
bug fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10587
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Dec 2003 23:49:36 +0000 (23:49 +0000)]
Fix memory corruption bug PR193
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10586
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 22 Dec 2003 16:22:49 +0000 (16:22 +0000)]
Reverted back to revision 1.11. The previous fix doesn't really fix
anything; it just causes the bug to go dormant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10585
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Mon, 22 Dec 2003 13:54:29 +0000 (13:54 +0000)]
Fix crash when compiling twolf.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10584
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Dec 2003 09:53:29 +0000 (09:53 +0000)]
Don't mind me, I'm just refactoring away. This patch makes room for LFTR, but
contains no functionality changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10583
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Dec 2003 05:26:29 +0000 (05:26 +0000)]
finegrainify namespacification
Implement indvar analysis of getelementptr and sub expressions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10582
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Dec 2003 05:24:45 +0000 (05:24 +0000)]
new testcase for cananonicalization of subtracts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10581
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Dec 2003 05:02:01 +0000 (05:02 +0000)]
Implement IndVarsSimplify/pointer-indvars.ll, transforming pointer
arithmetic into "array subscripts"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10580
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Dec 2003 05:01:15 +0000 (05:01 +0000)]
finegrainify namespacification
add new getIntPtrType() method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10579
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Dec 2003 05:00:45 +0000 (05:00 +0000)]
Doxygenize methods, add new getIntPtrType method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10578
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Dec 2003 05:00:13 +0000 (05:00 +0000)]
New testcase to see if -indvars can promote pointer arithmetic to array accesses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10577
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Dec 2003 04:08:12 +0000 (04:08 +0000)]
fix grammao
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10576
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Dec 2003 04:06:24 +0000 (04:06 +0000)]
Bug fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10575
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Dec 2003 04:06:12 +0000 (04:06 +0000)]
The GCC problem is not specific to suse
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10574
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 22 Dec 2003 03:58:44 +0000 (03:58 +0000)]
Fix PR194
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10573
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 22 Dec 2003 03:47:58 +0000 (03:47 +0000)]
Really release memory used by functions. Patch by Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10572
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Sun, 21 Dec 2003 22:53:21 +0000 (22:53 +0000)]
Fix the URL to check the referrer for CSS conformity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10571
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Sun, 21 Dec 2003 20:41:26 +0000 (20:41 +0000)]
Remove verifyIntervals() since it doesn't actually work right now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10570
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Sun, 21 Dec 2003 20:19:10 +0000 (20:19 +0000)]
Change weight into a float so that we can take into account the
nesting level when computing it. Right now the allocator uses:
w = sum_over_defs_uses( 10 ^ nesting level );
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10569
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 21 Dec 2003 19:06:15 +0000 (19:06 +0000)]
New testcase for PR194
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10568
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Sun, 21 Dec 2003 16:47:43 +0000 (16:47 +0000)]
Move FP_REG_KILL closer to the return instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10567
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Sun, 21 Dec 2003 05:43:40 +0000 (05:43 +0000)]
Add support for inactive intervals. This effectively reuses registers
for live ranges that fall into assigned registers' holes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10566
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Sat, 20 Dec 2003 22:37:29 +0000 (22:37 +0000)]
Fix PR#193.
Modified ReadArchiveBuffer() so that it dynamically allocates the
std::string object used to hold the bytecode object file's name. This is
necessary because it is passed by reference to the new Module that is
allocated to represent the bytecode object, and previously we were
using a std::string that disappeared on function exit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10565
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Sat, 20 Dec 2003 21:35:15 +0000 (21:35 +0000)]
Fix help string for --enable-spec2000 option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10564
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Sat, 20 Dec 2003 17:28:15 +0000 (17:28 +0000)]
Move FP_REG_KILL closer to the actual branch instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10563
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Sat, 20 Dec 2003 16:22:59 +0000 (16:22 +0000)]
Remove floating point killer pass. This is now implemented in the
instruction selector by adding a new pseudo-instruction
FP_REG_KILL. This instruction implicitly defines all x86 fp registers
and is a terminator so that passes which add machine code at the end
of basic blocks (like phi elimination) do not add instructions between
it and the branch or return instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10562
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 10:29:02 +0000 (10:29 +0000)]
Another day, another bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10561
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 10:20:58 +0000 (10:20 +0000)]
Add a new target-independent machine code freeing pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10560
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 10:20:19 +0000 (10:20 +0000)]
Finally, _actually delete the machine code_ for a function, after it has
been emitted. Also, since the FPK pass is causing memory access violations,
disable it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10559
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 10:19:18 +0000 (10:19 +0000)]
This should not be needed anymore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10558
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 10:18:58 +0000 (10:18 +0000)]
Rearrange code, indent for the namespace, add the createMachineFunctionPrinterPass
to passes.h, and add the machien destruction pass to Passes.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10557
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 10:12:17 +0000 (10:12 +0000)]
Fix memory leak in the stackifier, due to the machinebasicblocks not holding
instructions on an ilist
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10556
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 09:58:55 +0000 (09:58 +0000)]
Finegrainify namespacification
Minor cleanups to killer pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10555
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 09:17:40 +0000 (09:17 +0000)]
Hoist some sparc specific code into the sparc target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10554
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 09:17:07 +0000 (09:17 +0000)]
* Finegrainify namespacification
* Move sparc specific code out of generic code
* Eliminate the getOffset() method which made INVALID_FRAME_OFFSET
necessary, which made pulling in MAX_INT as a sentinal necessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10553
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 09:15:21 +0000 (09:15 +0000)]
Remove sparc specific passes from public headers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10552
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 09:15:01 +0000 (09:15 +0000)]
Remove a horrible API
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10551
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 03:42:11 +0000 (03:42 +0000)]
PR135 is now finally fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10550
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 03:36:47 +0000 (03:36 +0000)]
Implement PR135, lazy emission of global variables
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10549
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 03:35:50 +0000 (03:35 +0000)]
Cleanups to implement PR135
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10548
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 02:45:37 +0000 (02:45 +0000)]
Simple refactorings to prepare for lazy global emission
Also, add a stat for the number of globals emitted
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10547
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 02:45:16 +0000 (02:45 +0000)]
Simple refactorings to prepare for lazy global emission
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10546
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 02:03:14 +0000 (02:03 +0000)]
A minor cleanup for better encapsulation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10545
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 01:46:27 +0000 (01:46 +0000)]
Cleanup the JIT as per PR176. This renames the VM class to JIT, and merges the
VM.cpp and JIT.cpp files into JIT.cpp. This also splits some nasty code out
into TargetSelect.cpp so that people hopefully won't notice it. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10544
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 01:45:17 +0000 (01:45 +0000)]
Update for changes in the JIT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10543
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 20 Dec 2003 01:22:19 +0000 (01:22 +0000)]
Rip JIT specific stuff out of TargetMachine, as per PR176
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10542
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Dec 2003 19:48:43 +0000 (19:48 +0000)]
Eliminate a spurious warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10540
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Dec 2003 09:08:34 +0000 (09:08 +0000)]
Fix ADCE/2003-12-19-MergeReturn.llx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10539
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Dec 2003 09:08:15 +0000 (09:08 +0000)]
New testcase for missed optimization
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10538
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Dec 2003 08:43:07 +0000 (08:43 +0000)]
Expand on the AliasSetTracker a bit, so I can remember this next time I come back to it. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10537
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Dec 2003 08:18:16 +0000 (08:18 +0000)]
Remove the wierd "Operands" loop, by traversing basicblocks in reverse order
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10536
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Dec 2003 07:51:46 +0000 (07:51 +0000)]
Add support for people calling main recursively
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10535
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Dec 2003 07:22:45 +0000 (07:22 +0000)]
Implement LICM/sink_multiple.ll, by sinking all possible instructions in the
loop before hoisting any.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10534
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 19 Dec 2003 06:54:37 +0000 (06:54 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10533
91177308-0d34-0410-b5e6-
96231b3b80d8