From 959c1e20455870ffb01ec67d50b88918a74e9e85 Mon Sep 17 00:00:00 2001 From: Aldy Hernandez Date: Thu, 27 Oct 2016 16:13:19 +0000 Subject: [PATCH] builtins.c (expand_builtin_nonlocal_goto): Avoid evaluating PIC_OFFSET_TABLE_REGNUM twice. * builtins.c (expand_builtin_nonlocal_goto): Avoid evaluating PIC_OFFSET_TABLE_REGNUM twice. From-SVN: r241625 --- gcc/ChangeLog | 5 +++++ gcc/builtins.c | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 73d3004b7cd..ce103ab4a9d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-10-27 Aldy Hernandez + + * builtins.c (expand_builtin_nonlocal_goto): Avoid evaluating + PIC_OFFSET_TABLE_REGNUM twice. + 2016-10-27 Bin Cheng * match.pd ((convert (op:s (convert@2 @0) (convert?@3 @1)))): Add diff --git a/gcc/builtins.c b/gcc/builtins.c index 997c0e8c1cb..cc711a0f843 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -1140,8 +1140,8 @@ expand_builtin_nonlocal_goto (tree exp) to targets with a nonlocal_goto pattern; they are free to implement it in their own way. Note also that this is a no-op if the GP register is a global invariant.) */ - if ((unsigned) PIC_OFFSET_TABLE_REGNUM != INVALID_REGNUM - && fixed_regs[PIC_OFFSET_TABLE_REGNUM]) + unsigned regnum = PIC_OFFSET_TABLE_REGNUM; + if (regnum != INVALID_REGNUM && fixed_regs[regnum]) emit_use (pic_offset_table_rtx); emit_indirect_jump (r_label); -- 2.30.2