[llvm-bugs] [Bug 43298] New: Function called at the end of multiple paths results in different x86_64 assembly than equivalent call after all paths have completed
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Sep 12 12:41:56 PDT 2019
https://bugs.llvm.org/show_bug.cgi?id=43298
Bug ID: 43298
Summary: Function called at the end of multiple paths results
in different x86_64 assembly than equivalent call
after all paths have completed
Product: new-bugs
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: jmunxsys at yahoo.com
CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org
Created attachment 22490
--> https://bugs.llvm.org/attachment.cgi?id=22490&action=edit
Code that exhibits the issue
https://godbolt.org/z/37Leg_
Clang trunk (371698) is able to reduce "munge" to the same code as "munge2".
(BTW all versions of gcc, icc, and older clang versions could not.)
However, "munge1" and "munge3" get a slightly longer version that loads and
stores to/from a register instead of using immediates. As best I can tell
these are all represent equivalent functions and should have the same ASM
representation for a given optimization level.
--
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/20190912/c80672bf/attachment.html>
More information about the llvm-bugs
mailing list