Hi!
I have to insert NOP-instructions into the insn-stream in my back-
end. I do this with something ala emit_insn_after(gen_nop, xyz). This
works so far.
GCC leaves control-flow operations as they are, if it there are no
instructions which can be used to fill the branch delay slots. My
first idea was to convert these control-flow cf to SEQUENCE(cf) and
hope the GCC will invoke DBR_OUTPUT_SEQEND(), but it does not? My
second idea was to add these NOP-instructions: SEQUENCE(cf,
NOP,...,NOP). I "reused" the code in function emit_delay_sequence()
in reorg.c and added NOPs with:
XVECEXP (seq, 0, i) = emit_insn_after(tem, XVECEXP (seq, 0, i - 1));
or
XVECEXP (seq, 0, i) = tem;
But GCC will fail in both cases in final_scan_insn() or asm_noperands
(). In both cases the CONST_INT (pattern for nop) is passed as a rtx
pointer.
so, how do I add NOP-instructions properly?
Thanks,
Boris