First, thanks to everyone that helped construct a very interesting
tool for compiler construction.

I am currently working (as a hobbyist, err non university level
student) on a project which compares trusted C optimization methods
over global boundaries. Basically, I'm trying to construct a C
compiler which provides a documentation of steps it makes to generate
optimized C code. I am in a bit of a hurry, and am beginning to think
that it would be a waste of my time to write an x86 backend for my
compiler when I could use a C-- compiler. I am working on optimizing
the code using things like loop optimizations, dead code elimination,
and more global things like pointer aliasing which occur after parsing
and context checking. One of the important factors of the project is
to be able to show differences between the code before and after it
was optimized. I fear a code generator which makes major optimizations
(although I'm fine with peephole optimizations, as any code generator
I would write would include one) may somewhat invalidate or skew my
results. I would like to use Quick C-- to generate machine code for
x86 platforms (and maybe others?) but am wondering if anyone thinks
this would be safe with respect to my output. Is there any way to
minimize or turn off major optimizations? Does Quick C-- not make
optimizations which will affect the output on a major level? Another
note I'd like to make is that I am _not_ attempting to construct a
certified compiler, so the soundness proof of Quick C-- is not a
requirement. At the current state (medium development) I'm working
with a fairly ad hoc intermediate language which consists of a flow
graph and expression trees (I'm an AST fan, and like to make
optimizations with those rather than things like SSA or TAC). The
later stage will probably convert the intermediate code into a simple
representative form and then to C--. And yes, it is written in ML.

Any suggestions or comments would be appreciated,

    -- Kristopher Micinski
_______________________________________________
Cminusminus mailing list
[email protected]
https://cminusminus.org/mailman/listinfo/cminusminus

Reply via email to