LLVM backend for 6502
Go to file
Brian Gaeke 20244b7e2c 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
2002-12-12 15:33:40 +00:00
docs - Eliminated the deferred symbol table stuff in Module & Function, it really 2002-11-20 18:36:02 +00:00
include Make a release build compile. This field is not really an enum, it's really a bitfield 2002-12-12 05:31:26 +00:00
lib This checkin is brought to you by the brian gaeke allnighter fund. 2002-12-12 15:33:40 +00:00
runtime fix path 2002-11-08 21:29:22 +00:00
support Fix bug 2002-12-06 04:42:16 +00:00
test Check in an old testcase 2002-12-07 17:08:07 +00:00
tools This checkin is brought to you by the brian gaeke allnighter fund. 2002-12-12 15:33:40 +00:00
utils Include tablegen 2002-12-12 03:44:42 +00:00
Makefile Make sure to build lib/Support before the utilities, then use the new 2002-12-02 01:23:26 +00:00
Makefile.common On `make clean', kill the core files produced, which are of the form: 2002-12-04 17:08:15 +00:00
Makefile.config 'whoami' doesn't exist on solaris 2002-09-22 23:35:11 +00:00
Makefile.Linux Export a new ARCH variable indicating what platform is being compiled 2002-12-06 03:45:20 +00:00
Makefile.rules On `make clean', kill the core files produced, which are of the form: 2002-12-04 17:08:15 +00:00
Makefile.SunOS Export a new ARCH variable indicating what platform is being compiled 2002-12-06 03:45:20 +00:00