summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86TargetTransformInfo.h
diff options
context:
space:
mode:
authorElena Demikhovsky <elena.demikhovsky@intel.com>2017-08-20 12:34:29 +0000
committerElena Demikhovsky <elena.demikhovsky@intel.com>2017-08-20 12:34:29 +0000
commitf58f838495200ed71596d260f7c6e25d1b080fcb (patch)
treeb3281f12a5f31258e3e4735fb7b9fa7ad5354eaf /llvm/lib/Target/X86/X86TargetTransformInfo.h
parentd196930799224f906ba4c5d3c64bafa1cad8d156 (diff)
downloadbcm5719-llvm-f58f838495200ed71596d260f7c6e25d1b080fcb.tar.gz
bcm5719-llvm-f58f838495200ed71596d260f7c6e25d1b080fcb.zip
Changed basic cost of store operation on X86
Store operation takes 2 UOps on X86 processors. The exact cost calculation affects several optimization passes including loop unroling. This change compensates performance degradation caused by https://reviews.llvm.org/D34458 and shows improvements on some benchmarks. Differential Revision: https://reviews.llvm.org/D35888 llvm-svn: 311285
Diffstat (limited to 'llvm/lib/Target/X86/X86TargetTransformInfo.h')
-rw-r--r--llvm/lib/Target/X86/X86TargetTransformInfo.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86TargetTransformInfo.h b/llvm/lib/Target/X86/X86TargetTransformInfo.h
index fc63eff049d..dc184030dee 100644
--- a/llvm/lib/Target/X86/X86TargetTransformInfo.h
+++ b/llvm/lib/Target/X86/X86TargetTransformInfo.h
@@ -102,6 +102,8 @@ public:
int getIntImmCost(const APInt &Imm, Type *Ty);
+ unsigned getUserCost(const User *U, ArrayRef<const Value *> Operands);
+
int getIntImmCost(unsigned Opcode, unsigned Idx, const APInt &Imm, Type *Ty);
int getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
Type *Ty);
OpenPOWER on IntegriCloud