diff options
| author | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-04-15 01:35:19 +0300 |
|---|---|---|
| committer | Kimplul <kimi.h.kuparinen@gmail.com> | 2024-04-15 02:01:21 +0300 |
| commit | 5a728ae106b978c6de0fa6316f37eb3b4a86a405 (patch) | |
| tree | 20c5e1f08aa4c6c84f22d6b31d0965c36a38ab94 /src/correct.c | |
| parent | 8ce25e04620d4173748a7d7dd310351bac90eacc (diff) | |
| download | qbt-5a728ae106b978c6de0fa6316f37eb3b4a86a405.tar.gz qbt-5a728ae106b978c6de0fa6316f37eb3b4a86a405.zip | |
format
Diffstat (limited to 'src/correct.c')
| -rw-r--r-- | src/correct.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/correct.c b/src/correct.c index 5db40dd..8c0b249 100644 --- a/src/correct.c +++ b/src/correct.c @@ -68,6 +68,14 @@ static size_t correct_relations(struct blk *b, size_t ii, struct insn i, return ri; } +static size_t correct_store(struct blk *b, size_t ii, struct insn i, size_t ri) +{ + if (i.in[1].class == IMM) + return spill_imm(b, ii, i, 1, ri); + + return ri; +} + static size_t correct_insn(struct blk *b, size_t ii, struct insn i, size_t ri) { /* replace references with instructions */ @@ -109,6 +117,9 @@ static size_t correct_insn(struct blk *b, size_t ii, struct insn i, size_t ri) case NE: return correct_relations(b, ii, i, ri); + case STORE: + return correct_store(b, ii, i, ri); + default: } |
