Opened 23 months ago

Last modified 7 months ago

#1667 assigned enhancement

Overhaul c-backend.scm

Reported by: felix winkelmann Owned by: felix winkelmann
Priority: major Milestone: 5.4
Component: compiler Version: 5.1.0
Keywords: Cc:
Estimated difficulty: hard

Description

The C code generation stuff is a terrible, rotten mess. It's incomprehensible and making changes in the code has become rather difficult. I have a "backend" branch that uses an intermediate representation (S-expressions, roughly C-like), originally intended for an alternative backend ("qbe") that seems to work, at least for the core system + tests.

I can try to bring it up to date and present it once it is ready.

Change History (3)

comment:1 Changed 23 months ago by felix winkelmann

I've pushed the current state with all changes from master to the branch "backend". I'll need to do some more tests and then we can decide how to go on. Comments are welcome.

comment:2 Changed 8 months ago by sjamaan

Milestone: 5.35.4

Looks like we can make this work for 5.4; too big a change for 5.3

comment:3 Changed 7 months ago by felix winkelmann

It"s nearly working. There is still a problem with foreign-type-size that needs to be solved.

Note: See TracTickets for help on using tickets.