Commit Graph

  • 3def47d32f Make a step towards getting memory reads working. master Jeremy Rand 2016-07-17 22:46:47 -0400
  • f8d884f5f9 Get my first test source file compiling into valid ORCA/M assembly source. Jeremy Rand 2016-05-13 22:56:40 -0400
  • 4cc95195f4 Get rid of the .globl directive in the assembly output. Jeremy Rand 2016-05-12 20:39:27 -0400
  • acc21bea81 Get rid of the .text directive in the assembly output by creating a target object file class specific for the 65816. Jeremy Rand 2016-05-12 20:13:51 -0400
  • 30e52d00c8 Get rid of the .size stuff in the assembly output and format the instructions better. Jeremy Rand 2016-04-22 00:05:07 -0400
  • 48276b8f1f Add code to emit the case, keep and segment start/end directives in the output assembly file. Indent the instructions as ORCA/M expects. Jeremy Rand 2016-04-20 23:48:48 -0400
  • f0e0e4ec4a Start creating the infrastructure for producing valid assembly for ORCA/M or Merlin. Jeremy Rand 2016-04-19 23:39:53 -0400
  • 2253ae62fc Get the answerToTheUltimateQuestion() function to compile to something approximating 65816 assembly. With this commit, I can compile the simplest of functions but it is a start. Jeremy Rand 2016-04-07 23:15:53 -0400
  • e013351e03 Clean up some problems in the register specification in the instruction format. Jeremy Rand 2016-02-27 23:31:12 -0500
  • b95686b032 Add some more debug around which node is being visited. Jeremy Rand 2016-02-10 23:30:20 -0500
  • 52705f393a More infrastructure required for the basic function which returns a constant integer. Jeremy Rand 2016-02-09 22:30:11 -0500
  • 4fb15c1a07 Disable the fake direct page registers which are wider than 16-bits for now to workaround a problem. LLVM seems to promote everything to 32-bit if you say the machine has 32-bit or better registers even if I have indicated that the native bit width is 16. Disabling these gets me one step closer to my first successful compile. Jeremy Rand 2015-09-03 23:41:00 -0400
  • 74cb03d2f6 Fix the calling convention for return values. I believe the way this works is that you specify the width of the single register and a list of registers to return values in for anything bigger. By having a return convention for [i32], I seem to have been telling LLVM that it can return a 32-bit value in X which it cannot do. Jeremy Rand 2015-08-31 23:30:50 -0400
  • c09c887891 Adopt the standard LLVM debug infrastructure for WDC_LOG(). This way, debugging can be turned on/off at the command line using the "clang -mllvm -debug ..." option. Jeremy Rand 2015-08-28 23:11:18 -0400
  • e7deb74a84 Adjust the target and ABI info for WDC65816 in clang. Jeremy Rand 2015-08-06 23:01:00 -0400
  • 5d8601e987 Some more implementation towards my first successful compile of a simple function. Jeremy Rand 2015-08-06 00:20:12 -0400
  • 2e2ecfb186 More implementation of LowerFormalArguments() and LowerReturn() Jeremy Rand 2015-08-05 00:22:22 -0400
  • 4849b050ce Start adding an implementation for LowerFormalArguments(). Jeremy Rand 2015-08-03 23:42:37 -0400
  • 4862a6612b Add placeholder implementations of a couple more methods. At this point, I can "compile": Jeremy Rand 2015-07-30 23:29:36 -0400
  • 9d6408d419 Add register classes. Jeremy Rand 2015-07-30 23:12:12 -0400
  • e3aaebf907 Fix crash which was caused by not attempting to compute register properties. Now, the register properties fail to be computed because "No integer registers defined!" Jeremy Rand 2015-07-30 01:48:59 -0400
  • b11140166b Add some logs to help trace what i happening when executing. Jeremy Rand 2015-07-28 23:15:15 -0400
  • 6bfb66385d Add a logging mechanism to make it easier to debug the 65816 code. Jeremy Rand 2015-07-28 00:18:06 -0400
  • 39070eb1d0 Model the direct page as a series of 16-bit, 32-bit and 64-bit integer registers and also a series of 32-bit and 64-bit float registers. Reserve the 0th 32-bit integer register in the direct page for use as a frame pointer. Jeremy Rand 2015-07-23 23:45:42 -0400
  • ecc8e5e9df Add a project specific readme file Jeremy Rand 2015-07-18 09:52:27 -0500
  • ed4e0f234c Add a project specific readme file Jeremy Rand 2015-07-18 09:47:29 -0500
  • cd009861d4 Adding project sources to the repository Jeremy Rand 2015-07-18 00:13:38 -0500
  • 0726f818a2 Do not ignore project code either Jeremy Rand 2015-07-18 00:13:14 -0500
  • 99ce1197a6 Add clang Jeremy Rand 2015-07-18 00:10:17 -0500
  • 79f01ca4a8 Do not ignore clang for my 65816 work Jeremy Rand 2015-07-18 00:09:54 -0500
  • 26846cab41 I have no idea why I thought I did't need a subtarget. I do need one so I have added it. Jeremy Rand 2015-07-17 23:57:48 -0500
  • 9bb9bf24c8 More work towards getting the compiler to not crash. Jeremy Rand 2015-07-17 22:22:50 -0500
  • 6900b043ed Remove some debug that I didn't intend to commit. Jeremy Rand 2015-07-17 20:16:29 -0500
  • 8c1a0d70be Lots of basic infrastructure. And get it compiling. Jeremy Rand 2015-07-17 20:05:36 -0500
  • 51e5e090e2 More fixes to the instruction definitions to try to get the build working. Jeremy Rand 2014-07-22 16:27:11 -0400
  • 727ae91f80 More fixes to the instruction set definition to try to get things building again. Jeremy Rand 2014-07-19 23:17:18 -0400
  • 91e7016b1f More work to get a basic WDC65816 infrastructure in and compiling. Jeremy Rand 2014-07-11 23:47:17 -0400
  • 036df005af Add some more boilerplate for the 65816. Jeremy Rand 2014-07-06 23:24:07 -0400
  • 4b9fc0c5ac Add a basic configuration for the 65816 target - build fails now… Jeremy Rand 2014-07-04 23:41:51 -0400
  • 292c2829ab Initial commit with LLVM 3.4.1, cfe 3.4.1 and compiler-rt 3.4 Jeremy Rand 2014-07-04 22:48:00 -0400