start work on aggregate types
The parser now has some code to parse the description of structured types. I tried to be even less specific than LLVM "type" by creating just enough abstraction so that I can deal with both AARCH64 and x64. The base types used in the definition of an aggregate are really just syntactic sugar to give a structure a size and an alignment. Only the location of float components matters for the compilation. In particular this means that the front-ends have to know how the ABI works to pass/return small integer types. This also means that the font-end has to be aware of the layout of structures. Chris Lattner has a proposition [1] for LLVM that is still pending and goes in the direction of giving more control of the ABI the front-end. [1]: http://www.nondot.org/sabre/LLVMNotes/ExtendedIntegerResults.txt
This commit is contained in:
parent
8f2922eb1a
commit
87ab8941ed
5 changed files with 201 additions and 47 deletions
|
@ -24,7 +24,7 @@ main(int ac, char *av[])
|
|||
int opt, pr;
|
||||
Fn *fn;
|
||||
|
||||
fn = parsefn(stdin);
|
||||
fn = parse(stdin);
|
||||
|
||||
pr = 1;
|
||||
opt = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue