From c270acdb39f06b39633512f7be190129f96f67cb Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Sat, 10 Sep 2022 10:54:12 -0700 Subject: [PATCH] Improved ExtractValue union splat handling --- IDEHelper/Compiler/BfModule.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index 37907f69..c2c508a9 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -13215,7 +13215,7 @@ BfTypedValue BfModule::ExtractValue(BfTypedValue typedValue, BfFieldInstance* fi { bool isAddr = false; BfIRValue irVal = ExtractSplatValue(typedValue, 0, fieldType, &isAddr); - return BfTypedValue(irVal, fieldType, isAddr ? BfTypedValueKind_Addr : BfTypedValueKind_SplatHead); + return BfTypedValue(irVal, fieldType, typedValue.mValue.IsArg() ? BfTypedValueKind_SplatHead : BfTypedValueKind_Addr); } } } @@ -13242,7 +13242,7 @@ BfTypedValue BfModule::ExtractValue(BfTypedValue typedValue, BfFieldInstance* fi { bool isAddr = false; BfIRValue irVal = ExtractSplatValue(typedValue, 0, fieldType, &isAddr); - return BfTypedValue(irVal, fieldType, isAddr ? BfTypedValueKind_Addr : BfTypedValueKind_SplatHead); + return BfTypedValue(irVal, fieldType, typedValue.mValue.IsArg() ? BfTypedValueKind_SplatHead : BfTypedValueKind_Addr); } } }