diff options
author | Juergen Ributzka <juergen@apple.com> | 2014-03-25 18:01:23 +0000 |
---|---|---|
committer | Juergen Ributzka <juergen@apple.com> | 2014-03-25 18:01:23 +0000 |
commit | e987eb12b66a5e3b265802d924d43d57020eabce (patch) | |
tree | bcfdcd46c530ec81beb381bbbdc2964a5f6b1e88 /lib/Target/X86 | |
parent | 6ac0491001baccec5aa253baaaf51e6c72f6ffd0 (diff) | |
download | llvm-e987eb12b66a5e3b265802d924d43d57020eabce.tar.gz llvm-e987eb12b66a5e3b265802d924d43d57020eabce.tar.bz2 llvm-e987eb12b66a5e3b265802d924d43d57020eabce.tar.xz |
[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
Diffstat (limited to 'lib/Target/X86')
-rw-r--r-- | lib/Target/X86/X86TargetTransformInfo.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/Target/X86/X86TargetTransformInfo.cpp b/lib/Target/X86/X86TargetTransformInfo.cpp index 87a5dd6536..46a1e16d4f 100644 --- a/lib/Target/X86/X86TargetTransformInfo.cpp +++ b/lib/Target/X86/X86TargetTransformInfo.cpp @@ -858,17 +858,16 @@ unsigned X86TTI::getIntImmCost(Intrinsic::ID IID, unsigned Idx, case Intrinsic::umul_with_overflow: if ((Idx == 1) && Imm.getBitWidth() <= 64 && isInt<32>(Imm.getSExtValue())) return TCC_Free; - else - return X86TTI::getIntImmCost(Imm, Ty); + break; case Intrinsic::experimental_stackmap: - if (Idx < 2) + if ((Idx < 2) || (Imm.getBitWidth() <= 64 && isInt<64>(Imm.getSExtValue()))) return TCC_Free; + break; case Intrinsic::experimental_patchpoint_void: case Intrinsic::experimental_patchpoint_i64: - if ((Idx < 4 ) || - (Imm.getBitWidth() <= 64 && isInt<64>(Imm.getSExtValue()))) + if ((Idx < 4) || (Imm.getBitWidth() <= 64 && isInt<64>(Imm.getSExtValue()))) return TCC_Free; - else - return X86TTI::getIntImmCost(Imm, Ty); + break; } + return X86TTI::getIntImmCost(Imm, Ty); } |