[PATCH] D46276: [CostModel][X86] Derive TTI costs from complete scheduling models (PR36550) (RFC)
Simon Pilgrim via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 9 06:16:46 PDT 2018
RKSimon added a subscriber: filcab.
RKSimon added a comment.
@craig.topper IIRC you were looking at ways to pull the X86InstrInfo.cpp folding tables into their own file and then later attempting to autogen the tables again - is that still the plan? These cost tables are likely to take a similar path.
================
Comment at: lib/Target/X86/X86TargetTransformInfo.cpp:658
+ static const SchedCostTblEntry AVX1CostTable[] = {
+ { ISD::FADD, MVT::v4f64, 2, { X86::VADDPDYrr } },
+ { ISD::FADD, MVT::v8f32, 2, { X86::VADDPSYrr } },
----------------
RKSimon wrote:
> craig.topper wrote:
> > craig.topper wrote:
> > > Is this going to cause a bunch of SmallVectors to be constructed at startup? I think that goes against our coding standards.
> > Or will it only happen the first time this function runs?
> Thanks for reminding me - first time only but using SmallVector was a quick fix to get around ArrayRef not working properly after the first time for some reason that I didn't investigate thoroughly. IIRC moving the tables out of the functions and into global namespace fixed the issue.
Update: I haven't found a way to avoid having to use SmallVector to create the code sequences, including if I move the tables into the global namespace - all approaches I've tried seem to have constexpr issues with initialization at compile time - mainly as the sequences appear as std::initializer_list - I'm open to suggestions........
Repository:
rL LLVM
https://reviews.llvm.org/D46276
More information about the llvm-commits
mailing list