Opened 4 years ago

Last modified 8 months ago

#1667 assigned enhancement

Overhaul c-backend.scm

Reported by: felix winkelmann Owned by: felix winkelmann
Priority: major Milestone: someday
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 (4)

comment:1 Changed 4 years 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 3 years 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 3 years ago by felix winkelmann

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

comment:4 Changed 8 months ago by felix winkelmann

Milestone: 5.4someday
Note: See TracTickets for help on using tickets.