OLD | NEW |
1 Target-specific lowering in ICE | 1 Target-specific lowering in ICE |
2 =============================== | 2 =============================== |
3 | 3 |
4 This document discusses several issues around generating target-specific ICE | 4 This document discusses several issues around generating target-specific ICE |
5 instructions from high-level ICE instructions. | 5 instructions from high-level ICE instructions. |
6 | 6 |
7 Meeting register address mode constraints | 7 Meeting register address mode constraints |
8 ----------------------------------------- | 8 ----------------------------------------- |
9 | 9 |
10 Target-specific instructions often require specific operands to be in physical | 10 Target-specific instructions often require specific operands to be in physical |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
230 treatment. | 230 treatment. |
231 | 231 |
232 A ``Variable`` that is not the ``Dest`` can be marked as modified by adding an | 232 A ``Variable`` that is not the ``Dest`` can be marked as modified by adding an |
233 ``InstFakeDef``. However, this is not sufficient, as the ``Variable`` may have | 233 ``InstFakeDef``. However, this is not sufficient, as the ``Variable`` may have |
234 no more live uses, which could result in the ``InstFakeDef`` being dead-code | 234 no more live uses, which could result in the ``InstFakeDef`` being dead-code |
235 eliminated. The solution is to add an ``InstFakeUse`` as well. | 235 eliminated. The solution is to add an ``InstFakeUse`` as well. |
236 | 236 |
237 To summarize, for every source ``Variable`` that is not equal to the | 237 To summarize, for every source ``Variable`` that is not equal to the |
238 instruction's ``Dest``, append an ``InstFakeDef`` and ``InstFakeUse`` | 238 instruction's ``Dest``, append an ``InstFakeDef`` and ``InstFakeUse`` |
239 instruction to provide the necessary analysis information. | 239 instruction to provide the necessary analysis information. |
OLD | NEW |