Chris Lattner [Fri, 13 Dec 2002 06:57:24 +0000 (06:57 +0000)]
return 0 on success
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4996
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 06:56:29 +0000 (06:56 +0000)]
Implement getelementptr constant exprs
Implement ConstantPointerRefs
Treat long/ulongs as if they were integers. A hack, but an effective one
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4995
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 13 Dec 2002 06:46:31 +0000 (06:46 +0000)]
brg
InstSelectSimple.cpp: Add stub implementation of visitFreeInst.
Add comments that mention how we are failing to implement malloc/free.
Add initial implementation of visitAllocaInst.
X86TargetMachine.cpp: Include llvm/Transforms/Scalar.h.
Add LowerAllocations pass before instruction selection.
jello/Makefile: Add scalaropts.a.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4994
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 06:01:21 +0000 (06:01 +0000)]
getelementptr uses long instead of uint indexes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4993
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 05:51:32 +0000 (05:51 +0000)]
Stop sucking
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4992
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 05:44:21 +0000 (05:44 +0000)]
Making main() return 0 so that we know it ran successfully when it exits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4991
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 05:43:36 +0000 (05:43 +0000)]
Making main() return 0 to exit without error when no error actually occurs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4990
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 05:42:57 +0000 (05:42 +0000)]
Fix testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4989
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 05:40:28 +0000 (05:40 +0000)]
Implement branches
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4988
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 05:28:50 +0000 (05:28 +0000)]
Infinite loops, are, well, not good
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4987
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 05:05:05 +0000 (05:05 +0000)]
Emit the right form of mod/rm mod field
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4986
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 05:04:37 +0000 (05:04 +0000)]
Nicify a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4985
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 04:43:32 +0000 (04:43 +0000)]
This way it's easier to test: if the call to external exit(0) succeeded,
program exits with code 0, no error. If the call does not work/succeed, main
returns 1, so we notice it. The other way around doesn't work. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4984
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 04:41:31 +0000 (04:41 +0000)]
Fix encoding of CBW instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4983
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 04:34:02 +0000 (04:34 +0000)]
Start allocating stack space at [ebp-4] to not overwrite the return address.
Also make all loads & stores 4-byte aligned for performance. ;)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4982
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 04:24:53 +0000 (04:24 +0000)]
Moves now select correct opcode based on the data size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4981
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 04:12:24 +0000 (04:12 +0000)]
Remove extranous #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4980
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 03:51:55 +0000 (03:51 +0000)]
Rename MemArg* to Arg*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4979
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 Dec 2002 03:50:13 +0000 (03:50 +0000)]
Make mem size an assert
Add mem size flags to all instructions using an imm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4978
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 13 Dec 2002 02:13:15 +0000 (02:13 +0000)]
This is supposed to provide correct size for datatypes. Supposedly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4977
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 12 Dec 2002 23:20:31 +0000 (23:20 +0000)]
Take advantage of our knowledge of 2-address X86 instructions and
register-allocated them appropriately.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4976
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 12 Dec 2002 23:19:51 +0000 (23:19 +0000)]
Define the 2-address flag used by X86 instructions (add,sub,and,or,xor) that
need to be declared as such.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4975
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 12 Dec 2002 23:19:11 +0000 (23:19 +0000)]
Added the flag to mark instructions which are really 2-address instructions in
X86, but would be 3-address in any normail architecture.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4974
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 12 Dec 2002 15:33:40 +0000 (15:33 +0000)]
This checkin is brought to you by the brian gaeke allnighter fund.
(lib/Target/X86) InstSelectSimple.cpp:
Include llvm/DerivedTypes.h and iostream.
Refactor visitMul out into a wrapper around doMultiply(), so that we
can do multiplications on temporary values when we are doing
getelementptrs.
Refactor part of getReg out into makeAnotherReg, so that we can create
registers willy-nilly to hold temporary values, when we are doing
getelementptrs.
Add stub implementations of visitMallocInst and visitAllocaInst.
Add initial implementation of visitGetElementPtrInst.
In copyConstantToRegister:
We throw a *lot* of our asserts here. So, when we want to throw an
assert, print out to stderr whatever expr or whatever constant made
us barf.
Support copying ConstantPointerNull to register, using a move immediate
of zero.
Rename FLDr4 and FLDr8 to FLDr32 and FLDr64, so that they match the meanings
of the numbers in the other instruction names. All uses modified.
Teach visitCallInst to extract byte- and short-class return values
from subregs of EAX. Add a FIXME note about how we would do it for
float-class return values.
Add a FIXME note about how we would cast float to int and back.
X86InstrInfo.def:
Rename FLDr4 and FLDr8 to FLDr32 and FLDr64, so that they match the meanings
of the numbers in the other instruction names. All uses modified.
(tools/jello) GlobalVars.cpp:
Include iostream.
If we have to emit a floating-point constant to memory, gamble and use
the same method as for ints.
If we have to emit a ConstantPointerNull to memory, try using a "void *"
and "NULL".
Otherwise, if we are going to throw an assert, print out whatever constant
made us barf, first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4973
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 12 Dec 2002 05:34:10 +0000 (05:34 +0000)]
'graph' is spelled without a 'c'.
Also added Statistic counters for NoAlias and MayAlias.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4972
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Dec 2002 05:31:26 +0000 (05:31 +0000)]
Make a release build compile. This field is not really an enum, it's really a bitfield
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4971
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 12 Dec 2002 05:29:32 +0000 (05:29 +0000)]
ipa.a only needs to be mentioned once, and spaces should be used instead of
tabs for readability.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4970
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 12 Dec 2002 05:28:39 +0000 (05:28 +0000)]
No need to specify the class if the method is within the class declaration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4969
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Dec 2002 03:47:27 +0000 (03:47 +0000)]
Remove #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4968
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Dec 2002 03:44:42 +0000 (03:44 +0000)]
Include tablegen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4967
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 Dec 2002 03:43:30 +0000 (03:43 +0000)]
Fix header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4966
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 10 Dec 2002 13:08:48 +0000 (13:08 +0000)]
External routines used to identify Cilk operations inserted by the
parallelization pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4965
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 10 Dec 2002 13:07:58 +0000 (13:07 +0000)]
This file implements the function DemoteRegToStack(), which takes a
virtual register computed by an Instruction& X and replaces it with
a slot in the stack frame, allocated via alloca.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4964
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 10 Dec 2002 13:07:12 +0000 (13:07 +0000)]
This file provides the function DemoteRegToStack(), which takes a
virtual register computed by an Instruction& X and replaces it with
a slot in the stack frame, allocated via alloca.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4963
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 10 Dec 2002 00:43:34 +0000 (00:43 +0000)]
This file implements a pass that automatically parallelizes a program,
using the Cilk multi-threaded runtime system to execute parallel code.
The current version inserts too many sync() operations in the program
because it does not attempt to optimize their placement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4962
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 10 Dec 2002 00:42:22 +0000 (00:42 +0000)]
The pass Parallelize automatically parallelizes a program using the
Cilk multi-threaded runtime system to execute parallel code. This file
exposes some routines needed for code generation for that pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4961
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 9 Dec 2002 05:53:11 +0000 (05:53 +0000)]
Fix link errors due to new IPModRef pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4960
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Mon, 9 Dec 2002 04:46:25 +0000 (04:46 +0000)]
Repeat ipa.a. Since IPModRef is currently only used in analysis.o,
it was causing linking errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4959
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 8 Dec 2002 14:13:19 +0000 (14:13 +0000)]
Iterator that enumerates the ProgramDependenceGraph (PDG) for a function,
i.e., enumerates all data and control dependences for the function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4958
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 8 Dec 2002 13:26:29 +0000 (13:26 +0000)]
An explicit representation of dependence graphs, and a pass that
computes a dependence graph for data dependences on memory locations
using interprocedural Mod/Ref information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4957
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Dec 2002 06:01:34 +0000 (06:01 +0000)]
Namespacify more
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4956
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 8 Dec 2002 05:51:08 +0000 (05:51 +0000)]
Add support to count the number of dynamic instructions executed by LLI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4955
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Dec 2002 23:24:24 +0000 (23:24 +0000)]
Add total instruction, bb, & function counts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4954
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Dec 2002 21:27:16 +0000 (21:27 +0000)]
Fix bug that was bugging bugpoint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4953
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Dec 2002 18:42:13 +0000 (18:42 +0000)]
Remove dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4952
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Dec 2002 17:08:07 +0000 (17:08 +0000)]
Check in an old testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4951
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 7 Dec 2002 04:41:22 +0000 (04:41 +0000)]
Give better error message if two passes of the same argument are registered
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4950
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 6 Dec 2002 21:19:07 +0000 (21:19 +0000)]
Stronger assertion in getNodeId(): node id must exist in the map.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4949
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 6 Dec 2002 21:17:10 +0000 (21:17 +0000)]
Two bug fixes:
(1) Make entries for Constant values in the ScalarMap.
(2) Set MOD bit for the node pointed to by the
argument of a free instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4948
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 6 Dec 2002 21:15:21 +0000 (21:15 +0000)]
Fix several related bugs in DSNode::mergeWith() caused by the
fact that the incoming nodes may be merged away at intermediate
steps. Use an extra level of indirection via DSNodeHandles
to track the nodes being merged. All this now happens in a
static helper function MergeNodes().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4947
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 6 Dec 2002 21:10:17 +0000 (21:10 +0000)]
Added static helper method MergeNodes(). See DataStructure.cpp for more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4946
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 6 Dec 2002 15:02:22 +0000 (15:02 +0000)]
Bug fix in operator==() and in method fini().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4945
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 6 Dec 2002 10:49:33 +0000 (10:49 +0000)]
Implement a lot of cast functionality (no FP or 64)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4944
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Dec 2002 06:40:00 +0000 (06:40 +0000)]
Make sure to print indirect node again
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4943
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Dec 2002 04:42:16 +0000 (04:42 +0000)]
Fix bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4942
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Dec 2002 04:42:10 +0000 (04:42 +0000)]
Allow printing partially constructed bitsets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4941
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Dec 2002 04:02:48 +0000 (04:02 +0000)]
Don't delete values that may still be referenced!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4940
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Dec 2002 03:55:39 +0000 (03:55 +0000)]
Tighten up assertion checking
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4939
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Dec 2002 03:53:40 +0000 (03:53 +0000)]
Only build jello when compiling on X86
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4938
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Dec 2002 03:52:51 +0000 (03:52 +0000)]
Fix to make jello compile on Sparc even though it won't run.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4937
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 6 Dec 2002 03:45:20 +0000 (03:45 +0000)]
Export a new ARCH variable indicating what platform is being compiled
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4936
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Dec 2002 22:41:53 +0000 (22:41 +0000)]
Fix bug: 2002-12-05-MissedConstProp.ll pointed out by Casey Carter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4935
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 5 Dec 2002 22:25:47 +0000 (22:25 +0000)]
New testcase pointed out by Casey Carter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4934
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 5 Dec 2002 17:17:26 +0000 (17:17 +0000)]
Cute bug fix: when moving links from N to this, some links could have
been missed if node *this got merged away due to recursive merging!
Also, links were not moved correctly if a node is collapsed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4933
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 5 Dec 2002 08:30:40 +0000 (08:30 +0000)]
Target/X86/Printer.cpp: Add sizePtr function, and use it instead of
" <SIZE> PTR " string when emitting assembly.
Target/X86/X86InstrInfo.def: Tidy up a bit:
Squashed everything down to 118 chars wide, wrapping lines so that
comment is at the same point on each line. Rename "NoImpRegs" as
"NoIR". (most instructions have NoImpRegs twice on a line, so this
saves 10 columns).
Also, annotate various instructions with flags for size of memory operand.
(MemArg16, MemArg32, MemArg64, etc.)
Target/X86/X86InstrInfo.h: Define flags for size of memory operand.
(MemArg16, MemArg32, MemArg64, etc.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4932
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 4 Dec 2002 23:58:41 +0000 (23:58 +0000)]
Return 0 to make it into a fully-functioning "Hello, World!" test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4931
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 4 Dec 2002 23:58:08 +0000 (23:58 +0000)]
Added code generation for function prologues and epilogues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4930
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 4 Dec 2002 23:57:03 +0000 (23:57 +0000)]
Implemented functions for emitting prologues and epilogues;
removed EBP from the list of callee-saved registers (it isn't one).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4929
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 4 Dec 2002 23:56:26 +0000 (23:56 +0000)]
Added push and pop instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4928
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 4 Dec 2002 23:55:56 +0000 (23:55 +0000)]
Added prototypes for emitting prologue and epilogue for function code
generation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4927
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 23:51:44 +0000 (23:51 +0000)]
Fix testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4926
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 23:50:28 +0000 (23:50 +0000)]
Fix handling of function calls that return void
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4925
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 23:45:28 +0000 (23:45 +0000)]
Implement initial support for return values from call instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4924
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 4 Dec 2002 19:24:45 +0000 (19:24 +0000)]
Fun arithmetic with iterators aimed at fixing a bug: inserting instructions
after the *current* instruction while keeping the iterator in the same
'logical' place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4923
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 4 Dec 2002 19:22:53 +0000 (19:22 +0000)]
Adjust the stack pointer after a function call, proportional to the number of
arguments pushed onto the stack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4922
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 4 Dec 2002 19:15:22 +0000 (19:15 +0000)]
Added instructions to add/subtract imm32 to/from a reg32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4921
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 17:35:11 +0000 (17:35 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4920
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 17:32:52 +0000 (17:32 +0000)]
Fix bogus assertion failures
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4919
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 17:28:40 +0000 (17:28 +0000)]
Avoid bad assertion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4918
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 17:18:30 +0000 (17:18 +0000)]
Remove think-o assertion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4917
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 17:15:34 +0000 (17:15 +0000)]
Avoid crashing on Arguments, just silently miscompile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4916
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 17:15:07 +0000 (17:15 +0000)]
Add main functions to benchmarks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4915
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 4 Dec 2002 17:14:13 +0000 (17:14 +0000)]
storeReg2RegOffset() and loadRegOffset2Reg() now take the iterator by value
instead of by reference, since they return the modified iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4914
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 4 Dec 2002 17:08:15 +0000 (17:08 +0000)]
On `make clean', kill the core files produced, which are of the form:
core.### where ### is the process ID. We use core.[0-9][0-9]* to avoid killing
core.c, core.cpp, and core.h files which may be part of benchmarks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4913
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 17:00:25 +0000 (17:00 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4912
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 4 Dec 2002 16:47:04 +0000 (16:47 +0000)]
Moved buildReg2RegClassMap() into from X86RegisterInfo to MRegisterInfo, since
it is target-independent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4911
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 16:12:54 +0000 (16:12 +0000)]
Add a "Lazy Function Resolution in Jello" section
Remove some todo's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4910
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 06:56:56 +0000 (06:56 +0000)]
Fix a bug I introduced in a previous change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4909
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 06:45:40 +0000 (06:45 +0000)]
Add support for global value references
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4908
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 06:45:19 +0000 (06:45 +0000)]
Add support for referencing global variables/functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4907
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 06:44:41 +0000 (06:44 +0000)]
Print out direct global references
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4906
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 06:44:27 +0000 (06:44 +0000)]
Add support for direct global references
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4905
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 06:09:04 +0000 (06:09 +0000)]
Initial checkin of global var support code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4904
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 06:04:17 +0000 (06:04 +0000)]
Implement simple global variable support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4903
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 06:04:07 +0000 (06:04 +0000)]
Implement external function support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4902
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 05:20:12 +0000 (05:20 +0000)]
Expose target data through a method for uniformity
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4901
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 05:05:26 +0000 (05:05 +0000)]
Initial checkin of Unresolved function fault handler
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4900
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 4 Dec 2002 04:47:34 +0000 (04:47 +0000)]
Implement lazy resolution of function calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4899
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 3 Dec 2002 23:15:19 +0000 (23:15 +0000)]
This should fix the bug seen with some registers not being allocated
correctly: skipping instructions by incorrectly incrementing the pointer.
Also adds support for building a reg-to-regclass map, and splits the function
for saving register to stack into two, one suitable for virtual registers
(which also assigns it a physical register) and one for simply storing back
physical registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4898
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 3 Dec 2002 23:11:21 +0000 (23:11 +0000)]
Added support for callee- and caller-save registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4897
91177308-0d34-0410-b5e6-
96231b3b80d8