[llvm-bugs] [Bug 37271] New: [AArch64][AArch64LoadStoreOptimizer][DebugInfo] load store optimizer generates different code when debug info present

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Apr 27 07:46:45 PDT 2018


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

            Bug ID: 37271
           Summary: [AArch64][AArch64LoadStoreOptimizer][DebugInfo] load
                    store optimizer generates different code when debug
                    info present
           Product: libraries
           Version: 6.0
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: AArch64
          Assignee: unassignedbugs at nondot.org
          Reporter: gberry at codeaurora.org
                CC: chad.rosier at gmail.com, dblaikie at gmail.com,
                    francisvm at yahoo.com, junbuml at codeaurora.org,
                    llvm-bugs at lists.llvm.org, t.p.northover at gmail.com

In the following test, the presence of the DBG_VALUE will prevent the loads
from being paired.  The AArch64LoadStoreOptimizer should treat DBG_VALUE
instructions specially since e.g. they can be moved down with the newly paired
load in this case.

See https://reviews.llvm.org/D45878 for similar DBG_VALUE handling in
MachineCopyPropagation.

Test case:
# RUN: llc -mtriple=aarch64 -run-pass aarch64-ldst-opt -verify-machineinstrs -o
- %s | FileCheck %s
---
name: test_LDdbg
body: |
  bb.0.entry:
    liveins: $x0, $x3

    $x1 = LDRXui $x0, 0 :: (load 8)
    DBG_VALUE debug-use $x1, debug-use $noreg
    $x2 = ADDXri $x3, 1, 0
    $x3 = LDRXui $x0, 1 :: (load 8)
    RET_ReallyLR implicit $x1

-- 
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/20180427/68c6b35d/attachment-0001.html>


More information about the llvm-bugs mailing list