Show insn-preds.c instead of predicates.md during debug
Jeff Law
law@redhat.com
Mon May 18 15:36:43 GMT 2020
On Mon, 2020-05-18 at 16:30 +0100, Maxim Blinov via Gcc-help wrote:
> Hi everyone,
>
> I am currently in the process of debugging some RTL-emitting code.
> Specifically, I'm implementing an md template to get picked up by
> emit_conditional_cmov. Now that is all fine and dandy, however during
> debug I eventually single-step to the following function:
>
> insn_operand_matches (enum insn_code icode, unsigned int opno, rtx operand)
> {
> return (!insn_data[(int) icode].operand[opno].predicate
> || (insn_data[(int) icode].operand[opno].predicate
> (operand, insn_data[(int) icode].operand[opno].mode)));
> }
>
> When we make the call into the predicate, GDB switches the view into
> the corresponding machine description file. This is really not what I
> want - I just want to step through the honest-to-god C code in the
> generated insn-preds.c file.
>
> Is there a switch one can give to GDB to stop being "too clever"?
I'm not aware of one. This is triggered by the #line directives in the generated
insn-whatever.c file.
What I typically do when I want to debug this stuff is strip out the line
directives from the insn-whatever.c file :-)
jeff
More information about the Gcc-help
mailing list