AgeCommit message (Collapse)Author
2013-03-20Only add a library to the link list once.Ori Bernstein
2013-03-20Include the configuration in the makefile.Ori Bernstein
Now things like 'make install' will work.
2013-03-20Use 'lea' to calculate offset addresses.Ori Bernstein
Again, shorter and easier to understand code. Possibly faster too.
2013-03-20Use 'rep movs' in order to do blits.Ori Bernstein
It's shorter, easier to read, and faster.
2013-03-20Retab.Ori Bernstein
2013-03-20Copy the entire union when generating matches.Ori Bernstein
We don't want uninitialized junk in it's body.
2013-03-20Calculate the size to blit when creating a union correctly.Ori Bernstein
2013-03-20Add repeated mov instructions.Ori Bernstein
2013-03-20Fix max.Ori Bernstein
Flipped operator. Ooops.
2013-02-25Add tests for big union argument matching.Ori Bernstein
We want to support things like putting strings into them.
2013-02-20Merge branch 'master' of git+ssh:// Bernstein
2013-02-20Print the filename in syntax errors.Ori Bernstein
Why weren't we doing this earlier?
2013-02-20Fix the syscall files.Ori Bernstein
I forgot that sys-$PLATFORM.myr gets copied to sys.myr as part of the build. This means that I edited the wrong files when doing the port. Fixed.
2013-02-20Fix argument order for OSX.Ori Bernstein
Because fuck you OSX.
2013-02-20'#' is now the postfix pointer deref operator.Ori Bernstein
This makes operator precedence less confusing.
2013-02-19Slices have been using ':' for the range since forever.Ori Bernstein
This fixes the syntax so that works.
2013-02-19Allow empty package names.Ori Bernstein
This exports the symbols into the main namespace.
2013-02-19Add test for empty package names (ie, exporting 'main')Ori Bernstein
2013-02-19Use 'myrbuild' to build the testsOri Bernstein
This both tests 'myrbuild', and ensures that we handle dependencies and such correctly.
2013-02-19It's not a fatal if an 'mc' subcommand fails.Ori Bernstein
We should just exit with the status returned.
2013-02-19Add system dependent behavior to myrbuild.Ori Bernstein
It probes the OS it runs on now, and changes the commands to the appropriate ones. For now, that means changing the linker command line to specify the OSX version. In the future, when we support multiple architectures, it will include probing the architecture as well.
2013-02-12Remove unneded includes.Ori Bernstein
2013-02-11Update todo list.Ori Bernstein
2013-02-11Reflow license text.Ori Bernstein
2013-02-10Add a todo list.Ori Bernstein
2013-02-09Teach myrbuild about linker scripts.Ori Bernstein
Useful for building a kernel.
2013-02-09Remove code used only for debugging.Ori Bernstein
2013-02-06Merge in the nop move deletion.Ori Bernstein
2013-02-06Live in and out needs to be calculated in reverse.Ori Bernstein
2013-02-06Merge branch 'callee-save' of git+ssh:// into ↵Ori Bernstein
2013-02-06Rename 'locs' to 'stkoff', which is a better name.Ori Bernstein
2013-02-06Comment our data structures a bit better.Ori Bernstein
2013-02-06Only put stack temps on the stack.Ori Bernstein
Locals should go in registers.
2013-02-06Delete nop movs.Ori Bernstein
The register allocator coalesces nodes, which leaves us with reg->reg moves that do nothing. This cl deletes them.
2013-02-06Print success when all tests pass.Ori Bernstein
2013-02-06Document decdegree()'s subtlety.Ori Bernstein
It's tricky, the way that we use worklists as sets, but only here.
2013-02-06Fix the ok heuristic again.Ori Bernstein
Set operations. The node can already be in the freeze or simplify worklist. Tricky, tricky.
2013-02-06Change the 'ok()' heuristic. It seems to be wrong.Ori Bernstein
2013-02-05Merge remote-tracking branch 'origin/master' into callee-saveOri Bernstein
2013-02-05Merge branch 'master' into callee-saveOri Bernstein
2013-02-05Disabble buggered tests.Ori Bernstein
2013-02-05Silence more debug dumps.Ori Bernstein
2013-02-05Remove nop moves.Ori Bernstein
2013-02-05I think this is the right 'ok()' heuristic.Ori Bernstein
2013-02-03Hack to remove aliasing registers from mov targetsOri Bernstein
We were effectively excluding registers that we shouldn't have been. Oops.
2013-02-02Implement the other half of DecrementDegree.Ori Bernstein
2013-02-02xOri Bernstein
2013-02-02Fix moverelated.Ori Bernstein
If we didn't pass in the instruction list pointer, we wouldn't have updated the count. This was incorrect for checking if we were move related, because would have returned '0' for the number of move related nodes.
2013-02-01Revert "Broke some tests, but now we do a better job of callee-save."Ori Bernstein
This reverts commit b8545d80c9f3e18e2357be1a44b69dc9ad914458. Breaking tests in the main branch is bad.
2013-02-01Only add registers from the actual initial set.Ori Bernstein
While using all registers as the initial set is correct, it leads to a lot of spurious zero-degree nodes in the graphs and worklists. This makes things hard to debug, as well as slower.