[llvm-bugs] [Bug 44004] New: Broken logic to get operand for target of call MI in constructCallSiteEntryDIEs()

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Nov 14 13:57:34 PST 2019


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

            Bug ID: 44004
           Summary: Broken logic to get operand for target of call MI in
                    constructCallSiteEntryDIEs()
           Product: tools
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: llc
          Assignee: unassignedbugs at nondot.org
          Reporter: thomas.preudhomme at celest.fr
                CC: llvm-bugs at lists.llvm.org

constructCallSiteEntryDIEs() tries to gather some information about the target
of a call by looking at the operand 0 of a call MachineInstr with the
assumption that it corresponds to the operand holding the target of the call.
However this is at least not the case on Arm where the target is encoded as
operand 2 of the tBL MachineInstr, with the first 2 operands used to encode the
predicate and the implicit use of CPSR.

I looked at making a patch but could not find how to find the operand holding
the target of the call in a target independent way. Method getBranchDestBlock()
of TargetInstrInfo seemed promising to get some of the information but is not
implement on at least Arm and Hexagon targets.

-- 
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/20191114/e5fbf727/attachment.html>


More information about the llvm-bugs mailing list