diff options
author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2021-04-10 20:55:15 +0200 |
---|---|---|
committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2021-04-17 15:52:10 +0200 |
commit | 787435784e6969365223cfc3bce9dc23855eb8f3 (patch) | |
tree | 2b557d67a167c12898669f5a8c91a4312c30a709 | |
parent | 2cd6d34e815a7442b0b113f395504131b3a92e77 (diff) | |
download | sparse-787435784e6969365223cfc3bce9dc23855eb8f3.tar.gz |
TODO: add some notes about pseudos being typeless
Pseudos are untyped. It's usually OK because their type can nevertheless
be retrieved in a simple way. But it also complicates things and
worse in some cases the type is completely lost.
Tell a bit more about it in the TODO file.
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r-- | Documentation/TODO.md | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Documentation/TODO.md b/Documentation/TODO.md index 3f00bb11..a2763895 100644 --- a/Documentation/TODO.md +++ b/Documentation/TODO.md @@ -56,6 +56,17 @@ Optimization IR -- +* pseudos are untyped, it's usually OK but often it complicates things: + + - PSEUDO_REGs are defined by instructions and their type is normally + retrievable via this defining instruction but in some cases they're not: + for example, pseudos defined by ASM output. + - PSEUDO_ARGs are considered as defined by OP_ENTRY and are used like + this for liveness trackability but their type can't simply be + retrieved via this instruction like PSEUDO_REGs are (with ->def->type). + - PSEUDO_VALs are completely typeless. + + Maybe a few bits should be used to store some kind of low-level type. * OP_SET should return a bool, always * add IR instructions for va_arg() & friends * add a possibility to import of file in "IR assembly" |