Messages generated by the assembler are generally self-explanatory and give sufficient information to allow correction of a problem.
Set synthetic instructions in delay slots
Labels in delay slots
Segments that end in control transfer instructions
These warnings point to places where a problem could exist. If you have intentionally written code this way, you can insert an .empty pseudo-operation immediately after the control transfer instruction.
The .empty pseudo-operation in a delay slot tells the assembler that the delay slot can be empty or can contain whatever follows because you have verified that either the code is correct or the content of the delay slot does not matter.