mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-10 02:25:47 +00:00
Fix a problem brian ran into with the bytecode reader asserting. It turns
out that the problem was actually the writer writing out a 'null' value because it didn't normalize it. This fixes: test/Regression/Assembler/2004-01-22-FloatNormalization.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10967 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -701,6 +701,11 @@ ConstantInt *ConstantInt::get(const Type *Ty, unsigned char V) {
|
|||||||
static ValueMap<double, Type, ConstantFP> FPConstants;
|
static ValueMap<double, Type, ConstantFP> FPConstants;
|
||||||
|
|
||||||
ConstantFP *ConstantFP::get(const Type *Ty, double V) {
|
ConstantFP *ConstantFP::get(const Type *Ty, double V) {
|
||||||
|
if (Ty == Type::FloatTy) {
|
||||||
|
// Force the value through memory to normalize it.
|
||||||
|
volatile float Tmp = V;
|
||||||
|
V = Tmp;
|
||||||
|
}
|
||||||
return FPConstants.getOrCreate(Ty, V);
|
return FPConstants.getOrCreate(Ty, V);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user