* don't keep tc_equal type conversions for LLVM in case the resultdef doesn't

change, since then we definitely don't have to insert a type conversion at
    the LLVM level either (fixes webtbs/tw1901 for LLVM)

git-svn-id: trunk@35057 -
This commit is contained in:
Jonas Maebe 2016-12-04 11:15:09 +00:00
parent a8e107bb4b
commit a2017b2327

View File

@ -2209,19 +2209,20 @@ implementation
to different kinds of refcounting helpers }
(resultdef=left.resultdef)) then
begin
{$ifndef llvm}
left.resultdef:=resultdef;
if (nf_explicit in flags) and (left.nodetype = addrn) then
include(left.flags, nf_typedaddr);
result:=left;
left:=nil;
{$else llvm}
{$ifdef llvm}
{ we still may have to insert a type conversion at the
llvm level }
if (nf_explicit in flags) and (left.nodetype = addrn) then
include(flags, nf_typedaddr);
result:=nil;
if left.resultdef<>resultdef then
result:=nil
else
{$endif llvm}
begin
left.resultdef:=resultdef;
if (nf_explicit in flags) and (left.nodetype = addrn) then
include(left.flags, nf_typedaddr);
result:=left;
left:=nil;
end;
exit;
end;
end;