aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2021-04-17 15:53:03 +0200
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2021-04-17 15:53:03 +0200
commite70440a4d126430a3cc0228b1a5d2dfaae55a9fb (patch)
treebce4259d9bf69d61229e764beeafb99f4b4929c1
parentbb4239aafe31493a395d7777de5b3c33ea06a98d (diff)
parent787435784e6969365223cfc3bce9dc23855eb8f3 (diff)
downloadsparse-e70440a4d126430a3cc0228b1a5d2dfaae55a9fb.tar.gz
Merge branch 'untyped'
* TODO: add some notes about pseudos being typeless
-rw-r--r--Documentation/TODO.md11
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"