Skip to content

Commit bf73152

Browse files
author
Meghana Gupta
committed
[MERGE #5295 @meg-gupta] Don't merge profiled valutetype when valuetable's type is definite
Merge pull request #5295 from meg-gupta:ldlenprofile We should not merge valuetype from the value which is definite with a profiled valuetype. It can trigger merge of incompatible valuetypes. Fixes OS#15189393
2 parents af35f26 + 7121b6b commit bf73152

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

lib/Backend/GlobOpt.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3437,7 +3437,7 @@ GlobOpt::OptSrc(IR::Opnd *opnd, IR::Instr * *pInstr, Value **indirIndexValRef, I
34373437

34383438
// This block uses per-instruction profile information on array types to optimize using the best available profile
34393439
// information and to prevent infinite bailouts by ensuring array type information is updated on bailouts.
3440-
if (valueType.IsLikelyArray() && !valueType.IsObject() && instr->IsProfiledInstr())
3440+
if (valueType.IsLikelyArray() && !valueType.IsDefinite() && !valueType.IsObject() && instr->IsProfiledInstr())
34413441
{
34423442
// See if we have profile data for the array type
34433443
IR::ProfiledInstr *const profiledInstr = instr->AsProfiledInstr();

0 commit comments

Comments
 (0)