Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

clang crashes on valid code at -O1 and above: Instruction does not dominate all uses! #50585

Closed
zhendongsu opened this issue Jul 28, 2021 · 5 comments
Labels
bugzilla Issues migrated from bugzilla

Comments

@zhendongsu
Copy link

Bugzilla Link 51241
Resolution FIXED
Resolved on Oct 11, 2021 20:29
Version trunk
OS All
Blocks #51489
CC @topperc,@LebedevRI,@RKSimon,@rotateright
Fixed by commit(s) 5b83261 2f43c81

Extended Description

It appears to be a recent regression.

[515] % clangtk -v
clang version 14.0.0 (https://github.com/llvm/llvm-project.git 0a1ca2a)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/suz-local/opfuzz/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.5.0
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@MX32
Selected multilib: .;@m64
[516] %
[516] % clangtk -O0 small.c
[517] %
[517] % clangtk -O1 small.c
Instruction does not dominate all uses!
%div = sdiv i32 7, %0
store i32 %div, i32* @​b, align 4, !tbaa !​3
in function main
fatal error: error in backend: Broken function found, compilation aborted!
clang-14: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 14.0.0 (https://github.com/llvm/llvm-project.git 0a1ca2a)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/suz-local/opfuzz/bin
clang-14: note: diagnostic msg:


PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-14: note: diagnostic msg: /tmp/small-52fa75.c
clang-14: note: diagnostic msg: /tmp/small-52fa75.sh
clang-14: note: diagnostic msg:


[518] %
[518] % cat small.c
int a, b, c = 1, d;
int main() {
a = c;
int f = d && b % c && 7 % c, g = 7 / c;
c = f;
b = g;
return 0;
}

@rotateright
Copy link
Contributor

This is the likely source of the bug:
https://reviews.llvm.org/rGe38b7e894808ec2a0c976ab01e44364f167508d3

@rotateright
Copy link
Contributor

Reduced test, crashes (invalid IR) with "opt -div-rem-pairs":

define i32 @​#51241 (i1 %b1, i1 %b2, i32 %t0) {
entry:
br i1 %b1, label %land.end, label %land.lhs.true

land.lhs.true:
br i1 %b2, label %land.end, label %land.rhs

land.rhs:
%rem2 = srem i32 7, %t0
br label %land.end

land.end:
%div = sdiv i32 7, %t0
ret i32 %div
}

@rotateright
Copy link
Contributor

Should be fixed with:
https://reviews.llvm.org/rG5b83261c1518

Marking as blocker for release 13.0 since it would be a crashing regression.

@tstellar
Copy link
Collaborator

tstellar commented Aug 2, 2021

Merged: 2f43c81

@tstellar
Copy link
Collaborator

mentioned in issue #51489

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 11, 2021
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla
Projects
None yet
Development

No branches or pull requests

3 participants