Commit Graph

4717 Commits

Author SHA1 Message Date
Misha Brukman dfa9cfa67f Added instructions to add/subtract imm32 to/from a reg32.
llvm-svn: 4921
2002-12-04 19:15:22 +00:00
Chris Lattner 2b210cf949 New testcase
llvm-svn: 4920
2002-12-04 17:35:11 +00:00
Chris Lattner fb8032dc84 Fix bogus assertion failures
llvm-svn: 4919
2002-12-04 17:32:52 +00:00
Chris Lattner 8d79e5c9d9 Avoid bad assertion
llvm-svn: 4918
2002-12-04 17:28:40 +00:00
Chris Lattner 82cc643401 Remove think-o assertion
llvm-svn: 4917
2002-12-04 17:18:30 +00:00
Chris Lattner ccf17c6564 Avoid crashing on Arguments, just silently miscompile
llvm-svn: 4916
2002-12-04 17:15:34 +00:00
Chris Lattner 46eff7d55f Add main functions to benchmarks
llvm-svn: 4915
2002-12-04 17:15:07 +00:00
Misha Brukman 1af9bebcda storeReg2RegOffset() and loadRegOffset2Reg() now take the iterator by value
instead of by reference, since they return the modified iterator.

llvm-svn: 4914
2002-12-04 17:14:13 +00:00
Misha Brukman 8b6e7d50b7 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.

llvm-svn: 4913
2002-12-04 17:08:15 +00:00
Chris Lattner 4bc49fa46e New testcase
llvm-svn: 4912
2002-12-04 17:00:25 +00:00
Misha Brukman 0d28502c32 Moved buildReg2RegClassMap() into from X86RegisterInfo to MRegisterInfo, since
it is target-independent.

llvm-svn: 4911
2002-12-04 16:47:04 +00:00
Chris Lattner 7b1ec5ed3a Add a "Lazy Function Resolution in Jello" section
Remove some todo's

llvm-svn: 4910
2002-12-04 16:12:54 +00:00
Chris Lattner bc98081090 Fix a bug I introduced in a previous change
llvm-svn: 4909
2002-12-04 06:56:56 +00:00
Chris Lattner b41a1b7c72 Add support for global value references
llvm-svn: 4908
2002-12-04 06:45:40 +00:00
Chris Lattner 6425a502a6 Add support for referencing global variables/functions
llvm-svn: 4907
2002-12-04 06:45:19 +00:00
Chris Lattner 57f055f2f2 Print out direct global references
llvm-svn: 4906
2002-12-04 06:44:41 +00:00
Chris Lattner 418b77ef4b Add support for direct global references
llvm-svn: 4905
2002-12-04 06:44:27 +00:00
Chris Lattner 1813cb90e8 Initial checkin of global var support code
llvm-svn: 4904
2002-12-04 06:09:04 +00:00
Chris Lattner 99fee40091 Implement simple global variable support
llvm-svn: 4903
2002-12-04 06:04:17 +00:00
Chris Lattner 0ded70ec7c Implement external function support
llvm-svn: 4902
2002-12-04 06:04:07 +00:00
Chris Lattner 4843ebc4ba Expose target data through a method for uniformity
llvm-svn: 4901
2002-12-04 05:20:12 +00:00
Chris Lattner 6a716900ba Initial checkin of Unresolved function fault handler
llvm-svn: 4900
2002-12-04 05:05:26 +00:00
Chris Lattner b7bfaae93a Implement lazy resolution of function calls
llvm-svn: 4899
2002-12-04 04:47:34 +00:00
Misha Brukman a8ad93221a 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.

llvm-svn: 4898
2002-12-03 23:15:19 +00:00
Misha Brukman d9522256d3 Added support for callee- and caller-save registers.
llvm-svn: 4897
2002-12-03 23:11:21 +00:00
Misha Brukman 9e4163539f RegisterInfo now supports handing out caller- and callee-save registers, as
well as building a map from a physical register to its register class.

