search for: rematdefmi

Displaying 3 results from an estimated 3 matches for "rematdefmi".

2008 May 08
1
[LLVMdev] Possible LiveIntervals bug
At line 1155 of LiveIntervalAnalysis.cpp (in LiveIntervals::rewriteInstructionsForSpills), should the condition be: if (ImpUse && MI != ReMatDefMI && MI != ReMatOrigDefMI) instead of: if (ImpUse && MI != ReMatDefMI) ? After all, ReMatDefMI is a clone of the original def instruction (ReMatOrigDefMI). I'm seeing bad things happen, with intervals getting HUGE_VALF set as their weight because they happen to be used in Re...
2008 May 28
3
[LLVMdev] Possible VirtRegMap Bug
...r remat mappings. In the particular code I'm looking at, linear scan spills an interval and one of the intervals created (%reg1631) gets mark as rematerializable by LiveIntervals: 00984 if (CreatedNewVReg) { 00985 if (DefIsReMat) { 00986 vrm.setVirtIsReMaterialized(NewVReg, ReMatDefMI/*, CanDelete*/); 00987 if (ReMatIds[VNI->id] == VirtRegMap::MAX_STACK_SLOT) { 00988 // Each valnum may have its own remat id. 00989 ReMatIds[VNI->id] = vrm.assignVirtReMatId(NewVReg); Linear scan dutifully assigns %reg1631 to AL. Then SimpleSpiller runs and does...
2008 May 30
0
[LLVMdev] Possible VirtRegMap Bug
...I'm looking at, linear scan spills an > interval and > one of the intervals created (%reg1631) gets mark as > rematerializable by > LiveIntervals: > > 00984 if (CreatedNewVReg) { > 00985 if (DefIsReMat) { > 00986 vrm.setVirtIsReMaterialized(NewVReg, ReMatDefMI/*, > CanDelete*/); > 00987 if (ReMatIds[VNI->id] == VirtRegMap::MAX_STACK_SLOT) { > 00988 // Each valnum may have its own remat id. > 00989 ReMatIds[VNI->id] = vrm.assignVirtReMatId(NewVReg); > > Linear scan dutifully assigns %reg1631 to AL. Th...