aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linearize.h
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-08-09 18:13:22 +0200
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-08-25 20:33:39 +0200
commitff47e3b34d9bb18d32018e1e0bb1fe977d48c0e3 (patch)
tree4dac02017aeccdf88ea467da52dadf77114c8c08 /linearize.h
parentb39bf76f9c3bbf8a1da7b86eddd6199de43faa58 (diff)
downloadsparse-dev-ff47e3b34d9bb18d32018e1e0bb1fe977d48c0e3.tar.gz
split memops from unops
The field 'orig_type' is only used for casts while 'offset' is only used for memops. Split this in two separated sub-structures so that we can add an additional field for memops without increasing the total size. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'linearize.h')
-rw-r--r--linearize.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/linearize.h b/linearize.h
index 413bf013..f314b370 100644
--- a/linearize.h
+++ b/linearize.h
@@ -113,7 +113,10 @@ struct instruction {
struct /* unops */ {
pseudo_t src;
struct symbol *orig_type; /* casts */
- unsigned int offset; /* memops */
+ };
+ struct /* memops */ {
+ pseudo_t addr; /* alias .src */
+ unsigned int offset;
};
struct /* binops and sel */ {
pseudo_t src1, src2, src3;