path: root/6
AgeCommit message (Collapse)Author
2017-11-05Accept the globalness of file.Ori Bernstein
2017-11-05Formatting tweaks.Ori Bernstein
2017-11-05Update comment to match reality.Ori Bernstein
2017-10-29Remove obsolete debugging.Ori Bernstein
2017-10-07Correctly pad small alignments.Ori Bernstein
Negative padding shouldn't happen.
2017-09-11Fix indentation.Ori Bernstein
GCC has silly warnings.
2017-09-10Emit rotl/rotr instructions.Ori Bernstein
2017-09-10Format whitespace.Ori Bernstein
2017-09-09We don't need to write all the zeros explicitly.Ori Bernstein
This makes initializing large zeros faster.
2017-08-26...The line that fixes things should probably get committed.Ori Bernstein
2017-08-19File is already global.Ori Bernstein
Let's use it.
2017-07-30Add hook into frontend for sizeof() folding.Ori Bernstein
Before, code like: const f = { var buf: byte[sizeof(int)] } would crash us, because `sizeof` would not get folded. A slightly subtle point: muse doens't install a hook here, but since it's already handling processed usefiles, the array sizes should already be prefolded for its viewing pleasure.
2017-07-18Use zalloc to allocate livedense and livesparseMichael Forney
Although the data structure works no matter the initial contents of livedense and livesparse, malloc returns a pointer to indeterminate values, and accessing an indeterminate value is undefined behavior. This also avoids spurious valgrind errors when debugging.
2017-07-13Fix missed option conversion.Ori Bernstein
2017-07-12Add support for -O in 6m.Ori Bernstein
First step to not polluting source dirs.
2017-07-09Style(9)-ify.Ori Bernstein
2017-06-30Support union constantsMichael Forney
2017-06-24Miscellaneous typo/formatting fixesMichael Forney
2017-05-19Allow global variable array initialziers.Ori Bernstein
2017-05-14Types based off of void *also* have no storage.Ori Bernstein
2017-04-06When we ask for asm, don't delete it.Ori Bernstein
2017-03-21Use symbol deduplication on 9front.Ori Bernstein
2017-03-20Step by line in gdb.Ori Bernstein
I guess it's a good idea.
2017-03-03Clean up Plan 9 assembly generation code.Ori Bernstein
Unused vars and stuff.
2017-03-03On 9front, we want type info in text.Ori Bernstein
Text can be deduplicated. Data currently can't.
2017-02-17Update the mc manpage.Ori Bernstein
2017-02-17Search for usefiles relative to the output.Ori Bernstein
For most uses, this is equivalent to compiler cwd, but supports out of tree builds better. It also means that builds behave the same way regardless of the directory that the compiler is run from, which is convenient for testing. This also drops support for `.use` suffixes on local uses.
2017-02-13Initialize size correctly.Ori Bernstein
2017-02-13Pad tuples and arrays correctly.Ori Bernstein
2017-01-08Dedup const initialization.Ori Bernstein
2017-01-02Fix clang warnings.Ori Bernstein
Apparently enums getting promoted to ints in va_start() is undefined behavior. This is stupid.
2016-12-20Fix warnings on OSX, refactor ./configureOri Bernstein
By default, OSX builds for the current OS, but we tell it to link for 10.6 and up. This mismatch will sometimes cause warnings. This exports an environment variable in order to fix that annoyance, as well as cleaning up the way we pass round the flags to do it.
2016-12-06Reduce memory usage.Ori Bernstein
2016-12-06Grow the adjacency lists incrementally.Ori Bernstein
We don't need to waste *THAT* much RAM on them.
2016-12-04Don't incrementally grow nodemove lists.Ori Bernstein
This is O(n^2) and it actually matters.
2016-12-04Reset register numbers.Ori Bernstein
In our register allocator, we create a matrix that's got nreg*nreg bits in it. When the register numbers get big, this matrix also can get big. We can't do anything about that in giant functions, but if we have lots of smaller functions, we can clear the value before generating the code, keeping the sizes of the matrixes and bit sets in check. This speeds up builds significantly in files with thousands of functions.
2016-11-01Use uvlong for all printing of sizes on 9front.Ori Bernstein
size_t is weird on 9front, and things keep breaking. Let's just cast to a known correct format and not worry.
2016-09-10Fix minimized integer encoding.Ori Bernstein
The bit munging was wrong. Oops.
2016-09-08Allow any type to be cast to its base type.Ori Bernstein
2016-08-25Use an unsigned long long for ~0Ori Bernstein
2016-08-24Don't eliminate all record of prepainted liveness.Ori Bernstein
If we have a prepainted register that we coalesced, we can't eliminate the move, because that means we could clobber it.
2016-08-20Print the function name when debug dumping RAOri Bernstein
2016-06-17Allow implementing traits from other namespaces.Ori Bernstein
2016-05-14Update 9front build/bootstrap.Ori Bernstein
2016-05-14Fix typosOri Bernstein
2016-05-08We now can build and install on openbsd.Ori Bernstein
2016-05-08Use uvlong.Ori Bernstein
Format specifiers for precisely sized types are ugly.
2016-04-07Remove dead variables.Ori Bernstein
2016-03-10Fix build on OSX, by deduping syms correctly.Ori Bernstein
With macho, we need to set a different attribute for asm than we need on ELF targets.
2016-03-09Fix typos in tables.Ori Bernstein
The low byte of %edi is %dil, not %sil.