aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/loop.c')
-rw-r--r--gcc/loop.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/loop.c b/gcc/loop.c
index 15039e8..faf6cb2 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -1119,6 +1119,9 @@ scan_loop (struct loop *loop, int flags)
in_libcall--;
if (NONJUMP_INSN_P (p))
{
+ /* Do not scan past an optimization barrier. */
+ if (GET_CODE (PATTERN (p)) == ASM_INPUT)
+ break;
temp = find_reg_note (p, REG_LIBCALL, NULL_RTX);
if (temp)
in_libcall++;