llvm.org GIT mirror llvm / e987eb1
[Stackmaps][X86TTI] Fix think-o in getIntImmCost calculation. The cost for the first four stackmap operands was always TCC_Free. This is only true for the first two operands. All other operands are TCC_Free if they are within 64bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204738 91177308-0d34-0410-b5e6-96231b3b80d8 Juergen Ributzka 6 years ago
1 changed file(s) with 8 addition(s) and 9 deletion(s). Raw diff Collapse all Expand all
857857 case Intrinsic::umul_with_overflow:
858858 if ((Idx == 1) && Imm.getBitWidth() <= 64 && isInt<32>(Imm.getSExtValue()))
859859 return TCC_Free;
860 else
861 return X86TTI::getIntImmCost(Imm, Ty);
860 break;
862861 case Intrinsic::experimental_stackmap:
863 if (Idx < 2)
862 if ((Idx < 2) || (Imm.getBitWidth() <= 64 && isInt<64>(Imm.getSExtValue())))
864863 return TCC_Free;
864 break;
865865 case Intrinsic::experimental_patchpoint_void:
866866 case Intrinsic::experimental_patchpoint_i64:
867 if ((Idx < 4 ) ||
868 (Imm.getBitWidth() <= 64 && isInt<64>(Imm.getSExtValue())))
867 if ((Idx < 4) || (Imm.getBitWidth() <= 64 && isInt<64>(Imm.getSExtValue())))
869868 return TCC_Free;
870 else
871 return X86TTI::getIntImmCost(Imm, Ty);
872 }
873 }
869 break;
870 }
871 return X86TTI::getIntImmCost(Imm, Ty);
872 }