[llvm-bugs] [Bug 47737] New: Port LoopInterchange to new pass manager

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Oct 5 18:50:14 PDT 2020


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

            Bug ID: 47737
           Summary: Port LoopInterchange to new pass manager
           Product: new-bugs
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: aeubanks at google.com
                CC: alina.sbirlea at gmail.com, florian_hahn at apple.com,
                    htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org
            Blocks: 46651

LoopInterchange isn't ported to the new pass manager yet.
I tried a fairly basic approach and ran into issues with LoopInterchange
requiring DependenceAnalysis. DA is a function analysis and in the NPM, loop
passes cannot eagerly run function analyses. But even if we require DA to have
been run before running LoopInterchange, we hit

Assertion failed: !Result->invalidate(IR, PA, Inv) && "Cached result cannot be
invalidated", file ../../llvm/include\llvm/IR/PassManager.h, line 823

A loop pass cannot invalidate a function analysis (see
https://reviews.llvm.org/D72893).


Referenced Bugs:

https://bugs.llvm.org/show_bug.cgi?id=46651
[Bug 46651] Fix all opt tests to work under NPM
-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20201006/bcde1737/attachment.html>


More information about the llvm-bugs mailing list