File tree Expand file tree Collapse file tree 2 files changed +22
-1
lines changed Expand file tree Collapse file tree 2 files changed +22
-1
lines changed Original file line number Diff line number Diff line change @@ -156,7 +156,7 @@ struct llvm::GVNPass::Expression {
156156 return false ;
157157 if (varargs != other.varargs )
158158 return false ;
159- if (!attrs.isEmpty () && !other.attrs .isEmpty () &&
159+ if (( !attrs.isEmpty () || !other.attrs .isEmpty () ) &&
160160 !attrs.intersectWith (type->getContext (), other.attrs ).has_value ())
161161 return false ;
162162 return true ;
Original file line number Diff line number Diff line change 1+ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
2+ ; RUN: opt -S -passes=gvn < %s | FileCheck %s
3+
4+ declare i32 @bar () #0
5+
6+ define i32 @foo () {
7+ ; CHECK-LABEL: define i32 @foo() {
8+ ; CHECK-NEXT: [[ENTRY:.*:]]
9+ ; CHECK-NEXT: [[TMP0:%.*]] = tail call i32 @bar() #[[ATTR1:[0-9]+]]
10+ ; CHECK-NEXT: [[TMP1:%.*]] = tail call i32 @bar()
11+ ; CHECK-NEXT: ret i32 1
12+ ;
13+ entry:
14+ %0 = tail call i32 @bar () #1
15+ %1 = tail call i32 @bar ()
16+ ret i32 1
17+ }
18+
19+
20+ attributes #0 = { memory(none) }
21+ attributes #1 = { "llvm.assume" ="ompx_no_call_asm" }
You can’t perform that action at this time.
0 commit comments