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...