This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/63595] [5.0 Regression] Segmentation faults inside kernel


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63595

--- Comment #8 from Martin LiÅka <marxin at gcc dot gnu.org> ---
Same problem can be even seen on x86_64-linux-pc:

_ZNK13TriangulationILi3EE3endEv:
.LFB5569:
    .cfi_startproc
>>>>>	subq	$24, %rsp
    .cfi_def_cfa_offset 32
    movq    %rsp, %rdi
    call    _ZNK13TriangulationILi3EE8end_quadEv
    addq    $24, %rsp
    .cfi_def_cfa_offset 8
    ret
    .cfi_endproc

_ZNK13TriangulationILi3EE8end_quadEv:
.LFB2586:
    .loc 3 2901 0
    .cfi_startproc
.LVL898:
    .loc 3 2901 0
    movq    %rdi, %rax
.LBB27759:
.LBB27760:
.LBB27761:
.LBB27762:
    .loc 14 41 0
    movl    $-1, (%rdi)
    movl    $-1, 4(%rdi)
    movq    %rsi, 8(%rdi)
.LBE27762:
.LBE27761:
.LBE27760:
.LBE27759:
    .loc 3 2905 0
    ret
    .cfi_endproc

Body of the function is created as tail-call trunk by IPA-ICF:

Triangulation<dim>::raw_cell_iterator Triangulation<dim>::end() const [with int
dim = 3; Triangulation<dim>::raw_cell_iterator = TriaRawIterator<3,
CellAccessor<3> >] (const struct Triangulation * const this)
{
;;   basic block 2, loop depth 0
;;    pred:       ENTRY
  Triangulation<3>::end_quad (this_2(D)); [tail call]
  return;
;;    succ:       EXIT

}

;; Generating RTL for gimple basic block 2

;; Triangulation<3>::end_quad (this_2(D)); [tail call]

(insn 7 6 8 (parallel [
            (set (reg:DI 85)
                (plus:DI (reg/f:DI 78 virtual-stack-vars)
                    (const_int -16 [0xfffffffffffffff0])))
            (clobber (reg:CC 17 flags))
        ]) -1
     (nil))

(insn 8 7 9 (set (reg:DI 4 si)
        (reg/f:DI 84 [ this ])) -1
     (nil))

(insn 9 8 10 (set (reg:DI 5 di)
        (reg:DI 85)) -1
     (nil))

(call_insn 10 9 0 (call (mem:QI (symbol_ref/i:DI
("_ZNK13TriangulationILi3EE8end_quadEv") [flags 0x1]  <function_decl
0x7ff17d629bd0 end_quad>) [0 end_quad S1 A8])
        (const_int 0 [0])) -1
     (expr_list:REG_CALL_DECL (symbol_ref/i:DI
("_ZNK13TriangulationILi3EE8end_quadEv") [flags 0x1]  <function_decl
0x7ff17d629bd0 end_quad>)
        (expr_list:REG_EH_REGION (const_int 0 [0])
            (nil)))
    (expr_list:DI (use (reg:DI 5 di))
        (expr_list:DI (use (reg:DI 4 si))
            (nil))))

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]