mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
fix PR6577, a bug in sdbuilder lowering select instructions
whose true value was not Val#0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98336 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
202c6a7e76
commit
b3e87b2262
@ -2185,7 +2185,8 @@ void SelectionDAGBuilder::visitSelect(User &I) {
|
||||
|
||||
for (unsigned i = 0; i != NumValues; ++i)
|
||||
Values[i] = DAG.getNode(ISD::SELECT, getCurDebugLoc(),
|
||||
TrueVal.getNode()->getValueType(i), Cond,
|
||||
TrueVal.getNode()->getValueType(TrueVal.getResNo()+i),
|
||||
Cond,
|
||||
SDValue(TrueVal.getNode(),
|
||||
TrueVal.getResNo() + i),
|
||||
SDValue(FalseVal.getNode(),
|
||||
|
@ -33,3 +33,17 @@ if.then: ; preds = %land.end
|
||||
if.end: ; preds = %land.end
|
||||
ret void
|
||||
}
|
||||
|
||||
; PR6577
|
||||
%pair = type { i64, double }
|
||||
|
||||
define void @on4() {
|
||||
dependentGraph243.exit:
|
||||
%subject19 = load %pair* undef ; <%1> [#uses=1]
|
||||
%0 = extractvalue %pair %subject19, 1 ; <double> [#uses=2]
|
||||
%1 = select i1 undef, double %0, double undef ; <double> [#uses=1]
|
||||
%2 = select i1 undef, double %1, double %0 ; <double> [#uses=1]
|
||||
%3 = insertvalue %pair undef, double %2, 1 ; <%1> [#uses=1]
|
||||
store %pair %3, %pair* undef
|
||||
ret void
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user