mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-01 15:11:24 +00:00
convertToSignExtendedInteger should return opInvalidOp instead of asserting if sematics of float does not allow arithmetics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60042 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
878ef1d5bc
commit
88f2d6c167
@ -117,6 +117,11 @@ namespace {
|
||||
&& "Compile-time arithmetic does not support these semantics");
|
||||
}
|
||||
|
||||
static inline bool
|
||||
isArithmeticOk(const llvm::fltSemantics &semantics) {
|
||||
return semantics.arithmeticOK;
|
||||
}
|
||||
|
||||
/* Return the value of a decimal exponent of the form
|
||||
[+-]ddddddd.
|
||||
|
||||
@ -1787,7 +1792,8 @@ APFloat::convertToSignExtendedInteger(integerPart *parts, unsigned int width,
|
||||
const integerPart *src;
|
||||
unsigned int dstPartsCount, truncatedBits;
|
||||
|
||||
assertArithmeticOK(*semantics);
|
||||
if (!isArithmeticOk(*semantics))
|
||||
return opInvalidOp;
|
||||
|
||||
*isExact = false;
|
||||
|
||||
|
11
test/Transforms/IndVarsSimplify/2008-11-25-APFloatAssert.ll
Normal file
11
test/Transforms/IndVarsSimplify/2008-11-25-APFloatAssert.ll
Normal file
@ -0,0 +1,11 @@
|
||||
; RUN: llvm-as < %s | opt -indvars
|
||||
|
||||
define void @t() nounwind {
|
||||
entry:
|
||||
br label %bb23.i91
|
||||
|
||||
bb23.i91: ; preds = %bb23.i91, %entry
|
||||
%result.0.i89 = phi ppc_fp128 [ 0xM00000000000000000000000000000000, %entry ], [ %0, %bb23.i91 ] ; <ppc_fp128> [#uses=2]
|
||||
%0 = mul ppc_fp128 %result.0.i89, %result.0.i89 ; <ppc_fp128> [#uses=1]
|
||||
br label %bb23.i91
|
||||
}
|
Loading…
Reference in New Issue
Block a user