llvm-svn: 4896
2002-12-03 23:09:53 +00:00
Chris Lattner 64261741c7 Fix broken ret opcode, grr...
llvm-svn: 4895
2002-12-03 22:50:02 +00:00
Chris Lattner 7814bf2a79 Initial checkin of virtual machine implementation.
We can now run very trivial test cases

llvm-svn: 4894
2002-12-03 22:48:59 +00:00
Chris Lattner bddc6dc5ad Checkin debug implementation of MCE
llvm-svn: 4893
2002-12-03 20:56:42 +00:00
Chris Lattner 8f520dfa9c Add virtual dtor, expose a debug impl
llvm-svn: 4892
2002-12-03 20:56:20 +00:00
Chris Lattner 645b7548bf Fix instsel for calls
llvm-svn: 4891
2002-12-03 20:30:12 +00:00
Chris Lattner a148496989 Testcase for call instruction
llvm-svn: 4890
2002-12-03 20:30:03 +00:00
Chris Lattner dd6df94b00 Standard hello-world test
llvm-svn: 4889
2002-12-03 20:25:43 +00:00
Chris Lattner 1d7d4f64c4 Add code that can be used for debugging
llvm-svn: 4888
2002-12-03 20:01:04 +00:00
Chris Lattner 807a36c458 Disable timing of bytecode loader
llvm-svn: 4887
2002-12-03 19:42:26 +00:00
Chris Lattner 5e05817565 Simplify code
llvm-svn: 4886
2002-12-03 19:40:16 +00:00
Chris Lattner f4c0811faa Fix big bug introduced with symbol table changes
llvm-svn: 4885
2002-12-03 18:32:30 +00:00
Chris Lattner 6a0874071b Fix the build
llvm-svn: 4884
2002-12-03 18:15:59 +00:00
Brian Gaeke b676857358 brg
Add support for cast ... to bool in visitCastInst (it's a start, anyways...)

llvm-svn: 4883
2002-12-03 07:36:03 +00:00
Chris Lattner 8052f8006b Split the machine code emitter completely out of the printer
llvm-svn: 4882
2002-12-03 06:34:06 +00:00
Chris Lattner 89cb1d48f6 Final tweak to printer
llvm-svn: 4881
2002-12-03 06:33:30 +00:00
Chris Lattner 9af6a5d5fe Implement trivially simple debugger for MachineCodeEmitter interface
llvm-svn: 4880
2002-12-03 06:09:26 +00:00
Chris Lattner 9aa0b12f0a Continue implementing field initializers
llvm-svn: 4879
2002-12-03 06:00:33 +00:00
Chris Lattner ab50fb4b2e Don't delete temporary files
llvm-svn: 4878
2002-12-03 06:00:11 +00:00
Chris Lattner 0d80874f6c * Move information about Implicit Defs/Uses into X86InstrInfo.def.
* Expose information about implicit defs/uses of register through the
  MachineInstrInfo.h file.

llvm-svn: 4877
2002-12-03 05:42:53 +00:00
Chris Lattner c6d6d62c8e Initialize implicit uses/defs fields for sparc backend to empty list
llvm-svn: 4876
2002-12-03 05:41:54 +00:00
Chris Lattner aa0d2c5fb3 Add entries to track information about implicit uses and definitions of
the instructions

llvm-svn: 4875
2002-12-03 05:41:32 +00:00
Brian Gaeke 5485c079d1 brg
X86Implicit.cpp, X86Implicit.h: New files.
InstSelectSimple.cpp: Add some clarifications in visitCallInst comments.

llvm-svn: 4874
2002-12-03 00:51:09 +00:00
Chris Lattner f24e2a748f More support
llvm-svn: 4873
2002-12-02 21:56:28 +00:00
Chris Lattner 15fbd61664 More support for machine code emission: raw instructions
llvm-svn: 4872
2002-12-02 21:56:18 +00:00