https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99523
Bug ID: 99523 Summary: Declarations for variable names missing in GIMPLE dump Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: acoplan at gcc dot gnu.org Target Milestone: --- For the following testcase: int f(__builtin_va_list *ap) { return __builtin_va_arg(*ap, int); } on AArch64 at -O2 with -fdump-tree-optimized=-, we get: ;; Function f (f, funcdef_no=0, decl_uid=3583, cgraph_uid=1, symbol_order=0) f (struct * ap) { int D.3591; void * D.3592; int * iftmp.2; sizetype D.3596; sizetype D.3597; sizetype D.3598; void * D.3599; int D.3601; int * iftmp.3; void * D.3607; sizetype D.3608; int _4; <bb 2> [local count: 1073741824]: _9 = ap_2(D)->__gr_offs; _10 = ap_2(D)->__stack; if (_9 >= 0) goto <bb 3>; [59.00%] else goto <bb 4>; [41.00%] where the variables _9 and _10 are apparently missing declarations in the IR dump. I believe the variables came from calls to get_initialized_tmp_var in aarch64_gimplify_va_arg_expr. Not sure if this is some missing bookkeeping around the gimplification or perhaps a bug in the dumping code?