LuaToolkit icon indicating copy to clipboard operation
LuaToolkit copied to clipboard

incorrect IF block merge

Open ferib opened this issue 4 years ago • 3 comments

IF merge failed here

  local function unknown1(var0, var1, var2)
  local var3 = var1["x"]
  local var4 = var1["y"]
  local var5 = var1["z"]
  local var6 = var2["x"]
  var6 = var6 - var3
  local var7 = var2["y"]
  var7 = var7 - var4
  local var8 = var2["z"]
  var8 = var8 - var5
  local var29 = var1["x"]
  if var6 ~= 0 or var7 ~= 0 and  var23 == var29 and  var8 ~= 0 then var9 = var0["x"]

var23 == var29 should not change var3 to var23 because it was not used in its code block.

ferib avatar Mar 06 '21 13:03 ferib

Same result for TEST and TESTSET

var113 = var11 ^ 2
if var1 == nil or not var113 then var3 = 1
end
local sqTolerance = tolerance ~= nil and tolerance^2 or 1

ferib avatar Mar 06 '21 15:03 ferib

Should be fixed in #13, Still needs testing. PR will remain until testers have confirmed.

ferib avatar Mar 13 '21 17:03 ferib

local function unknown1(var0, var1, var2)
	local var3 = var1["x"]
	local var4 = var1["y"]
	local var5 = var1["z"]
	local var6 = var2["x"]
	var6 = var6 - var3
	local var7 = var2["y"]
	var7 = var7 - var4
	local var8 = var2["z"]
	var8 = var8 - var5
	local var9 = var1["x"]
	if var6 ~= 0 or var7 ~= 0 and  var3 == var29 and  var8 ~= 0 then

Looks like local var9 = var1["x"] is no longer modified to local var29 nor is it copied to var29 = var9.

ferib avatar Mar 13 '21 22:03 ferib