Fix bug in Logic Operator conversion
This commit is contained in:
		
							parent
							
								
									974647b401
								
							
						
					
					
						commit
						8afb2c2572
					
				| @ -359,12 +359,12 @@ impl CmpPredicate { | ||||
|         use LLVMIntPredicate::*; | ||||
|         match (self, signed) { | ||||
|             (LT, true) => LLVMIntSLT, | ||||
|             (GT, true) => LLVMIntSGT, | ||||
|             (LE, true) => LLVMIntSLE, | ||||
|             (GT, true) => LLVMIntSGT, | ||||
|             (GE, true) => LLVMIntSGE, | ||||
|             (LT, false) => LLVMIntULT, | ||||
|             (GT, false) => LLVMIntUGT, | ||||
|             (LE, false) => LLVMIntULE, | ||||
|             (GT, false) => LLVMIntUGT, | ||||
|             (GE, false) => LLVMIntUGE, | ||||
|             (EQ, _) => LLVMIntEQ, | ||||
|             (NE, _) => LLVMIntNE, | ||||
|  | ||||
| @ -1,12 +1,12 @@ | ||||
| // Main | ||||
| fn main() -> bool { | ||||
|     return 1 == fibonacci(3); | ||||
|     return 2 == fibonacci(3); | ||||
| } | ||||
| 
 | ||||
| // Fibonacci | ||||
| fn fibonacci(value: u16) -> u16 { | ||||
|     if value < 3 { | ||||
|     if value <= 2 { | ||||
|         return 1; | ||||
|     } | ||||
|     return 5 + fibonacci(value - 2); | ||||
|     return fibonacci(value - 1) + fibonacci(value - 2); | ||||
| } | ||||
|  | ||||
| @ -291,7 +291,7 @@ impl mir::LogicOperator { | ||||
|         match self { | ||||
|             mir::LogicOperator::LT => CmpPredicate::LT, | ||||
|             mir::LogicOperator::GT => CmpPredicate::GT, | ||||
|             mir::LogicOperator::LE => CmpPredicate::LT, | ||||
|             mir::LogicOperator::LE => CmpPredicate::LE, | ||||
|             mir::LogicOperator::GE => CmpPredicate::GE, | ||||
|             mir::LogicOperator::EQ => CmpPredicate::EQ, | ||||
|             mir::LogicOperator::NE => CmpPredicate::NE, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user