Open Quuxplusone opened 4 years ago
Bugzilla Link | PR46074 |
Status | CONFIRMED |
Importance | P enhancement |
Reported by | Luca Massarelli (massarelli@diag.uniroma1.it) |
Reported on | 2020-05-26 06:01:44 -0700 |
Last modified on | 2020-06-05 11:21:45 -0700 |
Version | trunk |
Hardware | PC Linux |
CC | aprantl@apple.com, ditaliano@apple.com, jdevlieghere@apple.com, keith.walker@arm.com, llvm-bugs@lists.llvm.org, paul_robinson@playstation.sony.com, vsk@apple.com |
Fixed by commit(s) | |
Attachments | |
Blocks | |
Blocked by | |
See also |
Confirmed:
Process 24778 launched: '/Users/davide/work/build/bin/a.out' (x86_64)
a.out was compiled with optimization - stepping may behave oddly; variables may
not be available.
Process 24778 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
frame #0: 0x0000000100000f20 a.out`main at a.c:8:5 [opt]
5 char(f)(char g) { return g >> a; }
6 int main() {
7 for (; d < 9; ++d) {
-> 8 int32_t l_273[2][4][1];
9 c = 0;
10 for (; c < 4; c++)
11 l_273[0][c][0] = 0;
I guess this is not a big deal but it's technically incorrect. We should stop
on line 9 instead of the decl when we enter the loop. +Vedant/Adrian.
It's LSR.
BISECT: running pass (107) Partially inline calls to library functions on
function (f)
BISECT: running pass (108) X86 Partial Reduction on function (f)
BISECT: running pass (109) CodeGen Prepare on function (f)
BISECT: running pass (110) Canonicalize Freeze Instructions in Loops on loop
BISECT: running pass (111) Loop Strength Reduction on loop
@@ -32,35 +32,39 @@ 4: ; preds = %0 %5 = getelementptr inbounds [2 x [4 x [1 x i32]]], [2 x [4 x [1 x i32]]] %1, i64 0, i64 0, i64 3, i64 0, !dbg !52 %6 = load i8, i8 @e, align 1, !tbaa !53
^ presumably when we create the zext
that inherits the location of the branch & that causes the funny stepping.