Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions lessons/b05-the-plugin/b05.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -961,9 +961,11 @@
"suite, and load code of your own into it. Everything from here on is about what the compiler\n",
"does rather than how to get at it.\n",
"\n",
"M3 is GIMPLE properly: the twenty odd statement codes, what a `GIMPLE_ASSIGN` really holds,\n",
"how the CFG is built and maintained, and the point in the pipeline where a function stops\n",
"being a tree and starts being a program."
"M3 is the front end, and it starts before the parser. What the thing you type `gcc` at\n",
"actually is and what it runs, the preprocessor, the C parser, GENERIC and the tree\n",
"representation everything else is built on, types, the language hooks a front end has to\n",
"fill in, and gimplification, which is where a function stops being a tree and starts being\n",
"a program."
]
}
],
Expand Down
8 changes: 5 additions & 3 deletions lessons/b05-the-plugin/build.py
Original file line number Diff line number Diff line change
Expand Up @@ -729,9 +729,11 @@
suite, and load code of your own into it. Everything from here on is about what the compiler
does rather than how to get at it.

M3 is GIMPLE properly: the twenty odd statement codes, what a `GIMPLE_ASSIGN` really holds,
how the CFG is built and maintained, and the point in the pipeline where a function stops
being a tree and starts being a program.
M3 is the front end, and it starts before the parser. What the thing you type `gcc` at
actually is and what it runs, the preprocessor, the C parser, GENERIC and the tree
representation everything else is built on, types, the language hooks a front end has to
fill in, and gimplification, which is where a function stops being a tree and starts being
a program.
""")

raise SystemExit(lesson.save())
2 changes: 1 addition & 1 deletion lessons/b05-the-plugin/grade.py
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,7 @@ def main(argv: list[str] | None = None) -> int:
print("You can write a plugin, say why one was refused, put a pass of your own in the")
print("pipeline at a place you chose, switch one of GCC's off, and explain why none of")
print("it will survive the next release without being rebuilt.")
print("That is M2. M3 next: GIMPLE, properly.")
print("That is M2. M3 next: the front end, starting before the parser.")
return 0
print("\nEverything except the reasoning questions is in the notebook. To reread:")
print(" from gxray import plug, source")
Expand Down
Loading