<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/91848>91848</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [Compiling Error][LiveIntervals.cpp] error: invalid use of incomplete type â€˜const class llvm::TargetInstrInfo’
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          hlyix
      </td>
    </tr>
</table>

<pre>
    ![image](https://github.com/llvm/llvm-project/assets/31645239/5a09b448-c9b3-4c44-be8a-a41db4505902)

When I invoke function in TII like:
**bool test = TII->isTriviallyReMaterializable(MI);** (An example, no significance)
```
diff --git a/llvm/lib/CodeGen/LiveIntervals.cpp b/llvm/lib/CodeGen/LiveIntervals.cpp
index 68fff9bc221d..fd53728b54fa 100644
--- a/llvm/lib/CodeGen/LiveIntervals.cpp
+++ b/llvm/lib/CodeGen/LiveIntervals.cpp
@@ -517,6 +517,7 @@ bool LiveIntervals::computeDeadValues(LiveInterval &LI,
       if ((I == LI.begin() || std::prev(I)->end < Def) && !VNI->isPHIDef()) {
         MachineInstr *MI = getInstructionFromIndex(Def);
         MI->setRegisterDefReadUndef(VReg);
+        bool test = TII->isTriviallyReMaterializable(MI);
       }
     }
```


it results in compiling error below:
![image](https://github.com/llvm/llvm-project/assets/31645239/695d7a65-99ef-49bd-bef9-f8b60ed82fa0)


**Solution:**
include
`#include "llvm/CodeGen/TargetInstrInfo.h"`
in
`llvm/include/llvm/CodeGen/LiveIntervals.h`
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0VV1v6zYP_jXMDeHApr_ki1zko3lfA-0wdF13LVt0oh1FDiw5p92vH2SnbU6HXXTDDMGJJIp8xOchLZ3TB8u8gnwD-W4hR3_sh9XRvOqXRdOr1xVQAvlGn-SBId8BiaP3ZwfpGmgPtD9ofxybZdufgPbGXN5-ovPQ_86tB9pL59g7oH2aFFlOaQW0z2VcNVkmorZq0ihrsyxqWMhIZolqsjzOq5iAKoh3EK_n929Htlijtpf-G2M32tbr3qK2-FTXaPQ3DqDmAxRG0_cGPTuPkO6CUQTpnXZPg75oaczrIz9Iz4OWRv8hG8NA4qEOQdPN7ACBxNoiv8jTOWxv0fYY8qU73Urb8gfCIr6Oaap012EUHbRHeZMW3QDtt73i_7EF2t_rC9fW83CRxi3b8xmbLxjPkbRV_IKF6LqualqiRC2XncrTkkSTZ53EJI6LLJuNoyj6Ep63ZG7m8Q_gQRZDFmOUJyXQtkCgzfy3xOvWRNIPpwOL6brtT-fR846lepZmZAckbs0QqLivgbZzIJwf3QXOgEQdOA-039fLhg_aTssVQrmFcovOqznMeeBLMAeqgjrYKoR0izvuJmsqgALq5Pmnq3p-_n89bQZvs8PNDwgQH2R71JZr6_yAQOuHCQse2E9L4yTb_dCf6sAdkJiDBdV9cjSFdOwf-aCd52HH3SNL9atVE4LnRz7cHgwUXZ9_I_1bEFDububvs09yv31rjwO70XgXKjOwqI22B-Rh6Ads2PTfb8r0v2gtRZWrUhZ5VFXcRVnVqKjhroo60RQxK0GdjD-1ltuu8UtvxsDQBGMa10Jrzaj44_6UXpcQiK7oPurhSQ5vhNe265dHIHrPl7bvbq4H37y_3_PvKusIRbxQq1RVaSUXvErKJM-SUiS0OK4Syrgt0rgUqpJdJahJUsrivM2EkGXTLfSK4rCQJLHIi5yWqlWlYBUnhUirtkwhi_kktVkGGMt-OCy0cyOvqkRkYmFkw8ZNnwoiy99x2gw3y3eLYTVx04wHB1lstPPuw4vX3kzfmO27IO6CIALt-eavzSPfzYKBdB0avjRa4egY-w61DaIy7Bn965kR7ghEDJVoe-s8tkY6h1MWpwL_RMSbdbUYB7P6st6mCwe9TQn5MwAA___a2CM6">