https://bugs.llvm.org/show_bug.cgi?id=48715

            Bug ID: 48715
           Summary: [NPM] LoopIdiom missed opportunity
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected]

Created attachment 24368
  --> https://bugs.llvm.org/attachment.cgi?id=24368&action=edit
Reproducer

Compile attached reproducer loop idiom with:


clang --target=arm-arm-none-eabi -mcpu=cortex-m33 -Ofast loopidiom.c  -S
-Rpass=loop-idiom -fno-experimental-new-pass-manager

shows:

loopidiom.c:156:15: remark: Transformed loop-strided store into a call to
llvm.memset.p0i8.i32() function [-Rpass=loop-idiom]
        *px++ = (q31_t)(sum1 >> 31);
              ^

whereas with the NPM and -fexperimental-new-pass-manager this memset is not
recognised.


I appreciate this is not a very detailed bug report, and I could have reduced
and analysed this further. But I am a bit in a hurry with this as I am looking
at a lot of changes and regressions (in different benchmarks). I also don't
know yet if this is the (only) root cause, but this kernel regresses with 20%
with the NPM and it's the first obvious change I see.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to