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