Open Quuxplusone opened 7 years ago
Bugzilla Link | PR34133 |
Status | NEW |
Importance | P normal |
Reported by | Cristian Cadar (c.cadar@imperial.ac.uk) |
Reported on | 2017-08-09 03:58:19 -0700 |
Last modified on | 2017-09-17 07:33:51 -0700 |
Version | trunk |
Hardware | PC Linux |
CC | dan@su-root.co.uk, ditaliano@apple.com, efriedma@quicinc.com, llvm-bugs@lists.llvm.org, llvm-dev@redking.me.uk, nunoplopes@sapo.pt, regehr@cs.utah.edu, sanjoy@playingwithpointers.com, spatel+llvm@rotateright.com |
Fixed by commit(s) | |
Attachments | |
Blocks | |
Blocked by | |
See also | PR20997 |
Yes, there's a known bug here. See http://lists.llvm.org/pipermail/llvm-dev/2017-May/113272.html .
Yes, there's a known bug here. See http://lists.llvm.org/pipermail/llvm-dev/2017-May/113272.html .
@Eli : Is there a bug on bugzilla tracking this?
Just to note the sequence of optimization passes for this example is
sroa, early-cse, simplifycfg, instcombine
Without the instcombine
the IR contains a select instruction which is what is discussed in mailing list post linked to.
You can see this by running something like this
clang -O0 -S -emit-llvm -o - shift.c | opt -S -print-after-all
-print-before-all -filter-print-funcs=foo -sroa -early-cse
-simplifycfg -instcombine 2>&1 > /dev/null
| less
There's at least https://bugs.llvm.org/show_bug.cgi?id=20997
It's the same problem.