Coverage Report

Created: 2018-09-19 20:53

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/include/llvm/Analysis/TargetTransformInfo.h
Line
Count
Source (jump to first uncovered line)
1
//===- TargetTransformInfo.h ------------------------------------*- C++ -*-===//
2
//
3
//                     The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
/// \file
10
/// This pass exposes codegen information to IR-level passes. Every
11
/// transformation that uses codegen information is broken into three parts:
12
/// 1. The IR-level analysis pass.
13
/// 2. The IR-level transformation interface which provides the needed
14
///    information.
15
/// 3. Codegen-level implementation which uses target-specific hooks.
16
///
17
/// This file defines #2, which is the interface that IR-level transformations
18
/// use for querying the codegen.
19
///
20
//===----------------------------------------------------------------------===//
21
22
#ifndef LLVM_ANALYSIS_TARGETTRANSFORMINFO_H
23
#define LLVM_ANALYSIS_TARGETTRANSFORMINFO_H
24
25
#include "llvm/ADT/Optional.h"
26
#include "llvm/IR/Operator.h"
27
#include "llvm/IR/PassManager.h"
28
#include "llvm/Pass.h"
29
#include "llvm/Support/AtomicOrdering.h"
30
#include "llvm/Support/DataTypes.h"
31
#include <functional>
32
33
namespace llvm {
34
35
namespace Intrinsic {
36
enum ID : unsigned;
37
}
38
39
class Function;
40
class GlobalValue;
41
class IntrinsicInst;
42
class LoadInst;
43
class Loop;
44
class SCEV;
45
class ScalarEvolution;
46
class StoreInst;
47
class SwitchInst;
48
class Type;
49
class User;
50
class Value;
51
52
/// Information about a load/store intrinsic defined by the target.
53
struct MemIntrinsicInfo {
54
  /// This is the pointer that the intrinsic is loading from or storing to.
55
  /// If this is non-null, then analysis/optimization passes can assume that
56
  /// this intrinsic is functionally equivalent to a load/store from this
57
  /// pointer.
58
  Value *PtrVal = nullptr;
59
60
  // Ordering for atomic operations.
61
  AtomicOrdering Ordering = AtomicOrdering::NotAtomic;
62
63
  // Same Id is set by the target for corresponding load/store intrinsics.
64
  unsigned short MatchingId = 0;
65
66
  bool ReadMem = false;
67
  bool WriteMem = false;
68
  bool IsVolatile = false;
69
70
1.16k
  bool isUnordered() const {
71
1.16k
    return (Ordering == AtomicOrdering::NotAtomic ||
72
1.16k
            
Ordering == AtomicOrdering::Unordered0
) && !IsVolatile;
73
1.16k
  }
74
};
75
76
/// This pass provides access to the codegen interfaces that are needed
77
/// for IR-level transformations.
78
class TargetTransformInfo {
79
public:
80
  /// Construct a TTI object using a type implementing the \c Concept
81
  /// API below.
82
  ///
83
  /// This is used by targets to construct a TTI wrapping their target-specific
84
  /// implementaion that encodes appropriate costs for their target.
85
  template <typename T> TargetTransformInfo(T Impl);
86
87
  /// Construct a baseline TTI object using a minimal implementation of
88
  /// the \c Concept API below.
89
  ///
90
  /// The TTI implementation will reflect the information in the DataLayout
91
  /// provided if non-null.
92
  explicit TargetTransformInfo(const DataLayout &DL);
93
94
  // Provide move semantics.
95
  TargetTransformInfo(TargetTransformInfo &&Arg);
96
  TargetTransformInfo &operator=(TargetTransformInfo &&RHS);
97
98
  // We need to define the destructor out-of-line to define our sub-classes
99
  // out-of-line.
100
  ~TargetTransformInfo();
101
102
  /// Handle the invalidation of this information.
103
  ///
104
  /// When used as a result of \c TargetIRAnalysis this method will be called
105
  /// when the function this was computed for changes. When it returns false,
106
  /// the information is preserved across those changes.
107
  bool invalidate(Function &, const PreservedAnalyses &,
108
0
                  FunctionAnalysisManager::Invalidator &) {
109
0
    // FIXME: We should probably in some way ensure that the subtarget
110
0
    // information for a function hasn't changed.
111
0
    return false;
112
0
  }
113
114
  /// \name Generic Target Information
115
  /// @{
116
117
  /// The kind of cost model.
118
  ///
119
  /// There are several different cost models that can be customized by the
120
  /// target. The normalization of each cost model may be target specific.
121
  enum TargetCostKind {
122
    TCK_RecipThroughput, ///< Reciprocal throughput.
123
    TCK_Latency,         ///< The latency of instruction.
124
    TCK_CodeSize         ///< Instruction code size.
125
  };
126
127
  /// Query the cost of a specified instruction.
128
  ///
129
  /// Clients should use this interface to query the cost of an existing
130
  /// instruction. The instruction must have a valid parent (basic block).
131
  ///
132
  /// Note, this method does not cache the cost calculation and it
133
  /// can be expensive in some cases.
134
739k
  int getInstructionCost(const Instruction *I, enum TargetCostKind kind) const {
135
739k
    switch (kind){
136
739k
    case TCK_RecipThroughput:
137
175k
      return getInstructionThroughput(I);
138
739k
139
739k
    case TCK_Latency:
140
0
      return getInstructionLatency(I);
141
739k
142
739k
    case TCK_CodeSize:
143
563k
      return getUserCost(I);
144
0
    }
145
0
    llvm_unreachable("Unknown instruction cost kind");
146
0
  }
147
148
  /// Underlying constants for 'cost' values in this interface.
149
  ///
150
  /// Many APIs in this interface return a cost. This enum defines the
151
  /// fundamental values that should be used to interpret (and produce) those
152
  /// costs. The costs are returned as an int rather than a member of this
153
  /// enumeration because it is expected that the cost of one IR instruction
154
  /// may have a multiplicative factor to it or otherwise won't fit directly
155
  /// into the enum. Moreover, it is common to sum or average costs which works
156
  /// better as simple integral values. Thus this enum only provides constants.
157
  /// Also note that the returned costs are signed integers to make it natural
158
  /// to add, subtract, and test with zero (a common boundary condition). It is
159
  /// not expected that 2^32 is a realistic cost to be modeling at any point.
160
  ///
161
  /// Note that these costs should usually reflect the intersection of code-size
162
  /// cost and execution cost. A free instruction is typically one that folds
163
  /// into another instruction. For example, reg-to-reg moves can often be
164
  /// skipped by renaming the registers in the CPU, but they still are encoded
165
  /// and thus wouldn't be considered 'free' here.
166
  enum TargetCostConstants {
167
    TCC_Free = 0,     ///< Expected to fold away in lowering.
168
    TCC_Basic = 1,    ///< The cost of a typical 'add' instruction.
169
    TCC_Expensive = 4 ///< The cost of a 'div' instruction on x86.
170
  };
171
172
  /// Estimate the cost of a specific operation when lowered.
173
  ///
174
  /// Note that this is designed to work on an arbitrary synthetic opcode, and
175
  /// thus work for hypothetical queries before an instruction has even been
176
  /// formed. However, this does *not* work for GEPs, and must not be called
177
  /// for a GEP instruction. Instead, use the dedicated getGEPCost interface as
178
  /// analyzing a GEP's cost required more information.
179
  ///
180
  /// Typically only the result type is required, and the operand type can be
181
  /// omitted. However, if the opcode is one of the cast instructions, the
182
  /// operand type is required.
183
  ///
184
  /// The returned cost is defined in terms of \c TargetCostConstants, see its
185
  /// comments for a detailed explanation of the cost values.
186
  int getOperationCost(unsigned Opcode, Type *Ty, Type *OpTy = nullptr) const;
187
188
  /// Estimate the cost of a GEP operation when lowered.
189
  ///
190
  /// The contract for this function is the same as \c getOperationCost except
191
  /// that it supports an interface that provides extra information specific to
192
  /// the GEP operation.
193
  int getGEPCost(Type *PointeeType, const Value *Ptr,
194
                 ArrayRef<const Value *> Operands) const;
195
196
  /// Estimate the cost of a EXT operation when lowered.
197
  ///
198
  /// The contract for this function is the same as \c getOperationCost except
199
  /// that it supports an interface that provides extra information specific to
200
  /// the EXT operation.
201
  int getExtCost(const Instruction *I, const Value *Src) const;
202
203
  /// Estimate the cost of a function call when lowered.
204
  ///
205
  /// The contract for this is the same as \c getOperationCost except that it
206
  /// supports an interface that provides extra information specific to call
207
  /// instructions.
208
  ///
209
  /// This is the most basic query for estimating call cost: it only knows the
210
  /// function type and (potentially) the number of arguments at the call site.
211
  /// The latter is only interesting for varargs function types.
212
  int getCallCost(FunctionType *FTy, int NumArgs = -1) const;
213
214
  /// Estimate the cost of calling a specific function when lowered.
215
  ///
216
  /// This overload adds the ability to reason about the particular function
217
  /// being called in the event it is a library call with special lowering.
218
  int getCallCost(const Function *F, int NumArgs = -1) const;
219
220
  /// Estimate the cost of calling a specific function when lowered.
221
  ///
222
  /// This overload allows specifying a set of candidate argument values.
223
  int getCallCost(const Function *F, ArrayRef<const Value *> Arguments) const;
224
225
  /// \returns A value by which our inlining threshold should be multiplied.
226
  /// This is primarily used to bump up the inlining threshold wholesale on
227
  /// targets where calls are unusually expensive.
228
  ///
229
  /// TODO: This is a rather blunt instrument.  Perhaps altering the costs of
230
  /// individual classes of instructions would be better.
231
  unsigned getInliningThresholdMultiplier() const;
232
233
  /// Estimate the cost of an intrinsic when lowered.
234
  ///
235
  /// Mirrors the \c getCallCost method but uses an intrinsic identifier.
236
  int getIntrinsicCost(Intrinsic::ID IID, Type *RetTy,
237
                       ArrayRef<Type *> ParamTys) const;
238
239
  /// Estimate the cost of an intrinsic when lowered.
240
  ///
241
  /// Mirrors the \c getCallCost method but uses an intrinsic identifier.
242
  int getIntrinsicCost(Intrinsic::ID IID, Type *RetTy,
243
                       ArrayRef<const Value *> Arguments) const;
244
245
  /// \return The estimated number of case clusters when lowering \p 'SI'.
246
  /// \p JTSize Set a jump table size only when \p SI is suitable for a jump
247
  /// table.
248
  unsigned getEstimatedNumberOfCaseClusters(const SwitchInst &SI,
249
                                            unsigned &JTSize) const;
250
251
  /// Estimate the cost of a given IR user when lowered.
252
  ///
253
  /// This can estimate the cost of either a ConstantExpr or Instruction when
254
  /// lowered. It has two primary advantages over the \c getOperationCost and
255
  /// \c getGEPCost above, and one significant disadvantage: it can only be
256
  /// used when the IR construct has already been formed.
257
  ///
258
  /// The advantages are that it can inspect the SSA use graph to reason more
259
  /// accurately about the cost. For example, all-constant-GEPs can often be
260
  /// folded into a load or other instruction, but if they are used in some
261
  /// other context they may not be folded. This routine can distinguish such
262
  /// cases.
263
  ///
264
  /// \p Operands is a list of operands which can be a result of transformations
265
  /// of the current operands. The number of the operands on the list must equal
266
  /// to the number of the current operands the IR user has. Their order on the
267
  /// list must be the same as the order of the current operands the IR user
268
  /// has.
269
  ///
270
  /// The returned cost is defined in terms of \c TargetCostConstants, see its
271
  /// comments for a detailed explanation of the cost values.
272
  int getUserCost(const User *U, ArrayRef<const Value *> Operands) const;
273
274
  /// This is a helper function which calls the two-argument getUserCost
275
  /// with \p Operands which are the current operands U has.
276
43.8M
  int getUserCost(const User *U) const {
277
43.8M
    SmallVector<const Value *, 4> Operands(U->value_op_begin(),
278
43.8M
                                           U->value_op_end());
279
43.8M
    return getUserCost(U, Operands);
280
43.8M
  }
281
282
  /// Return true if branch divergence exists.
283
  ///
284
  /// Branch divergence has a significantly negative impact on GPU performance
285
  /// when threads in the same wavefront take different paths due to conditional
286
  /// branches.
287
  bool hasBranchDivergence() const;
288
289
  /// Returns whether V is a source of divergence.
290
  ///
291
  /// This function provides the target-dependent information for
292
  /// the target-independent LegacyDivergenceAnalysis. LegacyDivergenceAnalysis first
293
  /// builds the dependency graph, and then runs the reachability algorithm
294
  /// starting with the sources of divergence.
295
  bool isSourceOfDivergence(const Value *V) const;
296
297
  // Returns true for the target specific
298
  // set of operations which produce uniform result
299
  // even taking non-unform arguments
300
  bool isAlwaysUniform(const Value *V) const;
301
302
  /// Returns the address space ID for a target's 'flat' address space. Note
303
  /// this is not necessarily the same as addrspace(0), which LLVM sometimes
304
  /// refers to as the generic address space. The flat address space is a
305
  /// generic address space that can be used access multiple segments of memory
306
  /// with different address spaces. Access of a memory location through a
307
  /// pointer with this address space is expected to be legal but slower
308
  /// compared to the same memory location accessed through a pointer with a
309
  /// different address space.
310
  //
311
  /// This is for targets with different pointer representations which can
312
  /// be converted with the addrspacecast instruction. If a pointer is converted
313
  /// to this address space, optimizations should attempt to replace the access
314
  /// with the source address space.
315
  ///
316
  /// \returns ~0u if the target does not have such a flat address space to
317
  /// optimize away.
318
  unsigned getFlatAddressSpace() const;
319
320
  /// Test whether calls to a function lower to actual program function
321
  /// calls.
322
  ///
323
  /// The idea is to test whether the program is likely to require a 'call'
324
  /// instruction or equivalent in order to call the given function.
325
  ///
326
  /// FIXME: It's not clear that this is a good or useful query API. Client's
327
  /// should probably move to simpler cost metrics using the above.
328
  /// Alternatively, we could split the cost interface into distinct code-size
329
  /// and execution-speed costs. This would allow modelling the core of this
330
  /// query more accurately as a call is a single small instruction, but
331
  /// incurs significant execution cost.
332
  bool isLoweredToCall(const Function *F) const;
333
334
  struct LSRCost {
335
    /// TODO: Some of these could be merged. Also, a lexical ordering
336
    /// isn't always optimal.
337
    unsigned Insns;
338
    unsigned NumRegs;
339
    unsigned AddRecCost;
340
    unsigned NumIVMuls;
341
    unsigned NumBaseAdds;
342
    unsigned ImmCost;
343
    unsigned SetupCost;
344
    unsigned ScaleCost;
345
  };
346
347
  /// Parameters that control the generic loop unrolling transformation.
348
  struct UnrollingPreferences {
349
    /// The cost threshold for the unrolled loop. Should be relative to the
350
    /// getUserCost values returned by this API, and the expectation is that
351
    /// the unrolled loop's instructions when run through that interface should
352
    /// not exceed this cost. However, this is only an estimate. Also, specific
353
    /// loops may be unrolled even with a cost above this threshold if deemed
354
    /// profitable. Set this to UINT_MAX to disable the loop body cost
355
    /// restriction.
356
    unsigned Threshold;
357
    /// If complete unrolling will reduce the cost of the loop, we will boost
358
    /// the Threshold by a certain percent to allow more aggressive complete
359
    /// unrolling. This value provides the maximum boost percentage that we
360
    /// can apply to Threshold (The value should be no less than 100).
361
    /// BoostedThreshold = Threshold * min(RolledCost / UnrolledCost,
362
    ///                                    MaxPercentThresholdBoost / 100)
363
    /// E.g. if complete unrolling reduces the loop execution time by 50%
364
    /// then we boost the threshold by the factor of 2x. If unrolling is not
365
    /// expected to reduce the running time, then we do not increase the
366
    /// threshold.
367
    unsigned MaxPercentThresholdBoost;
368
    /// The cost threshold for the unrolled loop when optimizing for size (set
369
    /// to UINT_MAX to disable).
370
    unsigned OptSizeThreshold;
371
    /// The cost threshold for the unrolled loop, like Threshold, but used
372
    /// for partial/runtime unrolling (set to UINT_MAX to disable).
373
    unsigned PartialThreshold;
374
    /// The cost threshold for the unrolled loop when optimizing for size, like
375
    /// OptSizeThreshold, but used for partial/runtime unrolling (set to
376
    /// UINT_MAX to disable).
377
    unsigned PartialOptSizeThreshold;
378
    /// A forced unrolling factor (the number of concatenated bodies of the
379
    /// original loop in the unrolled loop body). When set to 0, the unrolling
380
    /// transformation will select an unrolling factor based on the current cost
381
    /// threshold and other factors.
382
    unsigned Count;
383
    /// A forced peeling factor (the number of bodied of the original loop
384
    /// that should be peeled off before the loop body). When set to 0, the
385
    /// unrolling transformation will select a peeling factor based on profile
386
    /// information and other factors.
387
    unsigned PeelCount;
388
    /// Default unroll count for loops with run-time trip count.
389
    unsigned DefaultUnrollRuntimeCount;
390
    // Set the maximum unrolling factor. The unrolling factor may be selected
391
    // using the appropriate cost threshold, but may not exceed this number
392
    // (set to UINT_MAX to disable). This does not apply in cases where the
393
    // loop is being fully unrolled.
394
    unsigned MaxCount;
395
    /// Set the maximum unrolling factor for full unrolling. Like MaxCount, but
396
    /// applies even if full unrolling is selected. This allows a target to fall
397
    /// back to Partial unrolling if full unrolling is above FullUnrollMaxCount.
398
    unsigned FullUnrollMaxCount;
399
    // Represents number of instructions optimized when "back edge"
400
    // becomes "fall through" in unrolled loop.
401
    // For now we count a conditional branch on a backedge and a comparison
402
    // feeding it.
403
    unsigned BEInsns;
404
    /// Allow partial unrolling (unrolling of loops to expand the size of the
405
    /// loop body, not only to eliminate small constant-trip-count loops).
406
    bool Partial;
407
    /// Allow runtime unrolling (unrolling of loops to expand the size of the
408
    /// loop body even when the number of loop iterations is not known at
409
    /// compile time).
410
    bool Runtime;
411
    /// Allow generation of a loop remainder (extra iterations after unroll).
412
    bool AllowRemainder;
413
    /// Allow emitting expensive instructions (such as divisions) when computing
414
    /// the trip count of a loop for runtime unrolling.
415
    bool AllowExpensiveTripCount;
416
    /// Apply loop unroll on any kind of loop
417
    /// (mainly to loops that fail runtime unrolling).
418
    bool Force;
419
    /// Allow using trip count upper bound to unroll loops.
420
    bool UpperBound;
421
    /// Allow peeling off loop iterations for loops with low dynamic tripcount.
422
    bool AllowPeeling;
423
    /// Allow unrolling of all the iterations of the runtime loop remainder.
424
    bool UnrollRemainder;
425
    /// Allow unroll and jam. Used to enable unroll and jam for the target.
426
    bool UnrollAndJam;
427
    /// Threshold for unroll and jam, for inner loop size. The 'Threshold'
428
    /// value above is used during unroll and jam for the outer loop size.
429
    /// This value is used in the same manner to limit the size of the inner
430
    /// loop.
431
    unsigned UnrollAndJamInnerLoopThreshold;
432
  };
433
434
  /// Get target-customized preferences for the generic loop unrolling
435
  /// transformation. The caller will initialize UP with the current
436
  /// target-independent defaults.
437
  void getUnrollingPreferences(Loop *L, ScalarEvolution &,
438
                               UnrollingPreferences &UP) const;
439
440
  /// @}
441
442
  /// \name Scalar Target Information
443
  /// @{
444
445
  /// Flags indicating the kind of support for population count.
446
  ///
447
  /// Compared to the SW implementation, HW support is supposed to
448
  /// significantly boost the performance when the population is dense, and it
449
  /// may or may not degrade performance if the population is sparse. A HW
450
  /// support is considered as "Fast" if it can outperform, or is on a par
451
  /// with, SW implementation when the population is sparse; otherwise, it is
452
  /// considered as "Slow".
453
  enum PopcntSupportKind { PSK_Software, PSK_SlowHardware, PSK_FastHardware };
454
455
  /// Return true if the specified immediate is legal add immediate, that
456
  /// is the target has add instructions which can add a register with the
457
  /// immediate without having to materialize the immediate into a register.
458
  bool isLegalAddImmediate(int64_t Imm) const;
459
460
  /// Return true if the specified immediate is legal icmp immediate,
461
  /// that is the target has icmp instructions which can compare a register
462
  /// against the immediate without having to materialize the immediate into a
463
  /// register.
464
  bool isLegalICmpImmediate(int64_t Imm) const;
465
466
  /// Return true if the addressing mode represented by AM is legal for
467
  /// this target, for a load/store of the specified type.
468
  /// The type may be VoidTy, in which case only return true if the addressing
469
  /// mode is legal for a load/store of any legal type.
470
  /// If target returns true in LSRWithInstrQueries(), I may be valid.
471
  /// TODO: Handle pre/postinc as well.
472
  bool isLegalAddressingMode(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset,
473
                             bool HasBaseReg, int64_t Scale,
474
                             unsigned AddrSpace = 0,
475
                             Instruction *I = nullptr) const;
476
477
  /// Return true if LSR cost of C1 is lower than C1.
478
  bool isLSRCostLess(TargetTransformInfo::LSRCost &C1,
479
                     TargetTransformInfo::LSRCost &C2) const;
480
481
  /// Return true if the target can fuse a compare and branch.
482
  /// Loop-strength-reduction (LSR) uses that knowledge to adjust its cost
483
  /// calculation for the instructions in a loop.
484
  bool canMacroFuseCmp() const;
485
486
  /// \return True is LSR should make efforts to create/preserve post-inc
487
  /// addressing mode expressions.
488
  bool shouldFavorPostInc() const;
489
490
  /// Return true if the target supports masked load/store
491
  /// AVX2 and AVX-512 targets allow masks for consecutive load and store
492
  bool isLegalMaskedStore(Type *DataType) const;
493
  bool isLegalMaskedLoad(Type *DataType) const;
494
495
  /// Return true if the target supports masked gather/scatter
496
  /// AVX-512 fully supports gather and scatter for vectors with 32 and 64
497
  /// bits scalar type.
498
  bool isLegalMaskedScatter(Type *DataType) const;
499
  bool isLegalMaskedGather(Type *DataType) const;
500
501
  /// Return true if the target has a unified operation to calculate division
502
  /// and remainder. If so, the additional implicit multiplication and
503
  /// subtraction required to calculate a remainder from division are free. This
504
  /// can enable more aggressive transformations for division and remainder than
505
  /// would typically be allowed using throughput or size cost models.
506
  bool hasDivRemOp(Type *DataType, bool IsSigned) const;
507
508
  /// Return true if the given instruction (assumed to be a memory access
509
  /// instruction) has a volatile variant. If that's the case then we can avoid
510
  /// addrspacecast to generic AS for volatile loads/stores. Default
511
  /// implementation returns false, which prevents address space inference for
512
  /// volatile loads/stores.
513
  bool hasVolatileVariant(Instruction *I, unsigned AddrSpace) const;
514
515
  /// Return true if target doesn't mind addresses in vectors.
516
  bool prefersVectorizedAddressing() const;
517
518
  /// Return the cost of the scaling factor used in the addressing
519
  /// mode represented by AM for this target, for a load/store
520
  /// of the specified type.
521
  /// If the AM is supported, the return value must be >= 0.
522
  /// If the AM is not supported, it returns a negative value.
523
  /// TODO: Handle pre/postinc as well.
524
  int getScalingFactorCost(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset,
525
                           bool HasBaseReg, int64_t Scale,
526
                           unsigned AddrSpace = 0) const;
527
528
  /// Return true if the loop strength reduce pass should make
529
  /// Instruction* based TTI queries to isLegalAddressingMode(). This is
530
  /// needed on SystemZ, where e.g. a memcpy can only have a 12 bit unsigned
531
  /// immediate offset and no index register.
532
  bool LSRWithInstrQueries() const;
533
534
  /// Return true if it's free to truncate a value of type Ty1 to type
535
  /// Ty2. e.g. On x86 it's free to truncate a i32 value in register EAX to i16
536
  /// by referencing its sub-register AX.
537
  bool isTruncateFree(Type *Ty1, Type *Ty2) const;
538
539
  /// Return true if it is profitable to hoist instruction in the
540
  /// then/else to before if.
541
  bool isProfitableToHoist(Instruction *I) const;
542
543
  bool useAA() const;
544
545
  /// Return true if this type is legal.
546
  bool isTypeLegal(Type *Ty) const;
547
548
  /// Returns the target's jmp_buf alignment in bytes.
549
  unsigned getJumpBufAlignment() const;
550
551
  /// Returns the target's jmp_buf size in bytes.
552
  unsigned getJumpBufSize() const;
553
554
  /// Return true if switches should be turned into lookup tables for the
555
  /// target.
556
  bool shouldBuildLookupTables() const;
557
558
  /// Return true if switches should be turned into lookup tables
559
  /// containing this constant value for the target.
560
  bool shouldBuildLookupTablesForConstant(Constant *C) const;
561
562
  /// Return true if the input function which is cold at all call sites,
563
  ///  should use coldcc calling convention.
564
  bool useColdCCForColdCall(Function &F) const;
565
566
  unsigned getScalarizationOverhead(Type *Ty, bool Insert, bool Extract) const;
567
568
  unsigned getOperandsScalarizationOverhead(ArrayRef<const Value *> Args,
569
                                            unsigned VF) const;
570
571
  /// If target has efficient vector element load/store instructions, it can
572
  /// return true here so that insertion/extraction costs are not added to
573
  /// the scalarization cost of a load/store.
574
  bool supportsEfficientVectorElementLoadStore() const;
575
576
  /// Don't restrict interleaved unrolling to small loops.
577
  bool enableAggressiveInterleaving(bool LoopHasReductions) const;
578
579
  /// If not nullptr, enable inline expansion of memcmp. IsZeroCmp is
580
  /// true if this is the expansion of memcmp(p1, p2, s) == 0.
581
  struct MemCmpExpansionOptions {
582
    // The list of available load sizes (in bytes), sorted in decreasing order.
583
    SmallVector<unsigned, 8> LoadSizes;
584
  };
585
  const MemCmpExpansionOptions *enableMemCmpExpansion(bool IsZeroCmp) const;
586
587
  /// Enable matching of interleaved access groups.
588
  bool enableInterleavedAccessVectorization() const;
589
590
  /// Indicate that it is potentially unsafe to automatically vectorize
591
  /// floating-point operations because the semantics of vector and scalar
592
  /// floating-point semantics may differ. For example, ARM NEON v7 SIMD math
593
  /// does not support IEEE-754 denormal numbers, while depending on the
594
  /// platform, scalar floating-point math does.
595
  /// This applies to floating-point math operations and calls, not memory
596
  /// operations, shuffles, or casts.
597
  bool isFPVectorizationPotentiallyUnsafe() const;
598
599
  /// Determine if the target supports unaligned memory accesses.
600
  bool allowsMisalignedMemoryAccesses(LLVMContext &Context,
601
                                      unsigned BitWidth, unsigned AddressSpace = 0,
602
                                      unsigned Alignment = 1,
603
                                      bool *Fast = nullptr) const;
604
605
  /// Return hardware support for population count.
606
  PopcntSupportKind getPopcntSupport(unsigned IntTyWidthInBit) const;
607
608
  /// Return true if the hardware has a fast square-root instruction.
609
  bool haveFastSqrt(Type *Ty) const;
610
611
  /// Return true if it is faster to check if a floating-point value is NaN
612
  /// (or not-NaN) versus a comparison against a constant FP zero value.
613
  /// Targets should override this if materializing a 0.0 for comparison is
614
  /// generally as cheap as checking for ordered/unordered.
615
  bool isFCmpOrdCheaperThanFCmpZero(Type *Ty) const;
616
617
  /// Return the expected cost of supporting the floating point operation
618
  /// of the specified type.
619
  int getFPOpCost(Type *Ty) const;
620
621
  /// Return the expected cost of materializing for the given integer
622
  /// immediate of the specified type.
623
  int getIntImmCost(const APInt &Imm, Type *Ty) const;
624
625
  /// Return the expected cost of materialization for the given integer
626
  /// immediate of the specified type for a given instruction. The cost can be
627
  /// zero if the immediate can be folded into the specified instruction.
628
  int getIntImmCost(unsigned Opc, unsigned Idx, const APInt &Imm,
629
                    Type *Ty) const;
630
  int getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
631
                    Type *Ty) const;
632
633
  /// Return the expected cost for the given integer when optimising
634
  /// for size. This is different than the other integer immediate cost
635
  /// functions in that it is subtarget agnostic. This is useful when you e.g.
636
  /// target one ISA such as Aarch32 but smaller encodings could be possible
637
  /// with another such as Thumb. This return value is used as a penalty when
638
  /// the total costs for a constant is calculated (the bigger the cost, the
639
  /// more beneficial constant hoisting is).
640
  int getIntImmCodeSizeCost(unsigned Opc, unsigned Idx, const APInt &Imm,
641
                            Type *Ty) const;
642
  /// @}
643
644
  /// \name Vector Target Information
645
  /// @{
646
647
  /// The various kinds of shuffle patterns for vector queries.
648
  enum ShuffleKind {
649
    SK_Broadcast,       ///< Broadcast element 0 to all other elements.
650
    SK_Reverse,         ///< Reverse the order of the vector.
651
    SK_Select,          ///< Selects elements from the corresponding lane of
652
                        ///< either source operand. This is equivalent to a
653
                        ///< vector select with a constant condition operand.
654
    SK_Transpose,       ///< Transpose two vectors.
655
    SK_InsertSubvector, ///< InsertSubvector. Index indicates start offset.
656
    SK_ExtractSubvector,///< ExtractSubvector Index indicates start offset.
657
    SK_PermuteTwoSrc,   ///< Merge elements from two source vectors into one
658
                        ///< with any shuffle mask.
659
    SK_PermuteSingleSrc ///< Shuffle elements of single source vector with any
660
                        ///< shuffle mask.
661
  };
662
663
  /// Additional information about an operand's possible values.
664
  enum OperandValueKind {
665
    OK_AnyValue,               // Operand can have any value.
666
    OK_UniformValue,           // Operand is uniform (splat of a value).
667
    OK_UniformConstantValue,   // Operand is uniform constant.
668
    OK_NonUniformConstantValue // Operand is a non uniform constant value.
669
  };
670
671
  /// Additional properties of an operand's values.
672
  enum OperandValueProperties { OP_None = 0, OP_PowerOf2 = 1 };
673
674
  /// \return The number of scalar or vector registers that the target has.
675
  /// If 'Vectors' is true, it returns the number of vector registers. If it is
676
  /// set to false, it returns the number of scalar registers.
677
  unsigned getNumberOfRegisters(bool Vector) const;
678
679
  /// \return The width of the largest scalar or vector register type.
680
  unsigned getRegisterBitWidth(bool Vector) const;
681
682
  /// \return The width of the smallest vector register type.
683
  unsigned getMinVectorRegisterBitWidth() const;
684
685
  /// \return True if the vectorization factor should be chosen to
686
  /// make the vector of the smallest element type match the size of a
687
  /// vector register. For wider element types, this could result in
688
  /// creating vectors that span multiple vector registers.
689
  /// If false, the vectorization factor will be chosen based on the
690
  /// size of the widest element type.
691
  bool shouldMaximizeVectorBandwidth(bool OptSize) const;
692
693
  /// \return The minimum vectorization factor for types of given element
694
  /// bit width, or 0 if there is no mimimum VF. The returned value only
695
  /// applies when shouldMaximizeVectorBandwidth returns true.
696
  unsigned getMinimumVF(unsigned ElemWidth) const;
697
698
  /// \return True if it should be considered for address type promotion.
699
  /// \p AllowPromotionWithoutCommonHeader Set true if promoting \p I is
700
  /// profitable without finding other extensions fed by the same input.
701
  bool shouldConsiderAddressTypePromotion(
702
      const Instruction &I, bool &AllowPromotionWithoutCommonHeader) const;
703
704
  /// \return The size of a cache line in bytes.
705
  unsigned getCacheLineSize() const;
706
707
  /// The possible cache levels
708
  enum class CacheLevel {
709
    L1D,   // The L1 data cache
710
    L2D,   // The L2 data cache
711
712
    // We currently do not model L3 caches, as their sizes differ widely between
713
    // microarchitectures. Also, we currently do not have a use for L3 cache
714
    // size modeling yet.
715
  };
716
717
  /// \return The size of the cache level in bytes, if available.
718
  llvm::Optional<unsigned> getCacheSize(CacheLevel Level) const;
719
720
  /// \return The associativity of the cache level, if available.
721
  llvm::Optional<unsigned> getCacheAssociativity(CacheLevel Level) const;
722
723
  /// \return How much before a load we should place the prefetch instruction.
724
  /// This is currently measured in number of instructions.
725
  unsigned getPrefetchDistance() const;
726
727
  /// \return Some HW prefetchers can handle accesses up to a certain constant
728
  /// stride.  This is the minimum stride in bytes where it makes sense to start
729
  /// adding SW prefetches.  The default is 1, i.e. prefetch with any stride.
730
  unsigned getMinPrefetchStride() const;
731
732
  /// \return The maximum number of iterations to prefetch ahead.  If the
733
  /// required number of iterations is more than this number, no prefetching is
734
  /// performed.
735
  unsigned getMaxPrefetchIterationsAhead() const;
736
737
  /// \return The maximum interleave factor that any transform should try to
738
  /// perform for this target. This number depends on the level of parallelism
739
  /// and the number of execution units in the CPU.
740
  unsigned getMaxInterleaveFactor(unsigned VF) const;
741
742
  /// This is an approximation of reciprocal throughput of a math/logic op.
743
  /// A higher cost indicates less expected throughput.
744
  /// From Agner Fog's guides, reciprocal throughput is "the average number of
745
  /// clock cycles per instruction when the instructions are not part of a
746
  /// limiting dependency chain."
747
  /// Therefore, costs should be scaled to account for multiple execution units
748
  /// on the target that can process this type of instruction. For example, if
749
  /// there are 5 scalar integer units and 2 vector integer units that can
750
  /// calculate an 'add' in a single cycle, this model should indicate that the
751
  /// cost of the vector add instruction is 2.5 times the cost of the scalar
752
  /// add instruction.
753
  /// \p Args is an optional argument which holds the instruction operands
754
  /// values so the TTI can analyze those values searching for special
755
  /// cases or optimizations based on those values.
756
  int getArithmeticInstrCost(
757
      unsigned Opcode, Type *Ty, OperandValueKind Opd1Info = OK_AnyValue,
758
      OperandValueKind Opd2Info = OK_AnyValue,
759
      OperandValueProperties Opd1PropInfo = OP_None,
760
      OperandValueProperties Opd2PropInfo = OP_None,
761
      ArrayRef<const Value *> Args = ArrayRef<const Value *>()) const;
762
763
  /// \return The cost of a shuffle instruction of kind Kind and of type Tp.
764
  /// The index and subtype parameters are used by the subvector insertion and
765
  /// extraction shuffle kinds.
766
  int getShuffleCost(ShuffleKind Kind, Type *Tp, int Index = 0,
767
                     Type *SubTp = nullptr) const;
768
769
  /// \return The expected cost of cast instructions, such as bitcast, trunc,
770
  /// zext, etc. If there is an existing instruction that holds Opcode, it
771
  /// may be passed in the 'I' parameter.
772
  int getCastInstrCost(unsigned Opcode, Type *Dst, Type *Src,
773
                       const Instruction *I = nullptr) const;
774
775
  /// \return The expected cost of a sign- or zero-extended vector extract. Use
776
  /// -1 to indicate that there is no information about the index value.
777
  int getExtractWithExtendCost(unsigned Opcode, Type *Dst, VectorType *VecTy,
778
                               unsigned Index = -1) const;
779
780
  /// \return The expected cost of control-flow related instructions such as
781
  /// Phi, Ret, Br.
782
  int getCFInstrCost(unsigned Opcode) const;
783
784
  /// \returns The expected cost of compare and select instructions. If there
785
  /// is an existing instruction that holds Opcode, it may be passed in the
786
  /// 'I' parameter.
787
  int getCmpSelInstrCost(unsigned Opcode, Type *ValTy,
788
                 Type *CondTy = nullptr, const Instruction *I = nullptr) const;
789
790
  /// \return The expected cost of vector Insert and Extract.
791
  /// Use -1 to indicate that there is no information on the index value.
792
  int getVectorInstrCost(unsigned Opcode, Type *Val, unsigned Index = -1) const;
793
794
  /// \return The cost of Load and Store instructions.
795
  int getMemoryOpCost(unsigned Opcode, Type *Src, unsigned Alignment,
796
                      unsigned AddressSpace, const Instruction *I = nullptr) const;
797
798
  /// \return The cost of masked Load and Store instructions.
799
  int getMaskedMemoryOpCost(unsigned Opcode, Type *Src, unsigned Alignment,
800
                            unsigned AddressSpace) const;
801
802
  /// \return The cost of Gather or Scatter operation
803
  /// \p Opcode - is a type of memory access Load or Store
804
  /// \p DataTy - a vector type of the data to be loaded or stored
805
  /// \p Ptr - pointer [or vector of pointers] - address[es] in memory
806
  /// \p VariableMask - true when the memory access is predicated with a mask
807
  ///                   that is not a compile-time constant
808
  /// \p Alignment - alignment of single element
809
  int getGatherScatterOpCost(unsigned Opcode, Type *DataTy, Value *Ptr,
810
                             bool VariableMask, unsigned Alignment) const;
811
812
  /// \return The cost of the interleaved memory operation.
813
  /// \p Opcode is the memory operation code
814
  /// \p VecTy is the vector type of the interleaved access.
815
  /// \p Factor is the interleave factor
816
  /// \p Indices is the indices for interleaved load members (as interleaved
817
  ///    load allows gaps)
818
  /// \p Alignment is the alignment of the memory operation
819
  /// \p AddressSpace is address space of the pointer.
820
  int getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy, unsigned Factor,
821
                                 ArrayRef<unsigned> Indices, unsigned Alignment,
822
                                 unsigned AddressSpace) const;
823
824
  /// Calculate the cost of performing a vector reduction.
825
  ///
826
  /// This is the cost of reducing the vector value of type \p Ty to a scalar
827
  /// value using the operation denoted by \p Opcode. The form of the reduction
828
  /// can either be a pairwise reduction or a reduction that splits the vector
829
  /// at every reduction level.
830
  ///
831
  /// Pairwise:
832
  ///  (v0, v1, v2, v3)
833
  ///  ((v0+v1), (v2+v3), undef, undef)
834
  /// Split:
835
  ///  (v0, v1, v2, v3)
836
  ///  ((v0+v2), (v1+v3), undef, undef)
837
  int getArithmeticReductionCost(unsigned Opcode, Type *Ty,
838
                                 bool IsPairwiseForm) const;
839
  int getMinMaxReductionCost(Type *Ty, Type *CondTy, bool IsPairwiseForm,
840
                             bool IsUnsigned) const;
841
842
  /// \returns The cost of Intrinsic instructions. Analyses the real arguments.
843
  /// Three cases are handled: 1. scalar instruction 2. vector instruction
844
  /// 3. scalar instruction which is to be vectorized with VF.
845
  int getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
846
                            ArrayRef<Value *> Args, FastMathFlags FMF,
847
                            unsigned VF = 1) const;
848
849
  /// \returns The cost of Intrinsic instructions. Types analysis only.
850
  /// If ScalarizationCostPassed is UINT_MAX, the cost of scalarizing the
851
  /// arguments and the return value will be computed based on types.
852
  int getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
853
                            ArrayRef<Type *> Tys, FastMathFlags FMF,
854
                            unsigned ScalarizationCostPassed = UINT_MAX) const;
855
856
  /// \returns The cost of Call instructions.
857
  int getCallInstrCost(Function *F, Type *RetTy, ArrayRef<Type *> Tys) const;
858
859
  /// \returns The number of pieces into which the provided type must be
860
  /// split during legalization. Zero is returned when the answer is unknown.
861
  unsigned getNumberOfParts(Type *Tp) const;
862
863
  /// \returns The cost of the address computation. For most targets this can be
864
  /// merged into the instruction indexing mode. Some targets might want to
865
  /// distinguish between address computation for memory operations on vector
866
  /// types and scalar types. Such targets should override this function.
867
  /// The 'SE' parameter holds pointer for the scalar evolution object which
868
  /// is used in order to get the Ptr step value in case of constant stride.
869
  /// The 'Ptr' parameter holds SCEV of the access pointer.
870
  int getAddressComputationCost(Type *Ty, ScalarEvolution *SE = nullptr,
871
                                const SCEV *Ptr = nullptr) const;
872
873
  /// \returns The cost, if any, of keeping values of the given types alive
874
  /// over a callsite.
875
  ///
876
  /// Some types may require the use of register classes that do not have
877
  /// any callee-saved registers, so would require a spill and fill.
878
  unsigned getCostOfKeepingLiveOverCall(ArrayRef<Type *> Tys) const;
879
880
  /// \returns True if the intrinsic is a supported memory intrinsic.  Info
881
  /// will contain additional information - whether the intrinsic may write
882
  /// or read to memory, volatility and the pointer.  Info is undefined
883
  /// if false is returned.
884
  bool getTgtMemIntrinsic(IntrinsicInst *Inst, MemIntrinsicInfo &Info) const;
885
886
  /// \returns The maximum element size, in bytes, for an element
887
  /// unordered-atomic memory intrinsic.
888
  unsigned getAtomicMemIntrinsicMaxElementSize() const;
889
890
  /// \returns A value which is the result of the given memory intrinsic.  New
891
  /// instructions may be created to extract the result from the given intrinsic
892
  /// memory operation.  Returns nullptr if the target cannot create a result
893
  /// from the given intrinsic.
894
  Value *getOrCreateResultFromMemIntrinsic(IntrinsicInst *Inst,
895
                                           Type *ExpectedType) const;
896
897
  /// \returns The type to use in a loop expansion of a memcpy call.
898
  Type *getMemcpyLoopLoweringType(LLVMContext &Context, Value *Length,
899
                                  unsigned SrcAlign, unsigned DestAlign) const;
900
901
  /// \param[out] OpsOut The operand types to copy RemainingBytes of memory.
902
  /// \param RemainingBytes The number of bytes to copy.
903
  ///
904
  /// Calculates the operand types to use when copying \p RemainingBytes of
905
  /// memory, where source and destination alignments are \p SrcAlign and
906
  /// \p DestAlign respectively.
907
  void getMemcpyLoopResidualLoweringType(SmallVectorImpl<Type *> &OpsOut,
908
                                         LLVMContext &Context,
909
                                         unsigned RemainingBytes,
910
                                         unsigned SrcAlign,
911
                                         unsigned DestAlign) const;
912
913
  /// \returns True if the two functions have compatible attributes for inlining
914
  /// purposes.
915
  bool areInlineCompatible(const Function *Caller,
916
                           const Function *Callee) const;
917
918
  /// The type of load/store indexing.
919
  enum MemIndexedMode {
920
    MIM_Unindexed,  ///< No indexing.
921
    MIM_PreInc,     ///< Pre-incrementing.
922
    MIM_PreDec,     ///< Pre-decrementing.
923
    MIM_PostInc,    ///< Post-incrementing.
924
    MIM_PostDec     ///< Post-decrementing.
925
  };
926
927
  /// \returns True if the specified indexed load for the given type is legal.
928
  bool isIndexedLoadLegal(enum MemIndexedMode Mode, Type *Ty) const;
929
930
  /// \returns True if the specified indexed store for the given type is legal.
931
  bool isIndexedStoreLegal(enum MemIndexedMode Mode, Type *Ty) const;
932
933
  /// \returns The bitwidth of the largest vector type that should be used to
934
  /// load/store in the given address space.
935
  unsigned getLoadStoreVecRegBitWidth(unsigned AddrSpace) const;
936
937
  /// \returns True if the load instruction is legal to vectorize.
938
  bool isLegalToVectorizeLoad(LoadInst *LI) const;
939
940
  /// \returns True if the store instruction is legal to vectorize.
941
  bool isLegalToVectorizeStore(StoreInst *SI) const;
942
943
  /// \returns True if it is legal to vectorize the given load chain.
944
  bool isLegalToVectorizeLoadChain(unsigned ChainSizeInBytes,
945
                                   unsigned Alignment,
946
                                   unsigned AddrSpace) const;
947
948
  /// \returns True if it is legal to vectorize the given store chain.
949
  bool isLegalToVectorizeStoreChain(unsigned ChainSizeInBytes,
950
                                    unsigned Alignment,
951
                                    unsigned AddrSpace) const;
952
953
  /// \returns The new vector factor value if the target doesn't support \p
954
  /// SizeInBytes loads or has a better vector factor.
955
  unsigned getLoadVectorFactor(unsigned VF, unsigned LoadSize,
956
                               unsigned ChainSizeInBytes,
957
                               VectorType *VecTy) const;
958
959
  /// \returns The new vector factor value if the target doesn't support \p
960
  /// SizeInBytes stores or has a better vector factor.
961
  unsigned getStoreVectorFactor(unsigned VF, unsigned StoreSize,
962
                                unsigned ChainSizeInBytes,
963
                                VectorType *VecTy) const;
964
965
  /// Flags describing the kind of vector reduction.
966
  struct ReductionFlags {
967
884
    ReductionFlags() : IsMaxOp(false), IsSigned(false), NoNaN(false) {}
968
    bool IsMaxOp;  ///< If the op a min/max kind, true if it's a max operation.
969
    bool IsSigned; ///< Whether the operation is a signed int reduction.
970
    bool NoNaN;    ///< If op is an fp min/max, whether NaNs may be present.
971
  };
972
973
  /// \returns True if the target wants to handle the given reduction idiom in
974
  /// the intrinsics form instead of the shuffle form.
975
  bool useReductionIntrinsic(unsigned Opcode, Type *Ty,
976
                             ReductionFlags Flags) const;
977
978
  /// \returns True if the target wants to expand the given reduction intrinsic
979
  /// into a shuffle sequence.
980
  bool shouldExpandReduction(const IntrinsicInst *II) const;
981
  /// @}
982
983
private:
984
  /// Estimate the latency of specified instruction.
985
  /// Returns 1 as the default value.
986
  int getInstructionLatency(const Instruction *I) const;
987
988
  /// Returns the expected throughput cost of the instruction.
989
  /// Returns -1 if the cost is unknown.
990
  int getInstructionThroughput(const Instruction *I) const;
991
992
  /// The abstract base class used to type erase specific TTI
993
  /// implementations.
994
  class Concept;
995
996
  /// The template model for the base class which wraps a concrete
997
  /// implementation in a type erased interface.
998
  template <typename T> class Model;
999
1000
  std::unique_ptr<Concept> TTIImpl;
1001
};
1002
1003
class TargetTransformInfo::Concept {
1004
public:
1005
  virtual ~Concept() = 0;
1006
  virtual const DataLayout &getDataLayout() const = 0;
1007
  virtual int getOperationCost(unsigned Opcode, Type *Ty, Type *OpTy) = 0;
1008
  virtual int getGEPCost(Type *PointeeType, const Value *Ptr,
1009
                         ArrayRef<const Value *> Operands) = 0;
1010
  virtual int getExtCost(const Instruction *I, const Value *Src) = 0;
1011
  virtual int getCallCost(FunctionType *FTy, int NumArgs) = 0;
1012
  virtual int getCallCost(const Function *F, int NumArgs) = 0;
1013
  virtual int getCallCost(const Function *F,
1014
                          ArrayRef<const Value *> Arguments) = 0;
1015
  virtual unsigned getInliningThresholdMultiplier() = 0;
1016
  virtual int getIntrinsicCost(Intrinsic::ID IID, Type *RetTy,
1017
                               ArrayRef<Type *> ParamTys) = 0;
1018
  virtual int getIntrinsicCost(Intrinsic::ID IID, Type *RetTy,
1019
                               ArrayRef<const Value *> Arguments) = 0;
1020
  virtual unsigned getEstimatedNumberOfCaseClusters(const SwitchInst &SI,
1021
                                                    unsigned &JTSize) = 0;
1022
  virtual int
1023
  getUserCost(const User *U, ArrayRef<const Value *> Operands) = 0;
1024
  virtual bool hasBranchDivergence() = 0;
1025
  virtual bool isSourceOfDivergence(const Value *V) = 0;
1026
  virtual bool isAlwaysUniform(const Value *V) = 0;
1027
  virtual unsigned getFlatAddressSpace() = 0;
1028
  virtual bool isLoweredToCall(const Function *F) = 0;
1029
  virtual void getUnrollingPreferences(Loop *L, ScalarEvolution &,
1030
                                       UnrollingPreferences &UP) = 0;
1031
  virtual bool isLegalAddImmediate(int64_t Imm) = 0;
1032
  virtual bool isLegalICmpImmediate(int64_t Imm) = 0;
1033
  virtual bool isLegalAddressingMode(Type *Ty, GlobalValue *BaseGV,
1034
                                     int64_t BaseOffset, bool HasBaseReg,
1035
                                     int64_t Scale,
1036
                                     unsigned AddrSpace,
1037
                                     Instruction *I) = 0;
1038
  virtual bool isLSRCostLess(TargetTransformInfo::LSRCost &C1,
1039
                             TargetTransformInfo::LSRCost &C2) = 0;
1040
  virtual bool canMacroFuseCmp() = 0;
1041
  virtual bool shouldFavorPostInc() const = 0;
1042
  virtual bool isLegalMaskedStore(Type *DataType) = 0;
1043
  virtual bool isLegalMaskedLoad(Type *DataType) = 0;
1044
  virtual bool isLegalMaskedScatter(Type *DataType) = 0;
1045
  virtual bool isLegalMaskedGather(Type *DataType) = 0;
1046
  virtual bool hasDivRemOp(Type *DataType, bool IsSigned) = 0;
1047
  virtual bool hasVolatileVariant(Instruction *I, unsigned AddrSpace) = 0;
1048
  virtual bool prefersVectorizedAddressing() = 0;
1049
  virtual int getScalingFactorCost(Type *Ty, GlobalValue *BaseGV,
1050
                                   int64_t BaseOffset, bool HasBaseReg,
1051
                                   int64_t Scale, unsigned AddrSpace) = 0;
1052
  virtual bool LSRWithInstrQueries() = 0;
1053
  virtual bool isTruncateFree(Type *Ty1, Type *Ty2) = 0;
1054
  virtual bool isProfitableToHoist(Instruction *I) = 0;
1055
  virtual bool useAA() = 0;
1056
  virtual bool isTypeLegal(Type *Ty) = 0;
1057
  virtual unsigned getJumpBufAlignment() = 0;
1058
  virtual unsigned getJumpBufSize() = 0;
1059
  virtual bool shouldBuildLookupTables() = 0;
1060
  virtual bool shouldBuildLookupTablesForConstant(Constant *C) = 0;
1061
  virtual bool useColdCCForColdCall(Function &F) = 0;
1062
  virtual unsigned
1063
  getScalarizationOverhead(Type *Ty, bool Insert, bool Extract) = 0;
1064
  virtual unsigned getOperandsScalarizationOverhead(ArrayRef<const Value *> Args,
1065
                                                    unsigned VF) = 0;
1066
  virtual bool supportsEfficientVectorElementLoadStore() = 0;
1067
  virtual bool enableAggressiveInterleaving(bool LoopHasReductions) = 0;
1068
  virtual const MemCmpExpansionOptions *enableMemCmpExpansion(
1069
      bool IsZeroCmp) const = 0;
1070
  virtual bool enableInterleavedAccessVectorization() = 0;
1071
  virtual bool isFPVectorizationPotentiallyUnsafe() = 0;
1072
  virtual bool allowsMisalignedMemoryAccesses(LLVMContext &Context,
1073
                                              unsigned BitWidth,
1074
                                              unsigned AddressSpace,
1075
                                              unsigned Alignment,
1076
                                              bool *Fast) = 0;
1077
  virtual PopcntSupportKind getPopcntSupport(unsigned IntTyWidthInBit) = 0;
1078
  virtual bool haveFastSqrt(Type *Ty) = 0;
1079
  virtual bool isFCmpOrdCheaperThanFCmpZero(Type *Ty) = 0;
1080
  virtual int getFPOpCost(Type *Ty) = 0;
1081
  virtual int getIntImmCodeSizeCost(unsigned Opc, unsigned Idx, const APInt &Imm,
1082
                                    Type *Ty) = 0;
1083
  virtual int getIntImmCost(const APInt &Imm, Type *Ty) = 0;
1084
  virtual int getIntImmCost(unsigned Opc, unsigned Idx, const APInt &Imm,
1085
                            Type *Ty) = 0;
1086
  virtual int getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
1087
                            Type *Ty) = 0;
1088
  virtual unsigned getNumberOfRegisters(bool Vector) = 0;
1089
  virtual unsigned getRegisterBitWidth(bool Vector) const = 0;
1090
  virtual unsigned getMinVectorRegisterBitWidth() = 0;
1091
  virtual bool shouldMaximizeVectorBandwidth(bool OptSize) const = 0;
1092
  virtual unsigned getMinimumVF(unsigned ElemWidth) const = 0;
1093
  virtual bool shouldConsiderAddressTypePromotion(
1094
      const Instruction &I, bool &AllowPromotionWithoutCommonHeader) = 0;
1095
  virtual unsigned getCacheLineSize() = 0;
1096
  virtual llvm::Optional<unsigned> getCacheSize(CacheLevel Level) = 0;
1097
  virtual llvm::Optional<unsigned> getCacheAssociativity(CacheLevel Level) = 0;
1098
  virtual unsigned getPrefetchDistance() = 0;
1099
  virtual unsigned getMinPrefetchStride() = 0;
1100
  virtual unsigned getMaxPrefetchIterationsAhead() = 0;
1101
  virtual unsigned getMaxInterleaveFactor(unsigned VF) = 0;
1102
  virtual unsigned
1103
  getArithmeticInstrCost(unsigned Opcode, Type *Ty, OperandValueKind Opd1Info,
1104
                         OperandValueKind Opd2Info,
1105
                         OperandValueProperties Opd1PropInfo,
1106
                         OperandValueProperties Opd2PropInfo,
1107
                         ArrayRef<const Value *> Args) = 0;
1108
  virtual int getShuffleCost(ShuffleKind Kind, Type *Tp, int Index,
1109
                             Type *SubTp) = 0;
1110
  virtual int getCastInstrCost(unsigned Opcode, Type *Dst, Type *Src,
1111
                               const Instruction *I) = 0;
1112
  virtual int getExtractWithExtendCost(unsigned Opcode, Type *Dst,
1113
                                       VectorType *VecTy, unsigned Index) = 0;
1114
  virtual int getCFInstrCost(unsigned Opcode) = 0;
1115
  virtual int getCmpSelInstrCost(unsigned Opcode, Type *ValTy,
1116
                                Type *CondTy, const Instruction *I) = 0;
1117
  virtual int getVectorInstrCost(unsigned Opcode, Type *Val,
1118
                                 unsigned Index) = 0;
1119
  virtual int getMemoryOpCost(unsigned Opcode, Type *Src, unsigned Alignment,
1120
                              unsigned AddressSpace, const Instruction *I) = 0;
1121
  virtual int getMaskedMemoryOpCost(unsigned Opcode, Type *Src,
1122
                                    unsigned Alignment,
1123
                                    unsigned AddressSpace) = 0;
1124
  virtual int getGatherScatterOpCost(unsigned Opcode, Type *DataTy,
1125
                                     Value *Ptr, bool VariableMask,
1126
                                     unsigned Alignment) = 0;
1127
  virtual int getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy,
1128
                                         unsigned Factor,
1129
                                         ArrayRef<unsigned> Indices,
1130
                                         unsigned Alignment,
1131
                                         unsigned AddressSpace) = 0;
1132
  virtual int getArithmeticReductionCost(unsigned Opcode, Type *Ty,
1133
                                         bool IsPairwiseForm) = 0;
1134
  virtual int getMinMaxReductionCost(Type *Ty, Type *CondTy,
1135
                                     bool IsPairwiseForm, bool IsUnsigned) = 0;
1136
  virtual int getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
1137
                      ArrayRef<Type *> Tys, FastMathFlags FMF,
1138
                      unsigned ScalarizationCostPassed) = 0;
1139
  virtual int getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
1140
         ArrayRef<Value *> Args, FastMathFlags FMF, unsigned VF) = 0;
1141
  virtual int getCallInstrCost(Function *F, Type *RetTy,
1142
                               ArrayRef<Type *> Tys) = 0;
1143
  virtual unsigned getNumberOfParts(Type *Tp) = 0;
1144
  virtual int getAddressComputationCost(Type *Ty, ScalarEvolution *SE,
1145
                                        const SCEV *Ptr) = 0;
1146
  virtual unsigned getCostOfKeepingLiveOverCall(ArrayRef<Type *> Tys) = 0;
1147
  virtual bool getTgtMemIntrinsic(IntrinsicInst *Inst,
1148
                                  MemIntrinsicInfo &Info) = 0;
1149
  virtual unsigned getAtomicMemIntrinsicMaxElementSize() const = 0;
1150
  virtual Value *getOrCreateResultFromMemIntrinsic(IntrinsicInst *Inst,
1151
                                                   Type *ExpectedType) = 0;
1152
  virtual Type *getMemcpyLoopLoweringType(LLVMContext &Context, Value *Length,
1153
                                          unsigned SrcAlign,
1154
                                          unsigned DestAlign) const = 0;
1155
  virtual void getMemcpyLoopResidualLoweringType(
1156
      SmallVectorImpl<Type *> &OpsOut, LLVMContext &Context,
1157
      unsigned RemainingBytes, unsigned SrcAlign, unsigned DestAlign) const = 0;
1158
  virtual bool areInlineCompatible(const Function *Caller,
1159
                                   const Function *Callee) const = 0;
1160
  virtual bool isIndexedLoadLegal(MemIndexedMode Mode, Type *Ty) const = 0;
1161
  virtual bool isIndexedStoreLegal(MemIndexedMode Mode,Type *Ty) const = 0;
1162
  virtual unsigned getLoadStoreVecRegBitWidth(unsigned AddrSpace) const = 0;
1163
  virtual bool isLegalToVectorizeLoad(LoadInst *LI) const = 0;
1164
  virtual bool isLegalToVectorizeStore(StoreInst *SI) const = 0;
1165
  virtual bool isLegalToVectorizeLoadChain(unsigned ChainSizeInBytes,
1166
                                           unsigned Alignment,
1167
                                           unsigned AddrSpace) const = 0;
1168
  virtual bool isLegalToVectorizeStoreChain(unsigned ChainSizeInBytes,
1169
                                            unsigned Alignment,
1170
                                            unsigned AddrSpace) const = 0;
1171
  virtual unsigned getLoadVectorFactor(unsigned VF, unsigned LoadSize,
1172
                                       unsigned ChainSizeInBytes,
1173
                                       VectorType *VecTy) const = 0;
1174
  virtual unsigned getStoreVectorFactor(unsigned VF, unsigned StoreSize,
1175
                                        unsigned ChainSizeInBytes,
1176
                                        VectorType *VecTy) const = 0;
1177
  virtual bool useReductionIntrinsic(unsigned Opcode, Type *Ty,
1178
                                     ReductionFlags) const = 0;
1179
  virtual bool shouldExpandReduction(const IntrinsicInst *II) const = 0;
1180
  virtual int getInstructionLatency(const Instruction *I) = 0;
1181
};
1182
1183
template <typename T>
1184
class TargetTransformInfo::Model final : public TargetTransformInfo::Concept {
1185
  T Impl;
1186
1187
public:
1188
14.7M
  Model(T Impl) : Impl(std::move(Impl)) {}
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::Model(llvm::AArch64TTIImpl)
Line
Count
Source
1188
12.3M
  Model(T Impl) : Impl(std::move(Impl)) {}
llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::Model(llvm::R600TTIImpl)
Line
Count
Source
1188
22
  Model(T Impl) : Impl(std::move(Impl)) {}
llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::Model(llvm::GCNTTIImpl)
Line
Count
Source
1188
26
  Model(T Impl) : Impl(std::move(Impl)) {}
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::Model(llvm::ARMTTIImpl)
Line
Count
Source
1188
575k
  Model(T Impl) : Impl(std::move(Impl)) {}
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::Model(llvm::HexagonTTIImpl)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::Model(llvm::LanaiTTIImpl)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::Model(llvm::BasicTTIImpl)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::Model(llvm::NVPTXTTIImpl)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::Model(llvm::PPCTTIImpl)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::Model(llvm::SystemZTTIImpl)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::Model(llvm::X86TTIImpl)
Line
Count
Source
1188
1.79M
  Model(T Impl) : Impl(std::move(Impl)) {}
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::Model(llvm::XCoreTTIImpl)
TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::Model((anonymous namespace)::NoTTIImpl)
Line
Count
Source
1188
73
  Model(T Impl) : Impl(std::move(Impl)) {}
1189
14.7M
  ~Model() override {}
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::~Model()
Line
Count
Source
1189
12.3M
  ~Model() override {}
llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::~Model()
Line
Count
Source
1189
22
  ~Model() override {}
llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::~Model()
Line
Count
Source
1189
26
  ~Model() override {}
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::~Model()
Line
Count
Source
1189
575k
  ~Model() override {}
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::~Model()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::~Model()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::~Model()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::~Model()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::~Model()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::~Model()
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::~Model()
Line
Count
Source
1189
1.79M
  ~Model() override {}
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::~Model()
TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::~Model()
Line
Count
Source
1189
73
  ~Model() override {}
1190
1191
0
  const DataLayout &getDataLayout() const override {
1192
0
    return Impl.getDataLayout();
1193
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getDataLayout() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getDataLayout() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getDataLayout() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getDataLayout() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getDataLayout() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getDataLayout() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getDataLayout() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getDataLayout() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getDataLayout() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getDataLayout() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getDataLayout() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getDataLayout() const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getDataLayout() const
1194
1195
0
  int getOperationCost(unsigned Opcode, Type *Ty, Type *OpTy) override {
1196
0
    return Impl.getOperationCost(Opcode, Ty, OpTy);
1197
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getOperationCost(unsigned int, llvm::Type*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getOperationCost(unsigned int, llvm::Type*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getOperationCost(unsigned int, llvm::Type*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getOperationCost(unsigned int, llvm::Type*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getOperationCost(unsigned int, llvm::Type*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getOperationCost(unsigned int, llvm::Type*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getOperationCost(unsigned int, llvm::Type*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getOperationCost(unsigned int, llvm::Type*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getOperationCost(unsigned int, llvm::Type*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getOperationCost(unsigned int, llvm::Type*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getOperationCost(unsigned int, llvm::Type*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getOperationCost(unsigned int, llvm::Type*, llvm::Type*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getOperationCost(unsigned int, llvm::Type*, llvm::Type*)
1198
  int getGEPCost(Type *PointeeType, const Value *Ptr,
1199
0
                 ArrayRef<const Value *> Operands) override {
1200
0
    return Impl.getGEPCost(PointeeType, Ptr, Operands);
1201
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getGEPCost(llvm::Type*, llvm::Value const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getGEPCost(llvm::Type*, llvm::Value const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getGEPCost(llvm::Type*, llvm::Value const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getGEPCost(llvm::Type*, llvm::Value const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getGEPCost(llvm::Type*, llvm::Value const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getGEPCost(llvm::Type*, llvm::Value const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getGEPCost(llvm::Type*, llvm::Value const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getGEPCost(llvm::Type*, llvm::Value const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getGEPCost(llvm::Type*, llvm::Value const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getGEPCost(llvm::Type*, llvm::Value const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getGEPCost(llvm::Type*, llvm::Value const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getGEPCost(llvm::Type*, llvm::Value const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getGEPCost(llvm::Type*, llvm::Value const*, llvm::ArrayRef<llvm::Value const*>)
1202
0
  int getExtCost(const Instruction *I, const Value *Src) override {
1203
0
    return Impl.getExtCost(I, Src);
1204
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getExtCost(llvm::Instruction const*, llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getExtCost(llvm::Instruction const*, llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getExtCost(llvm::Instruction const*, llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getExtCost(llvm::Instruction const*, llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getExtCost(llvm::Instruction const*, llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getExtCost(llvm::Instruction const*, llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getExtCost(llvm::Instruction const*, llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getExtCost(llvm::Instruction const*, llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getExtCost(llvm::Instruction const*, llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getExtCost(llvm::Instruction const*, llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getExtCost(llvm::Instruction const*, llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getExtCost(llvm::Instruction const*, llvm::Value const*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getExtCost(llvm::Instruction const*, llvm::Value const*)
1205
0
  int getCallCost(FunctionType *FTy, int NumArgs) override {
1206
0
    return Impl.getCallCost(FTy, NumArgs);
1207
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getCallCost(llvm::FunctionType*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getCallCost(llvm::FunctionType*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getCallCost(llvm::FunctionType*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getCallCost(llvm::FunctionType*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getCallCost(llvm::FunctionType*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getCallCost(llvm::FunctionType*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getCallCost(llvm::FunctionType*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getCallCost(llvm::FunctionType*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getCallCost(llvm::FunctionType*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getCallCost(llvm::FunctionType*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getCallCost(llvm::FunctionType*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getCallCost(llvm::FunctionType*, int)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getCallCost(llvm::FunctionType*, int)
1208
0
  int getCallCost(const Function *F, int NumArgs) override {
1209
0
    return Impl.getCallCost(F, NumArgs);
1210
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getCallCost(llvm::Function const*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getCallCost(llvm::Function const*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getCallCost(llvm::Function const*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getCallCost(llvm::Function const*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getCallCost(llvm::Function const*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getCallCost(llvm::Function const*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getCallCost(llvm::Function const*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getCallCost(llvm::Function const*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getCallCost(llvm::Function const*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getCallCost(llvm::Function const*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getCallCost(llvm::Function const*, int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getCallCost(llvm::Function const*, int)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getCallCost(llvm::Function const*, int)
1211
  int getCallCost(const Function *F,
1212
0
                  ArrayRef<const Value *> Arguments) override {
1213
0
    return Impl.getCallCost(F, Arguments);
1214
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getCallCost(llvm::Function const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getCallCost(llvm::Function const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getCallCost(llvm::Function const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getCallCost(llvm::Function const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getCallCost(llvm::Function const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getCallCost(llvm::Function const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getCallCost(llvm::Function const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getCallCost(llvm::Function const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getCallCost(llvm::Function const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getCallCost(llvm::Function const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getCallCost(llvm::Function const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getCallCost(llvm::Function const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getCallCost(llvm::Function const*, llvm::ArrayRef<llvm::Value const*>)
1215
800k
  unsigned getInliningThresholdMultiplier() override {
1216
800k
    return Impl.getInliningThresholdMultiplier();
1217
800k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getInliningThresholdMultiplier()
Line
Count
Source
1215
520k
  unsigned getInliningThresholdMultiplier() override {
1216
520k
    return Impl.getInliningThresholdMultiplier();
1217
520k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getInliningThresholdMultiplier()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getInliningThresholdMultiplier()
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getInliningThresholdMultiplier()
Line
Count
Source
1215
76.3k
  unsigned getInliningThresholdMultiplier() override {
1216
76.3k
    return Impl.getInliningThresholdMultiplier();
1217
76.3k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getInliningThresholdMultiplier()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getInliningThresholdMultiplier()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getInliningThresholdMultiplier()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getInliningThresholdMultiplier()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getInliningThresholdMultiplier()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getInliningThresholdMultiplier()
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getInliningThresholdMultiplier()
Line
Count
Source
1215
203k
  unsigned getInliningThresholdMultiplier() override {
1216
203k
    return Impl.getInliningThresholdMultiplier();
1217
203k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getInliningThresholdMultiplier()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getInliningThresholdMultiplier()
1218
  int getIntrinsicCost(Intrinsic::ID IID, Type *RetTy,
1219
0
                       ArrayRef<Type *> ParamTys) override {
1220
0
    return Impl.getIntrinsicCost(IID, RetTy, ParamTys);
1221
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
1222
  int getIntrinsicCost(Intrinsic::ID IID, Type *RetTy,
1223
0
                       ArrayRef<const Value *> Arguments) override {
1224
0
    return Impl.getIntrinsicCost(IID, RetTy, Arguments);
1225
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getIntrinsicCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value const*>)
1226
44.5M
  int getUserCost(const User *U, ArrayRef<const Value *> Operands) override {
1227
44.5M
    return Impl.getUserCost(U, Operands);
1228
44.5M
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getUserCost(llvm::User const*, llvm::ArrayRef<llvm::Value const*>)
Line
Count
Source
1226
39.6M
  int getUserCost(const User *U, ArrayRef<const Value *> Operands) override {
1227
39.6M
    return Impl.getUserCost(U, Operands);
1228
39.6M
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getUserCost(llvm::User const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getUserCost(llvm::User const*, llvm::ArrayRef<llvm::Value const*>)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getUserCost(llvm::User const*, llvm::ArrayRef<llvm::Value const*>)
Line
Count
Source
1226
1.17M
  int getUserCost(const User *U, ArrayRef<const Value *> Operands) override {
1227
1.17M
    return Impl.getUserCost(U, Operands);
1228
1.17M
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getUserCost(llvm::User const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getUserCost(llvm::User const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getUserCost(llvm::User const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getUserCost(llvm::User const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getUserCost(llvm::User const*, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getUserCost(llvm::User const*, llvm::ArrayRef<llvm::Value const*>)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getUserCost(llvm::User const*, llvm::ArrayRef<llvm::Value const*>)
Line
Count
Source
1226
3.76M
  int getUserCost(const User *U, ArrayRef<const Value *> Operands) override {
1227
3.76M
    return Impl.getUserCost(U, Operands);
1228
3.76M
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getUserCost(llvm::User const*, llvm::ArrayRef<llvm::Value const*>)
TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getUserCost(llvm::User const*, llvm::ArrayRef<llvm::Value const*>)
Line
Count
Source
1226
113
  int getUserCost(const User *U, ArrayRef<const Value *> Operands) override {
1227
113
    return Impl.getUserCost(U, Operands);
1228
113
  }
1229
7.08M
  bool hasBranchDivergence() override { return Impl.hasBranchDivergence(); }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::hasBranchDivergence()
Line
Count
Source
1229
5.33M
  bool hasBranchDivergence() override { return Impl.hasBranchDivergence(); }
llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::hasBranchDivergence()
Line
Count
Source
1229
5
  bool hasBranchDivergence() override { return Impl.hasBranchDivergence(); }
llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::hasBranchDivergence()
Line
Count
Source
1229
9
  bool hasBranchDivergence() override { return Impl.hasBranchDivergence(); }
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::hasBranchDivergence()
Line
Count
Source
1229
428k
  bool hasBranchDivergence() override { return Impl.hasBranchDivergence(); }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::hasBranchDivergence()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::hasBranchDivergence()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::hasBranchDivergence()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::hasBranchDivergence()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::hasBranchDivergence()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::hasBranchDivergence()
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::hasBranchDivergence()
Line
Count
Source
1229
1.31M
  bool hasBranchDivergence() override { return Impl.hasBranchDivergence(); }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::hasBranchDivergence()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::hasBranchDivergence()
1230
5
  bool isSourceOfDivergence(const Value *V) override {
1231
5
    return Impl.isSourceOfDivergence(V);
1232
5
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isSourceOfDivergence(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isSourceOfDivergence(llvm::Value const*)
llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isSourceOfDivergence(llvm::Value const*)
Line
Count
Source
1230
5
  bool isSourceOfDivergence(const Value *V) override {
1231
5
    return Impl.isSourceOfDivergence(V);
1232
5
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isSourceOfDivergence(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isSourceOfDivergence(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isSourceOfDivergence(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isSourceOfDivergence(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isSourceOfDivergence(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isSourceOfDivergence(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isSourceOfDivergence(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isSourceOfDivergence(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isSourceOfDivergence(llvm::Value const*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isSourceOfDivergence(llvm::Value const*)
1233
1234
0
  bool isAlwaysUniform(const Value *V) override {
1235
0
    return Impl.isAlwaysUniform(V);
1236
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isAlwaysUniform(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isAlwaysUniform(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isAlwaysUniform(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isAlwaysUniform(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isAlwaysUniform(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isAlwaysUniform(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isAlwaysUniform(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isAlwaysUniform(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isAlwaysUniform(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isAlwaysUniform(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isAlwaysUniform(llvm::Value const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isAlwaysUniform(llvm::Value const*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isAlwaysUniform(llvm::Value const*)
1237
1238
2
  unsigned getFlatAddressSpace() override {
1239
2
    return Impl.getFlatAddressSpace();
1240
2
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getFlatAddressSpace()
llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getFlatAddressSpace()
Line
Count
Source
1238
1
  unsigned getFlatAddressSpace() override {
1239
1
    return Impl.getFlatAddressSpace();
1240
1
  }
llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getFlatAddressSpace()
Line
Count
Source
1238
1
  unsigned getFlatAddressSpace() override {
1239
1
    return Impl.getFlatAddressSpace();
1240
1
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getFlatAddressSpace()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getFlatAddressSpace()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getFlatAddressSpace()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getFlatAddressSpace()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getFlatAddressSpace()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getFlatAddressSpace()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getFlatAddressSpace()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getFlatAddressSpace()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getFlatAddressSpace()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getFlatAddressSpace()
1241
1242
4.53M
  bool isLoweredToCall(const Function *F) override {
1243
4.53M
    return Impl.isLoweredToCall(F);
1244
4.53M
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isLoweredToCall(llvm::Function const*)
Line
Count
Source
1242
3.39M
  bool isLoweredToCall(const Function *F) override {
1243
3.39M
    return Impl.isLoweredToCall(F);
1244
3.39M
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isLoweredToCall(llvm::Function const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isLoweredToCall(llvm::Function const*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isLoweredToCall(llvm::Function const*)
Line
Count
Source
1242
319k
  bool isLoweredToCall(const Function *F) override {
1243
319k
    return Impl.isLoweredToCall(F);
1244
319k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isLoweredToCall(llvm::Function const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isLoweredToCall(llvm::Function const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isLoweredToCall(llvm::Function const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isLoweredToCall(llvm::Function const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isLoweredToCall(llvm::Function const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isLoweredToCall(llvm::Function const*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isLoweredToCall(llvm::Function const*)
Line
Count
Source
1242
824k
  bool isLoweredToCall(const Function *F) override {
1243
824k
    return Impl.isLoweredToCall(F);
1244
824k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isLoweredToCall(llvm::Function const*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isLoweredToCall(llvm::Function const*)
1245
  void getUnrollingPreferences(Loop *L, ScalarEvolution &SE,
1246
387k
                               UnrollingPreferences &UP) override {
1247
387k
    return Impl.getUnrollingPreferences(L, SE, UP);
1248
387k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&)
Line
Count
Source
1246
357k
                               UnrollingPreferences &UP) override {
1247
357k
    return Impl.getUnrollingPreferences(L, SE, UP);
1248
357k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&)
Line
Count
Source
1246
6.80k
                               UnrollingPreferences &UP) override {
1247
6.80k
    return Impl.getUnrollingPreferences(L, SE, UP);
1248
6.80k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&)
Line
Count
Source
1246
22.7k
                               UnrollingPreferences &UP) override {
1247
22.7k
    return Impl.getUnrollingPreferences(L, SE, UP);
1248
22.7k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getUnrollingPreferences(llvm::Loop*, llvm::ScalarEvolution&, llvm::TargetTransformInfo::UnrollingPreferences&)
1249
2.61M
  bool isLegalAddImmediate(int64_t Imm) override {
1250
2.61M
    return Impl.isLegalAddImmediate(Imm);
1251
2.61M
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isLegalAddImmediate(long long)
Line
Count
Source
1249
2.55M
  bool isLegalAddImmediate(int64_t Imm) override {
1250
2.55M
    return Impl.isLegalAddImmediate(Imm);
1251
2.55M
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isLegalAddImmediate(long long)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isLegalAddImmediate(long long)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isLegalAddImmediate(long long)
Line
Count
Source
1249
23.0k
  bool isLegalAddImmediate(int64_t Imm) override {
1250
23.0k
    return Impl.isLegalAddImmediate(Imm);
1251
23.0k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isLegalAddImmediate(long long)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isLegalAddImmediate(long long)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isLegalAddImmediate(long long)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isLegalAddImmediate(long long)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isLegalAddImmediate(long long)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isLegalAddImmediate(long long)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isLegalAddImmediate(long long)
Line
Count
Source
1249
34.9k
  bool isLegalAddImmediate(int64_t Imm) override {
1250
34.9k
    return Impl.isLegalAddImmediate(Imm);
1251
34.9k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isLegalAddImmediate(long long)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isLegalAddImmediate(long long)
1252
522k
  bool isLegalICmpImmediate(int64_t Imm) override {
1253
522k
    return Impl.isLegalICmpImmediate(Imm);
1254
522k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isLegalICmpImmediate(long long)
Line
Count
Source
1252
450k
  bool isLegalICmpImmediate(int64_t Imm) override {
1253
450k
    return Impl.isLegalICmpImmediate(Imm);
1254
450k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isLegalICmpImmediate(long long)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isLegalICmpImmediate(long long)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isLegalICmpImmediate(long long)
Line
Count
Source
1252
9.58k
  bool isLegalICmpImmediate(int64_t Imm) override {
1253
9.58k
    return Impl.isLegalICmpImmediate(Imm);
1254
9.58k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isLegalICmpImmediate(long long)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isLegalICmpImmediate(long long)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isLegalICmpImmediate(long long)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isLegalICmpImmediate(long long)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isLegalICmpImmediate(long long)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isLegalICmpImmediate(long long)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isLegalICmpImmediate(long long)
Line
Count
Source
1252
61.5k
  bool isLegalICmpImmediate(int64_t Imm) override {
1253
61.5k
    return Impl.isLegalICmpImmediate(Imm);
1254
61.5k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isLegalICmpImmediate(long long)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isLegalICmpImmediate(long long)
1255
  bool isLegalAddressingMode(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset,
1256
                             bool HasBaseReg, int64_t Scale,
1257
                             unsigned AddrSpace,
1258
49.5M
                             Instruction *I) override {
1259
49.5M
    return Impl.isLegalAddressingMode(Ty, BaseGV, BaseOffset, HasBaseReg,
1260
49.5M
                                      Scale, AddrSpace, I);
1261
49.5M
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isLegalAddressingMode(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int, llvm::Instruction*)
Line
Count
Source
1258
45.5M
                             Instruction *I) override {
1259
45.5M
    return Impl.isLegalAddressingMode(Ty, BaseGV, BaseOffset, HasBaseReg,
1260
45.5M
                                      Scale, AddrSpace, I);
1261
45.5M
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isLegalAddressingMode(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int, llvm::Instruction*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isLegalAddressingMode(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int, llvm::Instruction*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isLegalAddressingMode(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int, llvm::Instruction*)
Line
Count
Source
1258
334k
                             Instruction *I) override {
1259
334k
    return Impl.isLegalAddressingMode(Ty, BaseGV, BaseOffset, HasBaseReg,
1260
334k
                                      Scale, AddrSpace, I);
1261
334k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isLegalAddressingMode(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int, llvm::Instruction*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isLegalAddressingMode(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int, llvm::Instruction*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isLegalAddressingMode(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int, llvm::Instruction*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isLegalAddressingMode(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int, llvm::Instruction*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isLegalAddressingMode(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int, llvm::Instruction*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isLegalAddressingMode(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int, llvm::Instruction*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isLegalAddressingMode(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int, llvm::Instruction*)
Line
Count
Source
1258
3.67M
                             Instruction *I) override {
1259
3.67M
    return Impl.isLegalAddressingMode(Ty, BaseGV, BaseOffset, HasBaseReg,
1260
3.67M
                                      Scale, AddrSpace, I);
1261
3.67M
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isLegalAddressingMode(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int, llvm::Instruction*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isLegalAddressingMode(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int, llvm::Instruction*)
1262
  bool isLSRCostLess(TargetTransformInfo::LSRCost &C1,
1263
4.18M
                     TargetTransformInfo::LSRCost &C2) override {
1264
4.18M
    return Impl.isLSRCostLess(C1, C2);
1265
4.18M
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isLSRCostLess(llvm::TargetTransformInfo::LSRCost&, llvm::TargetTransformInfo::LSRCost&)
Line
Count
Source
1263
3.76M
                     TargetTransformInfo::LSRCost &C2) override {
1264
3.76M
    return Impl.isLSRCostLess(C1, C2);
1265
3.76M
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isLSRCostLess(llvm::TargetTransformInfo::LSRCost&, llvm::TargetTransformInfo::LSRCost&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isLSRCostLess(llvm::TargetTransformInfo::LSRCost&, llvm::TargetTransformInfo::LSRCost&)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isLSRCostLess(llvm::TargetTransformInfo::LSRCost&, llvm::TargetTransformInfo::LSRCost&)
Line
Count
Source
1263
55.4k
                     TargetTransformInfo::LSRCost &C2) override {
1264
55.4k
    return Impl.isLSRCostLess(C1, C2);
1265
55.4k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isLSRCostLess(llvm::TargetTransformInfo::LSRCost&, llvm::TargetTransformInfo::LSRCost&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isLSRCostLess(llvm::TargetTransformInfo::LSRCost&, llvm::TargetTransformInfo::LSRCost&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isLSRCostLess(llvm::TargetTransformInfo::LSRCost&, llvm::TargetTransformInfo::LSRCost&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isLSRCostLess(llvm::TargetTransformInfo::LSRCost&, llvm::TargetTransformInfo::LSRCost&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isLSRCostLess(llvm::TargetTransformInfo::LSRCost&, llvm::TargetTransformInfo::LSRCost&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isLSRCostLess(llvm::TargetTransformInfo::LSRCost&, llvm::TargetTransformInfo::LSRCost&)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isLSRCostLess(llvm::TargetTransformInfo::LSRCost&, llvm::TargetTransformInfo::LSRCost&)
Line
Count
Source
1263
361k
                     TargetTransformInfo::LSRCost &C2) override {
1264
361k
    return Impl.isLSRCostLess(C1, C2);
1265
361k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isLSRCostLess(llvm::TargetTransformInfo::LSRCost&, llvm::TargetTransformInfo::LSRCost&)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isLSRCostLess(llvm::TargetTransformInfo::LSRCost&, llvm::TargetTransformInfo::LSRCost&)
1266
781k
  bool canMacroFuseCmp() override {
1267
781k
    return Impl.canMacroFuseCmp();
1268
781k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::canMacroFuseCmp()
Line
Count
Source
1266
668k
  bool canMacroFuseCmp() override {
1267
668k
    return Impl.canMacroFuseCmp();
1268
668k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::canMacroFuseCmp()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::canMacroFuseCmp()
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::canMacroFuseCmp()
Line
Count
Source
1266
16.2k
  bool canMacroFuseCmp() override {
1267
16.2k
    return Impl.canMacroFuseCmp();
1268
16.2k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::canMacroFuseCmp()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::canMacroFuseCmp()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::canMacroFuseCmp()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::canMacroFuseCmp()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::canMacroFuseCmp()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::canMacroFuseCmp()
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::canMacroFuseCmp()
Line
Count
Source
1266
96.3k
  bool canMacroFuseCmp() override {
1267
96.3k
    return Impl.canMacroFuseCmp();
1268
96.3k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::canMacroFuseCmp()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::canMacroFuseCmp()
1269
11.9M
  bool shouldFavorPostInc() const override {
1270
11.9M
    return Impl.shouldFavorPostInc();
1271
11.9M
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::shouldFavorPostInc() const
Line
Count
Source
1269
11.0M
  bool shouldFavorPostInc() const override {
1270
11.0M
    return Impl.shouldFavorPostInc();
1271
11.0M
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::shouldFavorPostInc() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::shouldFavorPostInc() const
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::shouldFavorPostInc() const
Line
Count
Source
1269
142k
  bool shouldFavorPostInc() const override {
1270
142k
    return Impl.shouldFavorPostInc();
1271
142k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::shouldFavorPostInc() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::shouldFavorPostInc() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::shouldFavorPostInc() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::shouldFavorPostInc() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::shouldFavorPostInc() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::shouldFavorPostInc() const
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::shouldFavorPostInc() const
Line
Count
Source
1269
745k
  bool shouldFavorPostInc() const override {
1270
745k
    return Impl.shouldFavorPostInc();
1271
745k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::shouldFavorPostInc() const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::shouldFavorPostInc() const
1272
2.43k
  bool isLegalMaskedStore(Type *DataType) override {
1273
2.43k
    return Impl.isLegalMaskedStore(DataType);
1274
2.43k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isLegalMaskedStore(llvm::Type*)
Line
Count
Source
1272
1.92k
  bool isLegalMaskedStore(Type *DataType) override {
1273
1.92k
    return Impl.isLegalMaskedStore(DataType);
1274
1.92k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isLegalMaskedStore(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isLegalMaskedStore(llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isLegalMaskedStore(llvm::Type*)
Line
Count
Source
1272
252
  bool isLegalMaskedStore(Type *DataType) override {
1273
252
    return Impl.isLegalMaskedStore(DataType);
1274
252
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isLegalMaskedStore(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isLegalMaskedStore(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isLegalMaskedStore(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isLegalMaskedStore(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isLegalMaskedStore(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isLegalMaskedStore(llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isLegalMaskedStore(llvm::Type*)
Line
Count
Source
1272
264
  bool isLegalMaskedStore(Type *DataType) override {
1273
264
    return Impl.isLegalMaskedStore(DataType);
1274
264
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isLegalMaskedStore(llvm::Type*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isLegalMaskedStore(llvm::Type*)
1275
1.35k
  bool isLegalMaskedLoad(Type *DataType) override {
1276
1.35k
    return Impl.isLegalMaskedLoad(DataType);
1277
1.35k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isLegalMaskedLoad(llvm::Type*)
Line
Count
Source
1275
1.31k
  bool isLegalMaskedLoad(Type *DataType) override {
1276
1.31k
    return Impl.isLegalMaskedLoad(DataType);
1277
1.31k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isLegalMaskedLoad(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isLegalMaskedLoad(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isLegalMaskedLoad(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isLegalMaskedLoad(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isLegalMaskedLoad(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isLegalMaskedLoad(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isLegalMaskedLoad(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isLegalMaskedLoad(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isLegalMaskedLoad(llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isLegalMaskedLoad(llvm::Type*)
Line
Count
Source
1275
42
  bool isLegalMaskedLoad(Type *DataType) override {
1276
42
    return Impl.isLegalMaskedLoad(DataType);
1277
42
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isLegalMaskedLoad(llvm::Type*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isLegalMaskedLoad(llvm::Type*)
1278
9.18k
  bool isLegalMaskedScatter(Type *DataType) override {
1279
9.18k
    return Impl.isLegalMaskedScatter(DataType);
1280
9.18k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isLegalMaskedScatter(llvm::Type*)
Line
Count
Source
1278
7.69k
  bool isLegalMaskedScatter(Type *DataType) override {
1279
7.69k
    return Impl.isLegalMaskedScatter(DataType);
1280
7.69k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isLegalMaskedScatter(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isLegalMaskedScatter(llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isLegalMaskedScatter(llvm::Type*)
Line
Count
Source
1278
576
  bool isLegalMaskedScatter(Type *DataType) override {
1279
576
    return Impl.isLegalMaskedScatter(DataType);
1280
576
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isLegalMaskedScatter(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isLegalMaskedScatter(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isLegalMaskedScatter(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isLegalMaskedScatter(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isLegalMaskedScatter(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isLegalMaskedScatter(llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isLegalMaskedScatter(llvm::Type*)
Line
Count
Source
1278
918
  bool isLegalMaskedScatter(Type *DataType) override {
1279
918
    return Impl.isLegalMaskedScatter(DataType);
1280
918
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isLegalMaskedScatter(llvm::Type*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isLegalMaskedScatter(llvm::Type*)
1281
12.3k
  bool isLegalMaskedGather(Type *DataType) override {
1282
12.3k
    return Impl.isLegalMaskedGather(DataType);
1283
12.3k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isLegalMaskedGather(llvm::Type*)
Line
Count
Source
1281
12.1k
  bool isLegalMaskedGather(Type *DataType) override {
1282
12.1k
    return Impl.isLegalMaskedGather(DataType);
1283
12.1k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isLegalMaskedGather(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isLegalMaskedGather(llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isLegalMaskedGather(llvm::Type*)
Line
Count
Source
1281
3
  bool isLegalMaskedGather(Type *DataType) override {
1282
3
    return Impl.isLegalMaskedGather(DataType);
1283
3
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isLegalMaskedGather(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isLegalMaskedGather(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isLegalMaskedGather(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isLegalMaskedGather(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isLegalMaskedGather(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isLegalMaskedGather(llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isLegalMaskedGather(llvm::Type*)
Line
Count
Source
1281
255
  bool isLegalMaskedGather(Type *DataType) override {
1282
255
    return Impl.isLegalMaskedGather(DataType);
1283
255
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isLegalMaskedGather(llvm::Type*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isLegalMaskedGather(llvm::Type*)
1284
1.29k
  bool hasDivRemOp(Type *DataType, bool IsSigned) override {
1285
1.29k
    return Impl.hasDivRemOp(DataType, IsSigned);
1286
1.29k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::hasDivRemOp(llvm::Type*, bool)
Line
Count
Source
1284
1.15k
  bool hasDivRemOp(Type *DataType, bool IsSigned) override {
1285
1.15k
    return Impl.hasDivRemOp(DataType, IsSigned);
1286
1.15k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::hasDivRemOp(llvm::Type*, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::hasDivRemOp(llvm::Type*, bool)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::hasDivRemOp(llvm::Type*, bool)
Line
Count
Source
1284
50
  bool hasDivRemOp(Type *DataType, bool IsSigned) override {
1285
50
    return Impl.hasDivRemOp(DataType, IsSigned);
1286
50
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::hasDivRemOp(llvm::Type*, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::hasDivRemOp(llvm::Type*, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::hasDivRemOp(llvm::Type*, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::hasDivRemOp(llvm::Type*, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::hasDivRemOp(llvm::Type*, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::hasDivRemOp(llvm::Type*, bool)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::hasDivRemOp(llvm::Type*, bool)
Line
Count
Source
1284
90
  bool hasDivRemOp(Type *DataType, bool IsSigned) override {
1285
90
    return Impl.hasDivRemOp(DataType, IsSigned);
1286
90
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::hasDivRemOp(llvm::Type*, bool)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::hasDivRemOp(llvm::Type*, bool)
1287
0
  bool hasVolatileVariant(Instruction *I, unsigned AddrSpace) override {
1288
0
    return Impl.hasVolatileVariant(I, AddrSpace);
1289
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::hasVolatileVariant(llvm::Instruction*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::hasVolatileVariant(llvm::Instruction*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::hasVolatileVariant(llvm::Instruction*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::hasVolatileVariant(llvm::Instruction*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::hasVolatileVariant(llvm::Instruction*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::hasVolatileVariant(llvm::Instruction*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::hasVolatileVariant(llvm::Instruction*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::hasVolatileVariant(llvm::Instruction*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::hasVolatileVariant(llvm::Instruction*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::hasVolatileVariant(llvm::Instruction*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::hasVolatileVariant(llvm::Instruction*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::hasVolatileVariant(llvm::Instruction*, unsigned int)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::hasVolatileVariant(llvm::Instruction*, unsigned int)
1290
30.2k
  bool prefersVectorizedAddressing() override {
1291
30.2k
    return Impl.prefersVectorizedAddressing();
1292
30.2k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::prefersVectorizedAddressing()
Line
Count
Source
1290
27.1k
  bool prefersVectorizedAddressing() override {
1291
27.1k
    return Impl.prefersVectorizedAddressing();
1292
27.1k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::prefersVectorizedAddressing()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::prefersVectorizedAddressing()
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::prefersVectorizedAddressing()
Line
Count
Source
1290
888
  bool prefersVectorizedAddressing() override {
1291
888
    return Impl.prefersVectorizedAddressing();
1292
888
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::prefersVectorizedAddressing()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::prefersVectorizedAddressing()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::prefersVectorizedAddressing()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::prefersVectorizedAddressing()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::prefersVectorizedAddressing()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::prefersVectorizedAddressing()
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::prefersVectorizedAddressing()
Line
Count
Source
1290
2.23k
  bool prefersVectorizedAddressing() override {
1291
2.23k
    return Impl.prefersVectorizedAddressing();
1292
2.23k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::prefersVectorizedAddressing()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::prefersVectorizedAddressing()
1293
  int getScalingFactorCost(Type *Ty, GlobalValue *BaseGV, int64_t BaseOffset,
1294
                           bool HasBaseReg, int64_t Scale,
1295
5.56M
                           unsigned AddrSpace) override {
1296
5.56M
    return Impl.getScalingFactorCost(Ty, BaseGV, BaseOffset, HasBaseReg,
1297
5.56M
                                     Scale, AddrSpace);
1298
5.56M
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getScalingFactorCost(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int)
Line
Count
Source
1295
4.83M
                           unsigned AddrSpace) override {
1296
4.83M
    return Impl.getScalingFactorCost(Ty, BaseGV, BaseOffset, HasBaseReg,
1297
4.83M
                                     Scale, AddrSpace);
1298
4.83M
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getScalingFactorCost(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getScalingFactorCost(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getScalingFactorCost(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int)
Line
Count
Source
1295
56.9k
                           unsigned AddrSpace) override {
1296
56.9k
    return Impl.getScalingFactorCost(Ty, BaseGV, BaseOffset, HasBaseReg,
1297
56.9k
                                     Scale, AddrSpace);
1298
56.9k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getScalingFactorCost(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getScalingFactorCost(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getScalingFactorCost(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getScalingFactorCost(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getScalingFactorCost(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getScalingFactorCost(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getScalingFactorCost(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int)
Line
Count
Source
1295
679k
                           unsigned AddrSpace) override {
1296
679k
    return Impl.getScalingFactorCost(Ty, BaseGV, BaseOffset, HasBaseReg,
1297
679k
                                     Scale, AddrSpace);
1298
679k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getScalingFactorCost(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getScalingFactorCost(llvm::Type*, llvm::GlobalValue*, long long, bool, long long, unsigned int)
1299
4.18M
  bool LSRWithInstrQueries() override {
1300
4.18M
    return Impl.LSRWithInstrQueries();
1301
4.18M
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::LSRWithInstrQueries()
Line
Count
Source
1299
3.77M
  bool LSRWithInstrQueries() override {
1300
3.77M
    return Impl.LSRWithInstrQueries();
1301
3.77M
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::LSRWithInstrQueries()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::LSRWithInstrQueries()
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::LSRWithInstrQueries()
Line
Count
Source
1299
49.4k
  bool LSRWithInstrQueries() override {
1300
49.4k
    return Impl.LSRWithInstrQueries();
1301
49.4k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::LSRWithInstrQueries()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::LSRWithInstrQueries()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::LSRWithInstrQueries()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::LSRWithInstrQueries()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::LSRWithInstrQueries()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::LSRWithInstrQueries()
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::LSRWithInstrQueries()
Line
Count
Source
1299
358k
  bool LSRWithInstrQueries() override {
1300
358k
    return Impl.LSRWithInstrQueries();
1301
358k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::LSRWithInstrQueries()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::LSRWithInstrQueries()
1302
1.37M
  bool isTruncateFree(Type *Ty1, Type *Ty2) override {
1303
1.37M
    return Impl.isTruncateFree(Ty1, Ty2);
1304
1.37M
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isTruncateFree(llvm::Type*, llvm::Type*)
Line
Count
Source
1302
1.35M
  bool isTruncateFree(Type *Ty1, Type *Ty2) override {
1303
1.35M
    return Impl.isTruncateFree(Ty1, Ty2);
1304
1.35M
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isTruncateFree(llvm::Type*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isTruncateFree(llvm::Type*, llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isTruncateFree(llvm::Type*, llvm::Type*)
Line
Count
Source
1302
3.31k
  bool isTruncateFree(Type *Ty1, Type *Ty2) override {
1303
3.31k
    return Impl.isTruncateFree(Ty1, Ty2);
1304
3.31k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isTruncateFree(llvm::Type*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isTruncateFree(llvm::Type*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isTruncateFree(llvm::Type*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isTruncateFree(llvm::Type*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isTruncateFree(llvm::Type*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isTruncateFree(llvm::Type*, llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isTruncateFree(llvm::Type*, llvm::Type*)
Line
Count
Source
1302
18.3k
  bool isTruncateFree(Type *Ty1, Type *Ty2) override {
1303
18.3k
    return Impl.isTruncateFree(Ty1, Ty2);
1304
18.3k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isTruncateFree(llvm::Type*, llvm::Type*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isTruncateFree(llvm::Type*, llvm::Type*)
1305
121k
  bool isProfitableToHoist(Instruction *I) override {
1306
121k
    return Impl.isProfitableToHoist(I);
1307
121k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isProfitableToHoist(llvm::Instruction*)
Line
Count
Source
1305
76.6k
  bool isProfitableToHoist(Instruction *I) override {
1306
76.6k
    return Impl.isProfitableToHoist(I);
1307
76.6k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isProfitableToHoist(llvm::Instruction*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isProfitableToHoist(llvm::Instruction*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isProfitableToHoist(llvm::Instruction*)
Line
Count
Source
1305
8.67k
  bool isProfitableToHoist(Instruction *I) override {
1306
8.67k
    return Impl.isProfitableToHoist(I);
1307
8.67k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isProfitableToHoist(llvm::Instruction*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isProfitableToHoist(llvm::Instruction*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isProfitableToHoist(llvm::Instruction*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isProfitableToHoist(llvm::Instruction*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isProfitableToHoist(llvm::Instruction*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isProfitableToHoist(llvm::Instruction*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isProfitableToHoist(llvm::Instruction*)
Line
Count
Source
1305
35.7k
  bool isProfitableToHoist(Instruction *I) override {
1306
35.7k
    return Impl.isProfitableToHoist(I);
1307
35.7k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isProfitableToHoist(llvm::Instruction*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isProfitableToHoist(llvm::Instruction*)
1308
0
  bool useAA() override { return Impl.useAA(); }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::useAA()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::useAA()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::useAA()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::useAA()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::useAA()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::useAA()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::useAA()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::useAA()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::useAA()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::useAA()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::useAA()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::useAA()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::useAA()
1309
17.6k
  bool isTypeLegal(Type *Ty) override { return Impl.isTypeLegal(Ty); }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isTypeLegal(llvm::Type*)
Line
Count
Source
1309
16.9k
  bool isTypeLegal(Type *Ty) override { return Impl.isTypeLegal(Ty); }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isTypeLegal(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isTypeLegal(llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isTypeLegal(llvm::Type*)
Line
Count
Source
1309
141
  bool isTypeLegal(Type *Ty) override { return Impl.isTypeLegal(Ty); }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isTypeLegal(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isTypeLegal(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isTypeLegal(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isTypeLegal(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isTypeLegal(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isTypeLegal(llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isTypeLegal(llvm::Type*)
Line
Count
Source
1309
476
  bool isTypeLegal(Type *Ty) override { return Impl.isTypeLegal(Ty); }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isTypeLegal(llvm::Type*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isTypeLegal(llvm::Type*)
1310
0
  unsigned getJumpBufAlignment() override { return Impl.getJumpBufAlignment(); }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getJumpBufAlignment()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getJumpBufAlignment()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getJumpBufAlignment()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getJumpBufAlignment()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getJumpBufAlignment()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getJumpBufAlignment()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getJumpBufAlignment()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getJumpBufAlignment()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getJumpBufAlignment()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getJumpBufAlignment()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getJumpBufAlignment()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getJumpBufAlignment()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getJumpBufAlignment()
1311
0
  unsigned getJumpBufSize() override { return Impl.getJumpBufSize(); }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getJumpBufSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getJumpBufSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getJumpBufSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getJumpBufSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getJumpBufSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getJumpBufSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getJumpBufSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getJumpBufSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getJumpBufSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getJumpBufSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getJumpBufSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getJumpBufSize()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getJumpBufSize()
1312
61.7k
  bool shouldBuildLookupTables() override {
1313
61.7k
    return Impl.shouldBuildLookupTables();
1314
61.7k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::shouldBuildLookupTables()
Line
Count
Source
1312
57.7k
  bool shouldBuildLookupTables() override {
1313
57.7k
    return Impl.shouldBuildLookupTables();
1314
57.7k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::shouldBuildLookupTables()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::shouldBuildLookupTables()
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::shouldBuildLookupTables()
Line
Count
Source
1312
1.07k
  bool shouldBuildLookupTables() override {
1313
1.07k
    return Impl.shouldBuildLookupTables();
1314
1.07k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::shouldBuildLookupTables()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::shouldBuildLookupTables()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::shouldBuildLookupTables()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::shouldBuildLookupTables()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::shouldBuildLookupTables()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::shouldBuildLookupTables()
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::shouldBuildLookupTables()
Line
Count
Source
1312
2.94k
  bool shouldBuildLookupTables() override {
1313
2.94k
    return Impl.shouldBuildLookupTables();
1314
2.94k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::shouldBuildLookupTables()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::shouldBuildLookupTables()
1315
76.1k
  bool shouldBuildLookupTablesForConstant(Constant *C) override {
1316
76.1k
    return Impl.shouldBuildLookupTablesForConstant(C);
1317
76.1k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::shouldBuildLookupTablesForConstant(llvm::Constant*)
Line
Count
Source
1315
55.0k
  bool shouldBuildLookupTablesForConstant(Constant *C) override {
1316
55.0k
    return Impl.shouldBuildLookupTablesForConstant(C);
1317
55.0k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::shouldBuildLookupTablesForConstant(llvm::Constant*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::shouldBuildLookupTablesForConstant(llvm::Constant*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::shouldBuildLookupTablesForConstant(llvm::Constant*)
Line
Count
Source
1315
5.86k
  bool shouldBuildLookupTablesForConstant(Constant *C) override {
1316
5.86k
    return Impl.shouldBuildLookupTablesForConstant(C);
1317
5.86k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::shouldBuildLookupTablesForConstant(llvm::Constant*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::shouldBuildLookupTablesForConstant(llvm::Constant*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::shouldBuildLookupTablesForConstant(llvm::Constant*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::shouldBuildLookupTablesForConstant(llvm::Constant*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::shouldBuildLookupTablesForConstant(llvm::Constant*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::shouldBuildLookupTablesForConstant(llvm::Constant*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::shouldBuildLookupTablesForConstant(llvm::Constant*)
Line
Count
Source
1315
15.2k
  bool shouldBuildLookupTablesForConstant(Constant *C) override {
1316
15.2k
    return Impl.shouldBuildLookupTablesForConstant(C);
1317
15.2k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::shouldBuildLookupTablesForConstant(llvm::Constant*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::shouldBuildLookupTablesForConstant(llvm::Constant*)
1318
3
  bool useColdCCForColdCall(Function &F) override {
1319
3
    return Impl.useColdCCForColdCall(F);
1320
3
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::useColdCCForColdCall(llvm::Function&)
Line
Count
Source
1318
3
  bool useColdCCForColdCall(Function &F) override {
1319
3
    return Impl.useColdCCForColdCall(F);
1320
3
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::useColdCCForColdCall(llvm::Function&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::useColdCCForColdCall(llvm::Function&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::useColdCCForColdCall(llvm::Function&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::useColdCCForColdCall(llvm::Function&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::useColdCCForColdCall(llvm::Function&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::useColdCCForColdCall(llvm::Function&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::useColdCCForColdCall(llvm::Function&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::useColdCCForColdCall(llvm::Function&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::useColdCCForColdCall(llvm::Function&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::useColdCCForColdCall(llvm::Function&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::useColdCCForColdCall(llvm::Function&)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::useColdCCForColdCall(llvm::Function&)
1321
1322
  unsigned getScalarizationOverhead(Type *Ty, bool Insert,
1323
12.5k
                                    bool Extract) override {
1324
12.5k
    return Impl.getScalarizationOverhead(Ty, Insert, Extract);
1325
12.5k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getScalarizationOverhead(llvm::Type*, bool, bool)
Line
Count
Source
1323
11.4k
                                    bool Extract) override {
1324
11.4k
    return Impl.getScalarizationOverhead(Ty, Insert, Extract);
1325
11.4k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getScalarizationOverhead(llvm::Type*, bool, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getScalarizationOverhead(llvm::Type*, bool, bool)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getScalarizationOverhead(llvm::Type*, bool, bool)
Line
Count
Source
1323
291
                                    bool Extract) override {
1324
291
    return Impl.getScalarizationOverhead(Ty, Insert, Extract);
1325
291
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getScalarizationOverhead(llvm::Type*, bool, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getScalarizationOverhead(llvm::Type*, bool, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getScalarizationOverhead(llvm::Type*, bool, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getScalarizationOverhead(llvm::Type*, bool, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getScalarizationOverhead(llvm::Type*, bool, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getScalarizationOverhead(llvm::Type*, bool, bool)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getScalarizationOverhead(llvm::Type*, bool, bool)
Line
Count
Source
1323
808
                                    bool Extract) override {
1324
808
    return Impl.getScalarizationOverhead(Ty, Insert, Extract);
1325
808
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getScalarizationOverhead(llvm::Type*, bool, bool)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getScalarizationOverhead(llvm::Type*, bool, bool)
1326
  unsigned getOperandsScalarizationOverhead(ArrayRef<const Value *> Args,
1327
16.5k
                                            unsigned VF) override {
1328
16.5k
    return Impl.getOperandsScalarizationOverhead(Args, VF);
1329
16.5k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getOperandsScalarizationOverhead(llvm::ArrayRef<llvm::Value const*>, unsigned int)
Line
Count
Source
1327
15.1k
                                            unsigned VF) override {
1328
15.1k
    return Impl.getOperandsScalarizationOverhead(Args, VF);
1329
15.1k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getOperandsScalarizationOverhead(llvm::ArrayRef<llvm::Value const*>, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getOperandsScalarizationOverhead(llvm::ArrayRef<llvm::Value const*>, unsigned int)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getOperandsScalarizationOverhead(llvm::ArrayRef<llvm::Value const*>, unsigned int)
Line
Count
Source
1327
375
                                            unsigned VF) override {
1328
375
    return Impl.getOperandsScalarizationOverhead(Args, VF);
1329
375
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getOperandsScalarizationOverhead(llvm::ArrayRef<llvm::Value const*>, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getOperandsScalarizationOverhead(llvm::ArrayRef<llvm::Value const*>, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getOperandsScalarizationOverhead(llvm::ArrayRef<llvm::Value const*>, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getOperandsScalarizationOverhead(llvm::ArrayRef<llvm::Value const*>, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getOperandsScalarizationOverhead(llvm::ArrayRef<llvm::Value const*>, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getOperandsScalarizationOverhead(llvm::ArrayRef<llvm::Value const*>, unsigned int)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getOperandsScalarizationOverhead(llvm::ArrayRef<llvm::Value const*>, unsigned int)
Line
Count
Source
1327
964
                                            unsigned VF) override {
1328
964
    return Impl.getOperandsScalarizationOverhead(Args, VF);
1329
964
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getOperandsScalarizationOverhead(llvm::ArrayRef<llvm::Value const*>, unsigned int)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getOperandsScalarizationOverhead(llvm::ArrayRef<llvm::Value const*>, unsigned int)
1330
1331
15.3k
  bool supportsEfficientVectorElementLoadStore() override {
1332
15.3k
    return Impl.supportsEfficientVectorElementLoadStore();
1333
15.3k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::supportsEfficientVectorElementLoadStore()
Line
Count
Source
1331
14.1k
  bool supportsEfficientVectorElementLoadStore() override {
1332
14.1k
    return Impl.supportsEfficientVectorElementLoadStore();
1333
14.1k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::supportsEfficientVectorElementLoadStore()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::supportsEfficientVectorElementLoadStore()
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::supportsEfficientVectorElementLoadStore()
Line
Count
Source
1331
327
  bool supportsEfficientVectorElementLoadStore() override {
1332
327
    return Impl.supportsEfficientVectorElementLoadStore();
1333
327
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::supportsEfficientVectorElementLoadStore()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::supportsEfficientVectorElementLoadStore()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::supportsEfficientVectorElementLoadStore()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::supportsEfficientVectorElementLoadStore()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::supportsEfficientVectorElementLoadStore()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::supportsEfficientVectorElementLoadStore()
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::supportsEfficientVectorElementLoadStore()
Line
Count
Source
1331
852
  bool supportsEfficientVectorElementLoadStore() override {
1332
852
    return Impl.supportsEfficientVectorElementLoadStore();
1333
852
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::supportsEfficientVectorElementLoadStore()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::supportsEfficientVectorElementLoadStore()
1334
1335
933
  bool enableAggressiveInterleaving(bool LoopHasReductions) override {
1336
933
    return Impl.enableAggressiveInterleaving(LoopHasReductions);
1337
933
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::enableAggressiveInterleaving(bool)
Line
Count
Source
1335
917
  bool enableAggressiveInterleaving(bool LoopHasReductions) override {
1336
917
    return Impl.enableAggressiveInterleaving(LoopHasReductions);
1337
917
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::enableAggressiveInterleaving(bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::enableAggressiveInterleaving(bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::enableAggressiveInterleaving(bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::enableAggressiveInterleaving(bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::enableAggressiveInterleaving(bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::enableAggressiveInterleaving(bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::enableAggressiveInterleaving(bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::enableAggressiveInterleaving(bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::enableAggressiveInterleaving(bool)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::enableAggressiveInterleaving(bool)
Line
Count
Source
1335
16
  bool enableAggressiveInterleaving(bool LoopHasReductions) override {
1336
16
    return Impl.enableAggressiveInterleaving(LoopHasReductions);
1337
16
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::enableAggressiveInterleaving(bool)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::enableAggressiveInterleaving(bool)
1338
  const MemCmpExpansionOptions *enableMemCmpExpansion(
1339
274k
      bool IsZeroCmp) const override {
1340
274k
    return Impl.enableMemCmpExpansion(IsZeroCmp);
1341
274k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::enableMemCmpExpansion(bool) const
Line
Count
Source
1339
240k
      bool IsZeroCmp) const override {
1340
240k
    return Impl.enableMemCmpExpansion(IsZeroCmp);
1341
240k
  }
llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::enableMemCmpExpansion(bool) const
Line
Count
Source
1339
1
      bool IsZeroCmp) const override {
1340
1
    return Impl.enableMemCmpExpansion(IsZeroCmp);
1341
1
  }
llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::enableMemCmpExpansion(bool) const
Line
Count
Source
1339
1
      bool IsZeroCmp) const override {
1340
1
    return Impl.enableMemCmpExpansion(IsZeroCmp);
1341
1
  }
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::enableMemCmpExpansion(bool) const
Line
Count
Source
1339
9.31k
      bool IsZeroCmp) const override {
1340
9.31k
    return Impl.enableMemCmpExpansion(IsZeroCmp);
1341
9.31k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::enableMemCmpExpansion(bool) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::enableMemCmpExpansion(bool) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::enableMemCmpExpansion(bool) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::enableMemCmpExpansion(bool) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::enableMemCmpExpansion(bool) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::enableMemCmpExpansion(bool) const
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::enableMemCmpExpansion(bool) const
Line
Count
Source
1339
24.6k
      bool IsZeroCmp) const override {
1340
24.6k
    return Impl.enableMemCmpExpansion(IsZeroCmp);
1341
24.6k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::enableMemCmpExpansion(bool) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::enableMemCmpExpansion(bool) const
1342
18.6k
  bool enableInterleavedAccessVectorization() override {
1343
18.6k
    return Impl.enableInterleavedAccessVectorization();
1344
18.6k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::enableInterleavedAccessVectorization()
Line
Count
Source
1342
17.4k
  bool enableInterleavedAccessVectorization() override {
1343
17.4k
    return Impl.enableInterleavedAccessVectorization();
1344
17.4k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::enableInterleavedAccessVectorization()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::enableInterleavedAccessVectorization()
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::enableInterleavedAccessVectorization()
Line
Count
Source
1342
321
  bool enableInterleavedAccessVectorization() override {
1343
321
    return Impl.enableInterleavedAccessVectorization();
1344
321
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::enableInterleavedAccessVectorization()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::enableInterleavedAccessVectorization()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::enableInterleavedAccessVectorization()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::enableInterleavedAccessVectorization()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::enableInterleavedAccessVectorization()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::enableInterleavedAccessVectorization()
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::enableInterleavedAccessVectorization()
Line
Count
Source
1342
913
  bool enableInterleavedAccessVectorization() override {
1343
913
    return Impl.enableInterleavedAccessVectorization();
1344
913
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::enableInterleavedAccessVectorization()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::enableInterleavedAccessVectorization()
1345
10.5k
  bool isFPVectorizationPotentiallyUnsafe() override {
1346
10.5k
    return Impl.isFPVectorizationPotentiallyUnsafe();
1347
10.5k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isFPVectorizationPotentiallyUnsafe()
Line
Count
Source
1345
10.5k
  bool isFPVectorizationPotentiallyUnsafe() override {
1346
10.5k
    return Impl.isFPVectorizationPotentiallyUnsafe();
1347
10.5k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isFPVectorizationPotentiallyUnsafe()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isFPVectorizationPotentiallyUnsafe()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isFPVectorizationPotentiallyUnsafe()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isFPVectorizationPotentiallyUnsafe()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isFPVectorizationPotentiallyUnsafe()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isFPVectorizationPotentiallyUnsafe()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isFPVectorizationPotentiallyUnsafe()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isFPVectorizationPotentiallyUnsafe()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isFPVectorizationPotentiallyUnsafe()
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isFPVectorizationPotentiallyUnsafe()
Line
Count
Source
1345
9
  bool isFPVectorizationPotentiallyUnsafe() override {
1346
9
    return Impl.isFPVectorizationPotentiallyUnsafe();
1347
9
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isFPVectorizationPotentiallyUnsafe()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isFPVectorizationPotentiallyUnsafe()
1348
  bool allowsMisalignedMemoryAccesses(LLVMContext &Context,
1349
                                      unsigned BitWidth, unsigned AddressSpace,
1350
0
                                      unsigned Alignment, bool *Fast) override {
1351
0
    return Impl.allowsMisalignedMemoryAccesses(Context, BitWidth, AddressSpace,
1352
0
                                               Alignment, Fast);
1353
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::allowsMisalignedMemoryAccesses(llvm::LLVMContext&, unsigned int, unsigned int, unsigned int, bool*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::allowsMisalignedMemoryAccesses(llvm::LLVMContext&, unsigned int, unsigned int, unsigned int, bool*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::allowsMisalignedMemoryAccesses(llvm::LLVMContext&, unsigned int, unsigned int, unsigned int, bool*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::allowsMisalignedMemoryAccesses(llvm::LLVMContext&, unsigned int, unsigned int, unsigned int, bool*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::allowsMisalignedMemoryAccesses(llvm::LLVMContext&, unsigned int, unsigned int, unsigned int, bool*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::allowsMisalignedMemoryAccesses(llvm::LLVMContext&, unsigned int, unsigned int, unsigned int, bool*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::allowsMisalignedMemoryAccesses(llvm::LLVMContext&, unsigned int, unsigned int, unsigned int, bool*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::allowsMisalignedMemoryAccesses(llvm::LLVMContext&, unsigned int, unsigned int, unsigned int, bool*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::allowsMisalignedMemoryAccesses(llvm::LLVMContext&, unsigned int, unsigned int, unsigned int, bool*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::allowsMisalignedMemoryAccesses(llvm::LLVMContext&, unsigned int, unsigned int, unsigned int, bool*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::allowsMisalignedMemoryAccesses(llvm::LLVMContext&, unsigned int, unsigned int, unsigned int, bool*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::allowsMisalignedMemoryAccesses(llvm::LLVMContext&, unsigned int, unsigned int, unsigned int, bool*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::allowsMisalignedMemoryAccesses(llvm::LLVMContext&, unsigned int, unsigned int, unsigned int, bool*)
1354
140k
  PopcntSupportKind getPopcntSupport(unsigned IntTyWidthInBit) override {
1355
140k
    return Impl.getPopcntSupport(IntTyWidthInBit);
1356
140k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getPopcntSupport(unsigned int)
Line
Count
Source
1354
122k
  PopcntSupportKind getPopcntSupport(unsigned IntTyWidthInBit) override {
1355
122k
    return Impl.getPopcntSupport(IntTyWidthInBit);
1356
122k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getPopcntSupport(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getPopcntSupport(unsigned int)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getPopcntSupport(unsigned int)
Line
Count
Source
1354
3.75k
  PopcntSupportKind getPopcntSupport(unsigned IntTyWidthInBit) override {
1355
3.75k
    return Impl.getPopcntSupport(IntTyWidthInBit);
1356
3.75k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getPopcntSupport(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getPopcntSupport(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getPopcntSupport(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getPopcntSupport(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getPopcntSupport(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getPopcntSupport(unsigned int)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getPopcntSupport(unsigned int)
Line
Count
Source
1354
13.7k
  PopcntSupportKind getPopcntSupport(unsigned IntTyWidthInBit) override {
1355
13.7k
    return Impl.getPopcntSupport(IntTyWidthInBit);
1356
13.7k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getPopcntSupport(unsigned int)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getPopcntSupport(unsigned int)
1357
0
  bool haveFastSqrt(Type *Ty) override { return Impl.haveFastSqrt(Ty); }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::haveFastSqrt(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::haveFastSqrt(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::haveFastSqrt(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::haveFastSqrt(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::haveFastSqrt(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::haveFastSqrt(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::haveFastSqrt(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::haveFastSqrt(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::haveFastSqrt(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::haveFastSqrt(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::haveFastSqrt(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::haveFastSqrt(llvm::Type*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::haveFastSqrt(llvm::Type*)
1358
1359
0
  bool isFCmpOrdCheaperThanFCmpZero(Type *Ty) override {
1360
0
    return Impl.isFCmpOrdCheaperThanFCmpZero(Ty);
1361
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isFCmpOrdCheaperThanFCmpZero(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isFCmpOrdCheaperThanFCmpZero(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isFCmpOrdCheaperThanFCmpZero(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isFCmpOrdCheaperThanFCmpZero(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isFCmpOrdCheaperThanFCmpZero(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isFCmpOrdCheaperThanFCmpZero(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isFCmpOrdCheaperThanFCmpZero(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isFCmpOrdCheaperThanFCmpZero(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isFCmpOrdCheaperThanFCmpZero(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isFCmpOrdCheaperThanFCmpZero(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isFCmpOrdCheaperThanFCmpZero(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isFCmpOrdCheaperThanFCmpZero(llvm::Type*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isFCmpOrdCheaperThanFCmpZero(llvm::Type*)
1362
1363
546k
  int getFPOpCost(Type *Ty) override { return Impl.getFPOpCost(Ty); }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getFPOpCost(llvm::Type*)
Line
Count
Source
1363
545k
  int getFPOpCost(Type *Ty) override { return Impl.getFPOpCost(Ty); }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getFPOpCost(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getFPOpCost(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getFPOpCost(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getFPOpCost(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getFPOpCost(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getFPOpCost(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getFPOpCost(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getFPOpCost(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getFPOpCost(llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getFPOpCost(llvm::Type*)
Line
Count
Source
1363
759
  int getFPOpCost(Type *Ty) override { return Impl.getFPOpCost(Ty); }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getFPOpCost(llvm::Type*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getFPOpCost(llvm::Type*)
1364
1365
  int getIntImmCodeSizeCost(unsigned Opc, unsigned Idx, const APInt &Imm,
1366
1.99k
                            Type *Ty) override {
1367
1.99k
    return Impl.getIntImmCodeSizeCost(Opc, Idx, Imm, Ty);
1368
1.99k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getIntImmCodeSizeCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getIntImmCodeSizeCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getIntImmCodeSizeCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getIntImmCodeSizeCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Line
Count
Source
1366
1.33k
                            Type *Ty) override {
1367
1.33k
    return Impl.getIntImmCodeSizeCost(Opc, Idx, Imm, Ty);
1368
1.33k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getIntImmCodeSizeCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getIntImmCodeSizeCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getIntImmCodeSizeCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getIntImmCodeSizeCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getIntImmCodeSizeCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getIntImmCodeSizeCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getIntImmCodeSizeCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Line
Count
Source
1366
662
                            Type *Ty) override {
1367
662
    return Impl.getIntImmCodeSizeCost(Opc, Idx, Imm, Ty);
1368
662
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getIntImmCodeSizeCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getIntImmCodeSizeCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
1369
2
  int getIntImmCost(const APInt &Imm, Type *Ty) override {
1370
2
    return Impl.getIntImmCost(Imm, Ty);
1371
2
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getIntImmCost(llvm::APInt const&, llvm::Type*)
Line
Count
Source
1369
2
  int getIntImmCost(const APInt &Imm, Type *Ty) override {
1370
2
    return Impl.getIntImmCost(Imm, Ty);
1371
2
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getIntImmCost(llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getIntImmCost(llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getIntImmCost(llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getIntImmCost(llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getIntImmCost(llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getIntImmCost(llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getIntImmCost(llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getIntImmCost(llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getIntImmCost(llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getIntImmCost(llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getIntImmCost(llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getIntImmCost(llvm::APInt const&, llvm::Type*)
1372
  int getIntImmCost(unsigned Opc, unsigned Idx, const APInt &Imm,
1373
4.36M
                    Type *Ty) override {
1374
4.36M
    return Impl.getIntImmCost(Opc, Idx, Imm, Ty);
1375
4.36M
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getIntImmCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Line
Count
Source
1373
3.65M
                    Type *Ty) override {
1374
3.65M
    return Impl.getIntImmCost(Opc, Idx, Imm, Ty);
1375
3.65M
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getIntImmCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getIntImmCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getIntImmCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Line
Count
Source
1373
175k
                    Type *Ty) override {
1374
175k
    return Impl.getIntImmCost(Opc, Idx, Imm, Ty);
1375
175k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getIntImmCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getIntImmCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getIntImmCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getIntImmCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getIntImmCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getIntImmCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getIntImmCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Line
Count
Source
1373
535k
                    Type *Ty) override {
1374
535k
    return Impl.getIntImmCost(Opc, Idx, Imm, Ty);
1375
535k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getIntImmCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getIntImmCost(unsigned int, unsigned int, llvm::APInt const&, llvm::Type*)
1376
  int getIntImmCost(Intrinsic::ID IID, unsigned Idx, const APInt &Imm,
1377
292k
                    Type *Ty) override {
1378
292k
    return Impl.getIntImmCost(IID, Idx, Imm, Ty);
1379
292k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getIntImmCost(llvm::Intrinsic::ID, unsigned int, llvm::APInt const&, llvm::Type*)
Line
Count
Source
1377
215k
                    Type *Ty) override {
1378
215k
    return Impl.getIntImmCost(IID, Idx, Imm, Ty);
1379
215k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getIntImmCost(llvm::Intrinsic::ID, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getIntImmCost(llvm::Intrinsic::ID, unsigned int, llvm::APInt const&, llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getIntImmCost(llvm::Intrinsic::ID, unsigned int, llvm::APInt const&, llvm::Type*)
Line
Count
Source
1377
20.9k
                    Type *Ty) override {
1378
20.9k
    return Impl.getIntImmCost(IID, Idx, Imm, Ty);
1379
20.9k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getIntImmCost(llvm::Intrinsic::ID, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getIntImmCost(llvm::Intrinsic::ID, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getIntImmCost(llvm::Intrinsic::ID, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getIntImmCost(llvm::Intrinsic::ID, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getIntImmCost(llvm::Intrinsic::ID, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getIntImmCost(llvm::Intrinsic::ID, unsigned int, llvm::APInt const&, llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getIntImmCost(llvm::Intrinsic::ID, unsigned int, llvm::APInt const&, llvm::Type*)
Line
Count
Source
1377
55.7k
                    Type *Ty) override {
1378
55.7k
    return Impl.getIntImmCost(IID, Idx, Imm, Ty);
1379
55.7k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getIntImmCost(llvm::Intrinsic::ID, unsigned int, llvm::APInt const&, llvm::Type*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getIntImmCost(llvm::Intrinsic::ID, unsigned int, llvm::APInt const&, llvm::Type*)
1380
8.57M
  unsigned getNumberOfRegisters(bool Vector) override {
1381
8.57M
    return Impl.getNumberOfRegisters(Vector);
1382
8.57M
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getNumberOfRegisters(bool)
Line
Count
Source
1380
7.75M
  unsigned getNumberOfRegisters(bool Vector) override {
1381
7.75M
    return Impl.getNumberOfRegisters(Vector);
1382
7.75M
  }
llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getNumberOfRegisters(bool)
Line
Count
Source
1380
2
  unsigned getNumberOfRegisters(bool Vector) override {
1381
2
    return Impl.getNumberOfRegisters(Vector);
1382
2
  }
llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getNumberOfRegisters(bool)
Line
Count
Source
1380
2
  unsigned getNumberOfRegisters(bool Vector) override {
1381
2
    return Impl.getNumberOfRegisters(Vector);
1382
2
  }
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getNumberOfRegisters(bool)
Line
Count
Source
1380
123k
  unsigned getNumberOfRegisters(bool Vector) override {
1381
123k
    return Impl.getNumberOfRegisters(Vector);
1382
123k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getNumberOfRegisters(bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getNumberOfRegisters(bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getNumberOfRegisters(bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getNumberOfRegisters(bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getNumberOfRegisters(bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getNumberOfRegisters(bool)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getNumberOfRegisters(bool)
Line
Count
Source
1380
698k
  unsigned getNumberOfRegisters(bool Vector) override {
1381
698k
    return Impl.getNumberOfRegisters(Vector);
1382
698k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getNumberOfRegisters(bool)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getNumberOfRegisters(bool)
1383
309k
  unsigned getRegisterBitWidth(bool Vector) const override {
1384
309k
    return Impl.getRegisterBitWidth(Vector);
1385
309k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getRegisterBitWidth(bool) const
Line
Count
Source
1383
274k
  unsigned getRegisterBitWidth(bool Vector) const override {
1384
274k
    return Impl.getRegisterBitWidth(Vector);
1385
274k
  }
llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getRegisterBitWidth(bool) const
Line
Count
Source
1383
1
  unsigned getRegisterBitWidth(bool Vector) const override {
1384
1
    return Impl.getRegisterBitWidth(Vector);
1385
1
  }
llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getRegisterBitWidth(bool) const
Line
Count
Source
1383
1
  unsigned getRegisterBitWidth(bool Vector) const override {
1384
1
    return Impl.getRegisterBitWidth(Vector);
1385
1
  }
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getRegisterBitWidth(bool) const
Line
Count
Source
1383
9.02k
  unsigned getRegisterBitWidth(bool Vector) const override {
1384
9.02k
    return Impl.getRegisterBitWidth(Vector);
1385
9.02k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getRegisterBitWidth(bool) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getRegisterBitWidth(bool) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getRegisterBitWidth(bool) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getRegisterBitWidth(bool) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getRegisterBitWidth(bool) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getRegisterBitWidth(bool) const
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getRegisterBitWidth(bool) const
Line
Count
Source
1383
25.6k
  unsigned getRegisterBitWidth(bool Vector) const override {
1384
25.6k
    return Impl.getRegisterBitWidth(Vector);
1385
25.6k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getRegisterBitWidth(bool) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getRegisterBitWidth(bool) const
1386
272k
  unsigned getMinVectorRegisterBitWidth() override {
1387
272k
    return Impl.getMinVectorRegisterBitWidth();
1388
272k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getMinVectorRegisterBitWidth()
Line
Count
Source
1386
240k
  unsigned getMinVectorRegisterBitWidth() override {
1387
240k
    return Impl.getMinVectorRegisterBitWidth();
1388
240k
  }
llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getMinVectorRegisterBitWidth()
Line
Count
Source
1386
1
  unsigned getMinVectorRegisterBitWidth() override {
1387
1
    return Impl.getMinVectorRegisterBitWidth();
1388
1
  }
llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getMinVectorRegisterBitWidth()
Line
Count
Source
1386
1
  unsigned getMinVectorRegisterBitWidth() override {
1387
1
    return Impl.getMinVectorRegisterBitWidth();
1388
1
  }
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getMinVectorRegisterBitWidth()
Line
Count
Source
1386
8.42k
  unsigned getMinVectorRegisterBitWidth() override {
1387
8.42k
    return Impl.getMinVectorRegisterBitWidth();
1388
8.42k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getMinVectorRegisterBitWidth()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getMinVectorRegisterBitWidth()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getMinVectorRegisterBitWidth()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getMinVectorRegisterBitWidth()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getMinVectorRegisterBitWidth()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getMinVectorRegisterBitWidth()
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getMinVectorRegisterBitWidth()
Line
Count
Source
1386
23.9k
  unsigned getMinVectorRegisterBitWidth() override {
1387
23.9k
    return Impl.getMinVectorRegisterBitWidth();
1388
23.9k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getMinVectorRegisterBitWidth()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getMinVectorRegisterBitWidth()
1389
18.5k
  bool shouldMaximizeVectorBandwidth(bool OptSize) const override {
1390
18.5k
    return Impl.shouldMaximizeVectorBandwidth(OptSize);
1391
18.5k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::shouldMaximizeVectorBandwidth(bool) const
Line
Count
Source
1389
17.3k
  bool shouldMaximizeVectorBandwidth(bool OptSize) const override {
1390
17.3k
    return Impl.shouldMaximizeVectorBandwidth(OptSize);
1391
17.3k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::shouldMaximizeVectorBandwidth(bool) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::shouldMaximizeVectorBandwidth(bool) const
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::shouldMaximizeVectorBandwidth(bool) const
Line
Count
Source
1389
321
  bool shouldMaximizeVectorBandwidth(bool OptSize) const override {
1390
321
    return Impl.shouldMaximizeVectorBandwidth(OptSize);
1391
321
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::shouldMaximizeVectorBandwidth(bool) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::shouldMaximizeVectorBandwidth(bool) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::shouldMaximizeVectorBandwidth(bool) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::shouldMaximizeVectorBandwidth(bool) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::shouldMaximizeVectorBandwidth(bool) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::shouldMaximizeVectorBandwidth(bool) const
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::shouldMaximizeVectorBandwidth(bool) const
Line
Count
Source
1389
913
  bool shouldMaximizeVectorBandwidth(bool OptSize) const override {
1390
913
    return Impl.shouldMaximizeVectorBandwidth(OptSize);
1391
913
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::shouldMaximizeVectorBandwidth(bool) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::shouldMaximizeVectorBandwidth(bool) const
1392
0
  unsigned getMinimumVF(unsigned ElemWidth) const override {
1393
0
    return Impl.getMinimumVF(ElemWidth);
1394
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getMinimumVF(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getMinimumVF(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getMinimumVF(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getMinimumVF(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getMinimumVF(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getMinimumVF(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getMinimumVF(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getMinimumVF(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getMinimumVF(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getMinimumVF(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getMinimumVF(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getMinimumVF(unsigned int) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getMinimumVF(unsigned int) const
1395
  bool shouldConsiderAddressTypePromotion(
1396
760k
      const Instruction &I, bool &AllowPromotionWithoutCommonHeader) override {
1397
760k
    return Impl.shouldConsiderAddressTypePromotion(
1398
760k
        I, AllowPromotionWithoutCommonHeader);
1399
760k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::shouldConsiderAddressTypePromotion(llvm::Instruction const&, bool&)
Line
Count
Source
1396
723k
      const Instruction &I, bool &AllowPromotionWithoutCommonHeader) override {
1397
723k
    return Impl.shouldConsiderAddressTypePromotion(
1398
723k
        I, AllowPromotionWithoutCommonHeader);
1399
723k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::shouldConsiderAddressTypePromotion(llvm::Instruction const&, bool&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::shouldConsiderAddressTypePromotion(llvm::Instruction const&, bool&)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::shouldConsiderAddressTypePromotion(llvm::Instruction const&, bool&)
Line
Count
Source
1396
7.30k
      const Instruction &I, bool &AllowPromotionWithoutCommonHeader) override {
1397
7.30k
    return Impl.shouldConsiderAddressTypePromotion(
1398
7.30k
        I, AllowPromotionWithoutCommonHeader);
1399
7.30k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::shouldConsiderAddressTypePromotion(llvm::Instruction const&, bool&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::shouldConsiderAddressTypePromotion(llvm::Instruction const&, bool&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::shouldConsiderAddressTypePromotion(llvm::Instruction const&, bool&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::shouldConsiderAddressTypePromotion(llvm::Instruction const&, bool&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::shouldConsiderAddressTypePromotion(llvm::Instruction const&, bool&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::shouldConsiderAddressTypePromotion(llvm::Instruction const&, bool&)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::shouldConsiderAddressTypePromotion(llvm::Instruction const&, bool&)
Line
Count
Source
1396
30.0k
      const Instruction &I, bool &AllowPromotionWithoutCommonHeader) override {
1397
30.0k
    return Impl.shouldConsiderAddressTypePromotion(
1398
30.0k
        I, AllowPromotionWithoutCommonHeader);
1399
30.0k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::shouldConsiderAddressTypePromotion(llvm::Instruction const&, bool&)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::shouldConsiderAddressTypePromotion(llvm::Instruction const&, bool&)
1400
17
  unsigned getCacheLineSize() override {
1401
17
    return Impl.getCacheLineSize();
1402
17
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getCacheLineSize()
Line
Count
Source
1400
17
  unsigned getCacheLineSize() override {
1401
17
    return Impl.getCacheLineSize();
1402
17
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getCacheLineSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getCacheLineSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getCacheLineSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getCacheLineSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getCacheLineSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getCacheLineSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getCacheLineSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getCacheLineSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getCacheLineSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getCacheLineSize()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getCacheLineSize()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getCacheLineSize()
1403
4
  llvm::Optional<unsigned> getCacheSize(CacheLevel Level) override {
1404
4
    return Impl.getCacheSize(Level);
1405
4
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getCacheSize(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getCacheSize(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getCacheSize(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getCacheSize(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getCacheSize(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getCacheSize(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getCacheSize(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getCacheSize(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getCacheSize(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getCacheSize(llvm::TargetTransformInfo::CacheLevel)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getCacheSize(llvm::TargetTransformInfo::CacheLevel)
Line
Count
Source
1403
2
  llvm::Optional<unsigned> getCacheSize(CacheLevel Level) override {
1404
2
    return Impl.getCacheSize(Level);
1405
2
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getCacheSize(llvm::TargetTransformInfo::CacheLevel)
TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getCacheSize(llvm::TargetTransformInfo::CacheLevel)
Line
Count
Source
1403
2
  llvm::Optional<unsigned> getCacheSize(CacheLevel Level) override {
1404
2
    return Impl.getCacheSize(Level);
1405
2
  }
1406
5
  llvm::Optional<unsigned> getCacheAssociativity(CacheLevel Level) override {
1407
5
    return Impl.getCacheAssociativity(Level);
1408
5
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getCacheAssociativity(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getCacheAssociativity(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getCacheAssociativity(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getCacheAssociativity(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getCacheAssociativity(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getCacheAssociativity(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getCacheAssociativity(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getCacheAssociativity(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getCacheAssociativity(llvm::TargetTransformInfo::CacheLevel)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getCacheAssociativity(llvm::TargetTransformInfo::CacheLevel)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getCacheAssociativity(llvm::TargetTransformInfo::CacheLevel)
Line
Count
Source
1406
4
  llvm::Optional<unsigned> getCacheAssociativity(CacheLevel Level) override {
1407
4
    return Impl.getCacheAssociativity(Level);
1408
4
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getCacheAssociativity(llvm::TargetTransformInfo::CacheLevel)
TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getCacheAssociativity(llvm::TargetTransformInfo::CacheLevel)
Line
Count
Source
1406
1
  llvm::Optional<unsigned> getCacheAssociativity(CacheLevel Level) override {
1407
1
    return Impl.getCacheAssociativity(Level);
1408
1
  }
1409
395k
  unsigned getPrefetchDistance() override { return Impl.getPrefetchDistance(); }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getPrefetchDistance()
Line
Count
Source
1409
395k
  unsigned getPrefetchDistance() override { return Impl.getPrefetchDistance(); }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getPrefetchDistance()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getPrefetchDistance()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getPrefetchDistance()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getPrefetchDistance()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getPrefetchDistance()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getPrefetchDistance()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getPrefetchDistance()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getPrefetchDistance()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getPrefetchDistance()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getPrefetchDistance()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getPrefetchDistance()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getPrefetchDistance()
1410
9.34k
  unsigned getMinPrefetchStride() override {
1411
9.34k
    return Impl.getMinPrefetchStride();
1412
9.34k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getMinPrefetchStride()
Line
Count
Source
1410
9.34k
  unsigned getMinPrefetchStride() override {
1411
9.34k
    return Impl.getMinPrefetchStride();
1412
9.34k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getMinPrefetchStride()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getMinPrefetchStride()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getMinPrefetchStride()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getMinPrefetchStride()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getMinPrefetchStride()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getMinPrefetchStride()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getMinPrefetchStride()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getMinPrefetchStride()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getMinPrefetchStride()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getMinPrefetchStride()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getMinPrefetchStride()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getMinPrefetchStride()
1413
154k
  unsigned getMaxPrefetchIterationsAhead() override {
1414
154k
    return Impl.getMaxPrefetchIterationsAhead();
1415
154k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getMaxPrefetchIterationsAhead()
Line
Count
Source
1413
154k
  unsigned getMaxPrefetchIterationsAhead() override {
1414
154k
    return Impl.getMaxPrefetchIterationsAhead();
1415
154k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getMaxPrefetchIterationsAhead()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getMaxPrefetchIterationsAhead()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getMaxPrefetchIterationsAhead()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getMaxPrefetchIterationsAhead()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getMaxPrefetchIterationsAhead()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getMaxPrefetchIterationsAhead()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getMaxPrefetchIterationsAhead()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getMaxPrefetchIterationsAhead()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getMaxPrefetchIterationsAhead()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getMaxPrefetchIterationsAhead()
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getMaxPrefetchIterationsAhead()
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getMaxPrefetchIterationsAhead()
1416
18.9k
  unsigned getMaxInterleaveFactor(unsigned VF) override {
1417
18.9k
    return Impl.getMaxInterleaveFactor(VF);
1418
18.9k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getMaxInterleaveFactor(unsigned int)
Line
Count
Source
1416
16.8k
  unsigned getMaxInterleaveFactor(unsigned VF) override {
1417
16.8k
    return Impl.getMaxInterleaveFactor(VF);
1418
16.8k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getMaxInterleaveFactor(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getMaxInterleaveFactor(unsigned int)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getMaxInterleaveFactor(unsigned int)
Line
Count
Source
1416
1.17k
  unsigned getMaxInterleaveFactor(unsigned VF) override {
1417
1.17k
    return Impl.getMaxInterleaveFactor(VF);
1418
1.17k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getMaxInterleaveFactor(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getMaxInterleaveFactor(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getMaxInterleaveFactor(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getMaxInterleaveFactor(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getMaxInterleaveFactor(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getMaxInterleaveFactor(unsigned int)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getMaxInterleaveFactor(unsigned int)
Line
Count
Source
1416
970
  unsigned getMaxInterleaveFactor(unsigned VF) override {
1417
970
    return Impl.getMaxInterleaveFactor(VF);
1418
970
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getMaxInterleaveFactor(unsigned int)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getMaxInterleaveFactor(unsigned int)
1419
  unsigned getEstimatedNumberOfCaseClusters(const SwitchInst &SI,
1420
40.1k
                                            unsigned &JTSize) override {
1421
40.1k
    return Impl.getEstimatedNumberOfCaseClusters(SI, JTSize);
1422
40.1k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getEstimatedNumberOfCaseClusters(llvm::SwitchInst const&, unsigned int&)
Line
Count
Source
1420
29.1k
                                            unsigned &JTSize) override {
1421
29.1k
    return Impl.getEstimatedNumberOfCaseClusters(SI, JTSize);
1422
29.1k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getEstimatedNumberOfCaseClusters(llvm::SwitchInst const&, unsigned int&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getEstimatedNumberOfCaseClusters(llvm::SwitchInst const&, unsigned int&)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getEstimatedNumberOfCaseClusters(llvm::SwitchInst const&, unsigned int&)
Line
Count
Source
1420
2.11k
                                            unsigned &JTSize) override {
1421
2.11k
    return Impl.getEstimatedNumberOfCaseClusters(SI, JTSize);
1422
2.11k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getEstimatedNumberOfCaseClusters(llvm::SwitchInst const&, unsigned int&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getEstimatedNumberOfCaseClusters(llvm::SwitchInst const&, unsigned int&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getEstimatedNumberOfCaseClusters(llvm::SwitchInst const&, unsigned int&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getEstimatedNumberOfCaseClusters(llvm::SwitchInst const&, unsigned int&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getEstimatedNumberOfCaseClusters(llvm::SwitchInst const&, unsigned int&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getEstimatedNumberOfCaseClusters(llvm::SwitchInst const&, unsigned int&)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getEstimatedNumberOfCaseClusters(llvm::SwitchInst const&, unsigned int&)
Line
Count
Source
1420
8.81k
                                            unsigned &JTSize) override {
1421
8.81k
    return Impl.getEstimatedNumberOfCaseClusters(SI, JTSize);
1422
8.81k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getEstimatedNumberOfCaseClusters(llvm::SwitchInst const&, unsigned int&)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getEstimatedNumberOfCaseClusters(llvm::SwitchInst const&, unsigned int&)
1423
  unsigned
1424
  getArithmeticInstrCost(unsigned Opcode, Type *Ty, OperandValueKind Opd1Info,
1425
                         OperandValueKind Opd2Info,
1426
                         OperandValueProperties Opd1PropInfo,
1427
                         OperandValueProperties Opd2PropInfo,
1428
864k
                         ArrayRef<const Value *> Args) override {
1429
864k
    return Impl.getArithmeticInstrCost(Opcode, Ty, Opd1Info, Opd2Info,
1430
864k
                                       Opd1PropInfo, Opd2PropInfo, Args);
1431
864k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getArithmeticInstrCost(unsigned int, llvm::Type*, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueProperties, llvm::TargetTransformInfo::OperandValueProperties, llvm::ArrayRef<llvm::Value const*>)
Line
Count
Source
1428
771k
                         ArrayRef<const Value *> Args) override {
1429
771k
    return Impl.getArithmeticInstrCost(Opcode, Ty, Opd1Info, Opd2Info,
1430
771k
                                       Opd1PropInfo, Opd2PropInfo, Args);
1431
771k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getArithmeticInstrCost(unsigned int, llvm::Type*, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueProperties, llvm::TargetTransformInfo::OperandValueProperties, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getArithmeticInstrCost(unsigned int, llvm::Type*, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueProperties, llvm::TargetTransformInfo::OperandValueProperties, llvm::ArrayRef<llvm::Value const*>)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getArithmeticInstrCost(unsigned int, llvm::Type*, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueProperties, llvm::TargetTransformInfo::OperandValueProperties, llvm::ArrayRef<llvm::Value const*>)
Line
Count
Source
1428
13.6k
                         ArrayRef<const Value *> Args) override {
1429
13.6k
    return Impl.getArithmeticInstrCost(Opcode, Ty, Opd1Info, Opd2Info,
1430
13.6k
                                       Opd1PropInfo, Opd2PropInfo, Args);
1431
13.6k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getArithmeticInstrCost(unsigned int, llvm::Type*, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueProperties, llvm::TargetTransformInfo::OperandValueProperties, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getArithmeticInstrCost(unsigned int, llvm::Type*, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueProperties, llvm::TargetTransformInfo::OperandValueProperties, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getArithmeticInstrCost(unsigned int, llvm::Type*, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueProperties, llvm::TargetTransformInfo::OperandValueProperties, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getArithmeticInstrCost(unsigned int, llvm::Type*, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueProperties, llvm::TargetTransformInfo::OperandValueProperties, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getArithmeticInstrCost(unsigned int, llvm::Type*, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueProperties, llvm::TargetTransformInfo::OperandValueProperties, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getArithmeticInstrCost(unsigned int, llvm::Type*, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueProperties, llvm::TargetTransformInfo::OperandValueProperties, llvm::ArrayRef<llvm::Value const*>)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getArithmeticInstrCost(unsigned int, llvm::Type*, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueProperties, llvm::TargetTransformInfo::OperandValueProperties, llvm::ArrayRef<llvm::Value const*>)
Line
Count
Source
1428
79.0k
                         ArrayRef<const Value *> Args) override {
1429
79.0k
    return Impl.getArithmeticInstrCost(Opcode, Ty, Opd1Info, Opd2Info,
1430
79.0k
                                       Opd1PropInfo, Opd2PropInfo, Args);
1431
79.0k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getArithmeticInstrCost(unsigned int, llvm::Type*, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueProperties, llvm::TargetTransformInfo::OperandValueProperties, llvm::ArrayRef<llvm::Value const*>)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getArithmeticInstrCost(unsigned int, llvm::Type*, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueKind, llvm::TargetTransformInfo::OperandValueProperties, llvm::TargetTransformInfo::OperandValueProperties, llvm::ArrayRef<llvm::Value const*>)
1432
  int getShuffleCost(ShuffleKind Kind, Type *Tp, int Index,
1433
153k
                     Type *SubTp) override {
1434
153k
    return Impl.getShuffleCost(Kind, Tp, Index, SubTp);
1435
153k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getShuffleCost(llvm::TargetTransformInfo::ShuffleKind, llvm::Type*, int, llvm::Type*)
Line
Count
Source
1433
132k
                     Type *SubTp) override {
1434
132k
    return Impl.getShuffleCost(Kind, Tp, Index, SubTp);
1435
132k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getShuffleCost(llvm::TargetTransformInfo::ShuffleKind, llvm::Type*, int, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getShuffleCost(llvm::TargetTransformInfo::ShuffleKind, llvm::Type*, int, llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getShuffleCost(llvm::TargetTransformInfo::ShuffleKind, llvm::Type*, int, llvm::Type*)
Line
Count
Source
1433
3.27k
                     Type *SubTp) override {
1434
3.27k
    return Impl.getShuffleCost(Kind, Tp, Index, SubTp);
1435
3.27k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getShuffleCost(llvm::TargetTransformInfo::ShuffleKind, llvm::Type*, int, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getShuffleCost(llvm::TargetTransformInfo::ShuffleKind, llvm::Type*, int, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getShuffleCost(llvm::TargetTransformInfo::ShuffleKind, llvm::Type*, int, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getShuffleCost(llvm::TargetTransformInfo::ShuffleKind, llvm::Type*, int, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getShuffleCost(llvm::TargetTransformInfo::ShuffleKind, llvm::Type*, int, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getShuffleCost(llvm::TargetTransformInfo::ShuffleKind, llvm::Type*, int, llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getShuffleCost(llvm::TargetTransformInfo::ShuffleKind, llvm::Type*, int, llvm::Type*)
Line
Count
Source
1433
17.8k
                     Type *SubTp) override {
1434
17.8k
    return Impl.getShuffleCost(Kind, Tp, Index, SubTp);
1435
17.8k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getShuffleCost(llvm::TargetTransformInfo::ShuffleKind, llvm::Type*, int, llvm::Type*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getShuffleCost(llvm::TargetTransformInfo::ShuffleKind, llvm::Type*, int, llvm::Type*)
1436
  int getCastInstrCost(unsigned Opcode, Type *Dst, Type *Src,
1437
130k
                       const Instruction *I) override {
1438
130k
    return Impl.getCastInstrCost(Opcode, Dst, Src, I);
1439
130k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getCastInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Line
Count
Source
1437
123k
                       const Instruction *I) override {
1438
123k
    return Impl.getCastInstrCost(Opcode, Dst, Src, I);
1439
123k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getCastInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getCastInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getCastInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Line
Count
Source
1437
1.11k
                       const Instruction *I) override {
1438
1.11k
    return Impl.getCastInstrCost(Opcode, Dst, Src, I);
1439
1.11k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getCastInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getCastInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getCastInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getCastInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getCastInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getCastInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getCastInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Line
Count
Source
1437
5.36k
                       const Instruction *I) override {
1438
5.36k
    return Impl.getCastInstrCost(Opcode, Dst, Src, I);
1439
5.36k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getCastInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getCastInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
1440
  int getExtractWithExtendCost(unsigned Opcode, Type *Dst, VectorType *VecTy,
1441
6.60k
                               unsigned Index) override {
1442
6.60k
    return Impl.getExtractWithExtendCost(Opcode, Dst, VecTy, Index);
1443
6.60k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getExtractWithExtendCost(unsigned int, llvm::Type*, llvm::VectorType*, unsigned int)
Line
Count
Source
1441
6.60k
                               unsigned Index) override {
1442
6.60k
    return Impl.getExtractWithExtendCost(Opcode, Dst, VecTy, Index);
1443
6.60k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getExtractWithExtendCost(unsigned int, llvm::Type*, llvm::VectorType*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getExtractWithExtendCost(unsigned int, llvm::Type*, llvm::VectorType*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getExtractWithExtendCost(unsigned int, llvm::Type*, llvm::VectorType*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getExtractWithExtendCost(unsigned int, llvm::Type*, llvm::VectorType*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getExtractWithExtendCost(unsigned int, llvm::Type*, llvm::VectorType*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getExtractWithExtendCost(unsigned int, llvm::Type*, llvm::VectorType*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getExtractWithExtendCost(unsigned int, llvm::Type*, llvm::VectorType*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getExtractWithExtendCost(unsigned int, llvm::Type*, llvm::VectorType*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getExtractWithExtendCost(unsigned int, llvm::Type*, llvm::VectorType*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getExtractWithExtendCost(unsigned int, llvm::Type*, llvm::VectorType*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getExtractWithExtendCost(unsigned int, llvm::Type*, llvm::VectorType*, unsigned int)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getExtractWithExtendCost(unsigned int, llvm::Type*, llvm::VectorType*, unsigned int)
1444
118k
  int getCFInstrCost(unsigned Opcode) override {
1445
118k
    return Impl.getCFInstrCost(Opcode);
1446
118k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getCFInstrCost(unsigned int)
Line
Count
Source
1444
106k
  int getCFInstrCost(unsigned Opcode) override {
1445
106k
    return Impl.getCFInstrCost(Opcode);
1446
106k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getCFInstrCost(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getCFInstrCost(unsigned int)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getCFInstrCost(unsigned int)
Line
Count
Source
1444
3.13k
  int getCFInstrCost(unsigned Opcode) override {
1445
3.13k
    return Impl.getCFInstrCost(Opcode);
1446
3.13k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getCFInstrCost(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getCFInstrCost(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getCFInstrCost(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getCFInstrCost(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getCFInstrCost(unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getCFInstrCost(unsigned int)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getCFInstrCost(unsigned int)
Line
Count
Source
1444
8.78k
  int getCFInstrCost(unsigned Opcode) override {
1445
8.78k
    return Impl.getCFInstrCost(Opcode);
1446
8.78k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getCFInstrCost(unsigned int)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getCFInstrCost(unsigned int)
1447
  int getCmpSelInstrCost(unsigned Opcode, Type *ValTy, Type *CondTy,
1448
155k
                         const Instruction *I) override {
1449
155k
    return Impl.getCmpSelInstrCost(Opcode, ValTy, CondTy, I);
1450
155k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getCmpSelInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Line
Count
Source
1448
140k
                         const Instruction *I) override {
1449
140k
    return Impl.getCmpSelInstrCost(Opcode, ValTy, CondTy, I);
1450
140k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getCmpSelInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getCmpSelInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getCmpSelInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Line
Count
Source
1448
4.31k
                         const Instruction *I) override {
1449
4.31k
    return Impl.getCmpSelInstrCost(Opcode, ValTy, CondTy, I);
1450
4.31k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getCmpSelInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getCmpSelInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getCmpSelInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getCmpSelInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getCmpSelInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getCmpSelInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getCmpSelInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Line
Count
Source
1448
10.7k
                         const Instruction *I) override {
1449
10.7k
    return Impl.getCmpSelInstrCost(Opcode, ValTy, CondTy, I);
1450
10.7k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getCmpSelInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getCmpSelInstrCost(unsigned int, llvm::Type*, llvm::Type*, llvm::Instruction const*)
1451
1.60M
  int getVectorInstrCost(unsigned Opcode, Type *Val, unsigned Index) override {
1452
1.60M
    return Impl.getVectorInstrCost(Opcode, Val, Index);
1453
1.60M
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getVectorInstrCost(unsigned int, llvm::Type*, unsigned int)
Line
Count
Source
1451
1.43M
  int getVectorInstrCost(unsigned Opcode, Type *Val, unsigned Index) override {
1452
1.43M
    return Impl.getVectorInstrCost(Opcode, Val, Index);
1453
1.43M
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getVectorInstrCost(unsigned int, llvm::Type*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getVectorInstrCost(unsigned int, llvm::Type*, unsigned int)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getVectorInstrCost(unsigned int, llvm::Type*, unsigned int)
Line
Count
Source
1451
26.5k
  int getVectorInstrCost(unsigned Opcode, Type *Val, unsigned Index) override {
1452
26.5k
    return Impl.getVectorInstrCost(Opcode, Val, Index);
1453
26.5k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getVectorInstrCost(unsigned int, llvm::Type*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getVectorInstrCost(unsigned int, llvm::Type*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getVectorInstrCost(unsigned int, llvm::Type*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getVectorInstrCost(unsigned int, llvm::Type*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getVectorInstrCost(unsigned int, llvm::Type*, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getVectorInstrCost(unsigned int, llvm::Type*, unsigned int)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getVectorInstrCost(unsigned int, llvm::Type*, unsigned int)
Line
Count
Source
1451
139k
  int getVectorInstrCost(unsigned Opcode, Type *Val, unsigned Index) override {
1452
139k
    return Impl.getVectorInstrCost(Opcode, Val, Index);
1453
139k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getVectorInstrCost(unsigned int, llvm::Type*, unsigned int)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getVectorInstrCost(unsigned int, llvm::Type*, unsigned int)
1454
  int getMemoryOpCost(unsigned Opcode, Type *Src, unsigned Alignment,
1455
373k
                      unsigned AddressSpace, const Instruction *I) override {
1456
373k
    return Impl.getMemoryOpCost(Opcode, Src, Alignment, AddressSpace, I);
1457
373k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int, llvm::Instruction const*)
Line
Count
Source
1455
345k
                      unsigned AddressSpace, const Instruction *I) override {
1456
345k
    return Impl.getMemoryOpCost(Opcode, Src, Alignment, AddressSpace, I);
1457
345k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int, llvm::Instruction const*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int, llvm::Instruction const*)
Line
Count
Source
1455
3.62k
                      unsigned AddressSpace, const Instruction *I) override {
1456
3.62k
    return Impl.getMemoryOpCost(Opcode, Src, Alignment, AddressSpace, I);
1457
3.62k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int, llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int, llvm::Instruction const*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int, llvm::Instruction const*)
Line
Count
Source
1455
24.0k
                      unsigned AddressSpace, const Instruction *I) override {
1456
24.0k
    return Impl.getMemoryOpCost(Opcode, Src, Alignment, AddressSpace, I);
1457
24.0k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int, llvm::Instruction const*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int, llvm::Instruction const*)
1458
  int getMaskedMemoryOpCost(unsigned Opcode, Type *Src, unsigned Alignment,
1459
12
                            unsigned AddressSpace) override {
1460
12
    return Impl.getMaskedMemoryOpCost(Opcode, Src, Alignment, AddressSpace);
1461
12
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getMaskedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getMaskedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getMaskedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getMaskedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getMaskedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getMaskedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getMaskedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getMaskedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getMaskedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getMaskedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getMaskedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int)
Line
Count
Source
1459
12
                            unsigned AddressSpace) override {
1460
12
    return Impl.getMaskedMemoryOpCost(Opcode, Src, Alignment, AddressSpace);
1461
12
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getMaskedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getMaskedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, unsigned int)
1462
  int getGatherScatterOpCost(unsigned Opcode, Type *DataTy,
1463
                             Value *Ptr, bool VariableMask,
1464
0
                             unsigned Alignment) override {
1465
0
    return Impl.getGatherScatterOpCost(Opcode, DataTy, Ptr, VariableMask,
1466
0
                                       Alignment);
1467
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getGatherScatterOpCost(unsigned int, llvm::Type*, llvm::Value*, bool, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getGatherScatterOpCost(unsigned int, llvm::Type*, llvm::Value*, bool, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getGatherScatterOpCost(unsigned int, llvm::Type*, llvm::Value*, bool, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getGatherScatterOpCost(unsigned int, llvm::Type*, llvm::Value*, bool, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getGatherScatterOpCost(unsigned int, llvm::Type*, llvm::Value*, bool, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getGatherScatterOpCost(unsigned int, llvm::Type*, llvm::Value*, bool, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getGatherScatterOpCost(unsigned int, llvm::Type*, llvm::Value*, bool, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getGatherScatterOpCost(unsigned int, llvm::Type*, llvm::Value*, bool, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getGatherScatterOpCost(unsigned int, llvm::Type*, llvm::Value*, bool, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getGatherScatterOpCost(unsigned int, llvm::Type*, llvm::Value*, bool, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getGatherScatterOpCost(unsigned int, llvm::Type*, llvm::Value*, bool, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getGatherScatterOpCost(unsigned int, llvm::Type*, llvm::Value*, bool, unsigned int)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getGatherScatterOpCost(unsigned int, llvm::Type*, llvm::Value*, bool, unsigned int)
1468
  int getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy, unsigned Factor,
1469
                                 ArrayRef<unsigned> Indices, unsigned Alignment,
1470
2.08k
                                 unsigned AddressSpace) override {
1471
2.08k
    return Impl.getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indices,
1472
2.08k
                                           Alignment, AddressSpace);
1473
2.08k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getInterleavedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, llvm::ArrayRef<unsigned int>, unsigned int, unsigned int)
Line
Count
Source
1470
1.98k
                                 unsigned AddressSpace) override {
1471
1.98k
    return Impl.getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indices,
1472
1.98k
                                           Alignment, AddressSpace);
1473
1.98k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getInterleavedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, llvm::ArrayRef<unsigned int>, unsigned int, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getInterleavedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, llvm::ArrayRef<unsigned int>, unsigned int, unsigned int)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getInterleavedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, llvm::ArrayRef<unsigned int>, unsigned int, unsigned int)
Line
Count
Source
1470
21
                                 unsigned AddressSpace) override {
1471
21
    return Impl.getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indices,
1472
21
                                           Alignment, AddressSpace);
1473
21
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getInterleavedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, llvm::ArrayRef<unsigned int>, unsigned int, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getInterleavedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, llvm::ArrayRef<unsigned int>, unsigned int, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getInterleavedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, llvm::ArrayRef<unsigned int>, unsigned int, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getInterleavedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, llvm::ArrayRef<unsigned int>, unsigned int, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getInterleavedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, llvm::ArrayRef<unsigned int>, unsigned int, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getInterleavedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, llvm::ArrayRef<unsigned int>, unsigned int, unsigned int)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getInterleavedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, llvm::ArrayRef<unsigned int>, unsigned int, unsigned int)
Line
Count
Source
1470
81
                                 unsigned AddressSpace) override {
1471
81
    return Impl.getInterleavedMemoryOpCost(Opcode, VecTy, Factor, Indices,
1472
81
                                           Alignment, AddressSpace);
1473
81
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getInterleavedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, llvm::ArrayRef<unsigned int>, unsigned int, unsigned int)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getInterleavedMemoryOpCost(unsigned int, llvm::Type*, unsigned int, llvm::ArrayRef<unsigned int>, unsigned int, unsigned int)
1474
  int getArithmeticReductionCost(unsigned Opcode, Type *Ty,
1475
3.61k
                                 bool IsPairwiseForm) override {
1476
3.61k
    return Impl.getArithmeticReductionCost(Opcode, Ty, IsPairwiseForm);
1477
3.61k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getArithmeticReductionCost(unsigned int, llvm::Type*, bool)
Line
Count
Source
1475
3.59k
                                 bool IsPairwiseForm) override {
1476
3.59k
    return Impl.getArithmeticReductionCost(Opcode, Ty, IsPairwiseForm);
1477
3.59k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getArithmeticReductionCost(unsigned int, llvm::Type*, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getArithmeticReductionCost(unsigned int, llvm::Type*, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getArithmeticReductionCost(unsigned int, llvm::Type*, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getArithmeticReductionCost(unsigned int, llvm::Type*, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getArithmeticReductionCost(unsigned int, llvm::Type*, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getArithmeticReductionCost(unsigned int, llvm::Type*, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getArithmeticReductionCost(unsigned int, llvm::Type*, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getArithmeticReductionCost(unsigned int, llvm::Type*, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getArithmeticReductionCost(unsigned int, llvm::Type*, bool)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getArithmeticReductionCost(unsigned int, llvm::Type*, bool)
Line
Count
Source
1475
24
                                 bool IsPairwiseForm) override {
1476
24
    return Impl.getArithmeticReductionCost(Opcode, Ty, IsPairwiseForm);
1477
24
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getArithmeticReductionCost(unsigned int, llvm::Type*, bool)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getArithmeticReductionCost(unsigned int, llvm::Type*, bool)
1478
  int getMinMaxReductionCost(Type *Ty, Type *CondTy,
1479
2.84k
                             bool IsPairwiseForm, bool IsUnsigned) override {
1480
2.84k
    return Impl.getMinMaxReductionCost(Ty, CondTy, IsPairwiseForm, IsUnsigned);
1481
2.84k
   }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getMinMaxReductionCost(llvm::Type*, llvm::Type*, bool, bool)
Line
Count
Source
1479
2.84k
                             bool IsPairwiseForm, bool IsUnsigned) override {
1480
2.84k
    return Impl.getMinMaxReductionCost(Ty, CondTy, IsPairwiseForm, IsUnsigned);
1481
2.84k
   }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getMinMaxReductionCost(llvm::Type*, llvm::Type*, bool, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getMinMaxReductionCost(llvm::Type*, llvm::Type*, bool, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getMinMaxReductionCost(llvm::Type*, llvm::Type*, bool, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getMinMaxReductionCost(llvm::Type*, llvm::Type*, bool, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getMinMaxReductionCost(llvm::Type*, llvm::Type*, bool, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getMinMaxReductionCost(llvm::Type*, llvm::Type*, bool, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getMinMaxReductionCost(llvm::Type*, llvm::Type*, bool, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getMinMaxReductionCost(llvm::Type*, llvm::Type*, bool, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getMinMaxReductionCost(llvm::Type*, llvm::Type*, bool, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getMinMaxReductionCost(llvm::Type*, llvm::Type*, bool, bool)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getMinMaxReductionCost(llvm::Type*, llvm::Type*, bool, bool)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getMinMaxReductionCost(llvm::Type*, llvm::Type*, bool, bool)
1482
  int getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy, ArrayRef<Type *> Tys,
1483
1.26k
               FastMathFlags FMF, unsigned ScalarizationCostPassed) override {
1484
1.26k
    return Impl.getIntrinsicInstrCost(ID, RetTy, Tys, FMF,
1485
1.26k
                                      ScalarizationCostPassed);
1486
1.26k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>, llvm::FastMathFlags, unsigned int)
Line
Count
Source
1483
677
               FastMathFlags FMF, unsigned ScalarizationCostPassed) override {
1484
677
    return Impl.getIntrinsicInstrCost(ID, RetTy, Tys, FMF,
1485
677
                                      ScalarizationCostPassed);
1486
677
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>, llvm::FastMathFlags, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>, llvm::FastMathFlags, unsigned int)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>, llvm::FastMathFlags, unsigned int)
Line
Count
Source
1483
258
               FastMathFlags FMF, unsigned ScalarizationCostPassed) override {
1484
258
    return Impl.getIntrinsicInstrCost(ID, RetTy, Tys, FMF,
1485
258
                                      ScalarizationCostPassed);
1486
258
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>, llvm::FastMathFlags, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>, llvm::FastMathFlags, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>, llvm::FastMathFlags, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>, llvm::FastMathFlags, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>, llvm::FastMathFlags, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>, llvm::FastMathFlags, unsigned int)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>, llvm::FastMathFlags, unsigned int)
Line
Count
Source
1483
327
               FastMathFlags FMF, unsigned ScalarizationCostPassed) override {
1484
327
    return Impl.getIntrinsicInstrCost(ID, RetTy, Tys, FMF,
1485
327
                                      ScalarizationCostPassed);
1486
327
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>, llvm::FastMathFlags, unsigned int)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Type*>, llvm::FastMathFlags, unsigned int)
1487
  int getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
1488
2.43k
       ArrayRef<Value *> Args, FastMathFlags FMF, unsigned VF) override {
1489
2.43k
    return Impl.getIntrinsicInstrCost(ID, RetTy, Args, FMF, VF);
1490
2.43k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::FastMathFlags, unsigned int)
Line
Count
Source
1488
1.84k
       ArrayRef<Value *> Args, FastMathFlags FMF, unsigned VF) override {
1489
1.84k
    return Impl.getIntrinsicInstrCost(ID, RetTy, Args, FMF, VF);
1490
1.84k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::FastMathFlags, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::FastMathFlags, unsigned int)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::FastMathFlags, unsigned int)
Line
Count
Source
1488
258
       ArrayRef<Value *> Args, FastMathFlags FMF, unsigned VF) override {
1489
258
    return Impl.getIntrinsicInstrCost(ID, RetTy, Args, FMF, VF);
1490
258
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::FastMathFlags, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::FastMathFlags, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::FastMathFlags, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::FastMathFlags, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::FastMathFlags, unsigned int)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::FastMathFlags, unsigned int)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::FastMathFlags, unsigned int)
Line
Count
Source
1488
327
       ArrayRef<Value *> Args, FastMathFlags FMF, unsigned VF) override {
1489
327
    return Impl.getIntrinsicInstrCost(ID, RetTy, Args, FMF, VF);
1490
327
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::FastMathFlags, unsigned int)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID, llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::FastMathFlags, unsigned int)
1491
  int getCallInstrCost(Function *F, Type *RetTy,
1492
1.17k
                       ArrayRef<Type *> Tys) override {
1493
1.17k
    return Impl.getCallInstrCost(F, RetTy, Tys);
1494
1.17k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getCallInstrCost(llvm::Function*, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Line
Count
Source
1492
1.17k
                       ArrayRef<Type *> Tys) override {
1493
1.17k
    return Impl.getCallInstrCost(F, RetTy, Tys);
1494
1.17k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getCallInstrCost(llvm::Function*, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getCallInstrCost(llvm::Function*, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getCallInstrCost(llvm::Function*, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getCallInstrCost(llvm::Function*, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getCallInstrCost(llvm::Function*, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getCallInstrCost(llvm::Function*, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getCallInstrCost(llvm::Function*, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getCallInstrCost(llvm::Function*, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getCallInstrCost(llvm::Function*, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getCallInstrCost(llvm::Function*, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getCallInstrCost(llvm::Function*, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getCallInstrCost(llvm::Function*, llvm::Type*, llvm::ArrayRef<llvm::Type*>)
1495
620k
  unsigned getNumberOfParts(Type *Tp) override {
1496
620k
    return Impl.getNumberOfParts(Tp);
1497
620k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getNumberOfParts(llvm::Type*)
Line
Count
Source
1495
554k
  unsigned getNumberOfParts(Type *Tp) override {
1496
554k
    return Impl.getNumberOfParts(Tp);
1497
554k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getNumberOfParts(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getNumberOfParts(llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getNumberOfParts(llvm::Type*)
Line
Count
Source
1495
13.1k
  unsigned getNumberOfParts(Type *Tp) override {
1496
13.1k
    return Impl.getNumberOfParts(Tp);
1497
13.1k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getNumberOfParts(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getNumberOfParts(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getNumberOfParts(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getNumberOfParts(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getNumberOfParts(llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getNumberOfParts(llvm::Type*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getNumberOfParts(llvm::Type*)
Line
Count
Source
1495
52.2k
  unsigned getNumberOfParts(Type *Tp) override {
1496
52.2k
    return Impl.getNumberOfParts(Tp);
1497
52.2k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getNumberOfParts(llvm::Type*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getNumberOfParts(llvm::Type*)
1498
  int getAddressComputationCost(Type *Ty, ScalarEvolution *SE,
1499
53.8k
                                const SCEV *Ptr) override {
1500
53.8k
    return Impl.getAddressComputationCost(Ty, SE, Ptr);
1501
53.8k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getAddressComputationCost(llvm::Type*, llvm::ScalarEvolution*, llvm::SCEV const*)
Line
Count
Source
1499
50.2k
                                const SCEV *Ptr) override {
1500
50.2k
    return Impl.getAddressComputationCost(Ty, SE, Ptr);
1501
50.2k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getAddressComputationCost(llvm::Type*, llvm::ScalarEvolution*, llvm::SCEV const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getAddressComputationCost(llvm::Type*, llvm::ScalarEvolution*, llvm::SCEV const*)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getAddressComputationCost(llvm::Type*, llvm::ScalarEvolution*, llvm::SCEV const*)
Line
Count
Source
1499
918
                                const SCEV *Ptr) override {
1500
918
    return Impl.getAddressComputationCost(Ty, SE, Ptr);
1501
918
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getAddressComputationCost(llvm::Type*, llvm::ScalarEvolution*, llvm::SCEV const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getAddressComputationCost(llvm::Type*, llvm::ScalarEvolution*, llvm::SCEV const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getAddressComputationCost(llvm::Type*, llvm::ScalarEvolution*, llvm::SCEV const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getAddressComputationCost(llvm::Type*, llvm::ScalarEvolution*, llvm::SCEV const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getAddressComputationCost(llvm::Type*, llvm::ScalarEvolution*, llvm::SCEV const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getAddressComputationCost(llvm::Type*, llvm::ScalarEvolution*, llvm::SCEV const*)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getAddressComputationCost(llvm::Type*, llvm::ScalarEvolution*, llvm::SCEV const*)
Line
Count
Source
1499
2.65k
                                const SCEV *Ptr) override {
1500
2.65k
    return Impl.getAddressComputationCost(Ty, SE, Ptr);
1501
2.65k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getAddressComputationCost(llvm::Type*, llvm::ScalarEvolution*, llvm::SCEV const*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getAddressComputationCost(llvm::Type*, llvm::ScalarEvolution*, llvm::SCEV const*)
1502
345k
  unsigned getCostOfKeepingLiveOverCall(ArrayRef<Type *> Tys) override {
1503
345k
    return Impl.getCostOfKeepingLiveOverCall(Tys);
1504
345k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getCostOfKeepingLiveOverCall(llvm::ArrayRef<llvm::Type*>)
Line
Count
Source
1502
319k
  unsigned getCostOfKeepingLiveOverCall(ArrayRef<Type *> Tys) override {
1503
319k
    return Impl.getCostOfKeepingLiveOverCall(Tys);
1504
319k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getCostOfKeepingLiveOverCall(llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getCostOfKeepingLiveOverCall(llvm::ArrayRef<llvm::Type*>)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getCostOfKeepingLiveOverCall(llvm::ArrayRef<llvm::Type*>)
Line
Count
Source
1502
3.11k
  unsigned getCostOfKeepingLiveOverCall(ArrayRef<Type *> Tys) override {
1503
3.11k
    return Impl.getCostOfKeepingLiveOverCall(Tys);
1504
3.11k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getCostOfKeepingLiveOverCall(llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getCostOfKeepingLiveOverCall(llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getCostOfKeepingLiveOverCall(llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getCostOfKeepingLiveOverCall(llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getCostOfKeepingLiveOverCall(llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getCostOfKeepingLiveOverCall(llvm::ArrayRef<llvm::Type*>)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getCostOfKeepingLiveOverCall(llvm::ArrayRef<llvm::Type*>)
Line
Count
Source
1502
22.9k
  unsigned getCostOfKeepingLiveOverCall(ArrayRef<Type *> Tys) override {
1503
22.9k
    return Impl.getCostOfKeepingLiveOverCall(Tys);
1504
22.9k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getCostOfKeepingLiveOverCall(llvm::ArrayRef<llvm::Type*>)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getCostOfKeepingLiveOverCall(llvm::ArrayRef<llvm::Type*>)
1505
  bool getTgtMemIntrinsic(IntrinsicInst *Inst,
1506
463k
                          MemIntrinsicInfo &Info) override {
1507
463k
    return Impl.getTgtMemIntrinsic(Inst, Info);
1508
463k
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getTgtMemIntrinsic(llvm::IntrinsicInst*, llvm::MemIntrinsicInfo&)
Line
Count
Source
1506
338k
                          MemIntrinsicInfo &Info) override {
1507
338k
    return Impl.getTgtMemIntrinsic(Inst, Info);
1508
338k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getTgtMemIntrinsic(llvm::IntrinsicInst*, llvm::MemIntrinsicInfo&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getTgtMemIntrinsic(llvm::IntrinsicInst*, llvm::MemIntrinsicInfo&)
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getTgtMemIntrinsic(llvm::IntrinsicInst*, llvm::MemIntrinsicInfo&)
Line
Count
Source
1506
31.0k
                          MemIntrinsicInfo &Info) override {
1507
31.0k
    return Impl.getTgtMemIntrinsic(Inst, Info);
1508
31.0k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getTgtMemIntrinsic(llvm::IntrinsicInst*, llvm::MemIntrinsicInfo&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getTgtMemIntrinsic(llvm::IntrinsicInst*, llvm::MemIntrinsicInfo&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getTgtMemIntrinsic(llvm::IntrinsicInst*, llvm::MemIntrinsicInfo&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getTgtMemIntrinsic(llvm::IntrinsicInst*, llvm::MemIntrinsicInfo&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getTgtMemIntrinsic(llvm::IntrinsicInst*, llvm::MemIntrinsicInfo&)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getTgtMemIntrinsic(llvm::IntrinsicInst*, llvm::MemIntrinsicInfo&)
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getTgtMemIntrinsic(llvm::IntrinsicInst*, llvm::MemIntrinsicInfo&)
Line
Count
Source
1506
94.2k
                          MemIntrinsicInfo &Info) override {
1507
94.2k
    return Impl.getTgtMemIntrinsic(Inst, Info);
1508
94.2k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getTgtMemIntrinsic(llvm::IntrinsicInst*, llvm::MemIntrinsicInfo&)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getTgtMemIntrinsic(llvm::IntrinsicInst*, llvm::MemIntrinsicInfo&)
1509
0
  unsigned getAtomicMemIntrinsicMaxElementSize() const override {
1510
0
    return Impl.getAtomicMemIntrinsicMaxElementSize();
1511
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getAtomicMemIntrinsicMaxElementSize() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getAtomicMemIntrinsicMaxElementSize() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getAtomicMemIntrinsicMaxElementSize() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getAtomicMemIntrinsicMaxElementSize() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getAtomicMemIntrinsicMaxElementSize() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getAtomicMemIntrinsicMaxElementSize() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getAtomicMemIntrinsicMaxElementSize() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getAtomicMemIntrinsicMaxElementSize() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getAtomicMemIntrinsicMaxElementSize() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getAtomicMemIntrinsicMaxElementSize() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getAtomicMemIntrinsicMaxElementSize() const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getAtomicMemIntrinsicMaxElementSize() const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getAtomicMemIntrinsicMaxElementSize() const
1512
  Value *getOrCreateResultFromMemIntrinsic(IntrinsicInst *Inst,
1513
58
                                           Type *ExpectedType) override {
1514
58
    return Impl.getOrCreateResultFromMemIntrinsic(Inst, ExpectedType);
1515
58
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getOrCreateResultFromMemIntrinsic(llvm::IntrinsicInst*, llvm::Type*)
Line
Count
Source
1513
58
                                           Type *ExpectedType) override {
1514
58
    return Impl.getOrCreateResultFromMemIntrinsic(Inst, ExpectedType);
1515
58
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getOrCreateResultFromMemIntrinsic(llvm::IntrinsicInst*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getOrCreateResultFromMemIntrinsic(llvm::IntrinsicInst*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getOrCreateResultFromMemIntrinsic(llvm::IntrinsicInst*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getOrCreateResultFromMemIntrinsic(llvm::IntrinsicInst*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getOrCreateResultFromMemIntrinsic(llvm::IntrinsicInst*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getOrCreateResultFromMemIntrinsic(llvm::IntrinsicInst*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getOrCreateResultFromMemIntrinsic(llvm::IntrinsicInst*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getOrCreateResultFromMemIntrinsic(llvm::IntrinsicInst*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getOrCreateResultFromMemIntrinsic(llvm::IntrinsicInst*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getOrCreateResultFromMemIntrinsic(llvm::IntrinsicInst*, llvm::Type*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getOrCreateResultFromMemIntrinsic(llvm::IntrinsicInst*, llvm::Type*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getOrCreateResultFromMemIntrinsic(llvm::IntrinsicInst*, llvm::Type*)
1516
  Type *getMemcpyLoopLoweringType(LLVMContext &Context, Value *Length,
1517
                                  unsigned SrcAlign,
1518
0
                                  unsigned DestAlign) const override {
1519
0
    return Impl.getMemcpyLoopLoweringType(Context, Length, SrcAlign, DestAlign);
1520
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getMemcpyLoopLoweringType(llvm::LLVMContext&, llvm::Value*, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getMemcpyLoopLoweringType(llvm::LLVMContext&, llvm::Value*, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getMemcpyLoopLoweringType(llvm::LLVMContext&, llvm::Value*, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getMemcpyLoopLoweringType(llvm::LLVMContext&, llvm::Value*, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getMemcpyLoopLoweringType(llvm::LLVMContext&, llvm::Value*, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getMemcpyLoopLoweringType(llvm::LLVMContext&, llvm::Value*, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getMemcpyLoopLoweringType(llvm::LLVMContext&, llvm::Value*, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getMemcpyLoopLoweringType(llvm::LLVMContext&, llvm::Value*, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getMemcpyLoopLoweringType(llvm::LLVMContext&, llvm::Value*, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getMemcpyLoopLoweringType(llvm::LLVMContext&, llvm::Value*, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getMemcpyLoopLoweringType(llvm::LLVMContext&, llvm::Value*, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getMemcpyLoopLoweringType(llvm::LLVMContext&, llvm::Value*, unsigned int, unsigned int) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getMemcpyLoopLoweringType(llvm::LLVMContext&, llvm::Value*, unsigned int, unsigned int) const
1521
  void getMemcpyLoopResidualLoweringType(SmallVectorImpl<Type *> &OpsOut,
1522
                                         LLVMContext &Context,
1523
                                         unsigned RemainingBytes,
1524
                                         unsigned SrcAlign,
1525
0
                                         unsigned DestAlign) const override {
1526
0
    Impl.getMemcpyLoopResidualLoweringType(OpsOut, Context, RemainingBytes,
1527
0
                                           SrcAlign, DestAlign);
1528
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getMemcpyLoopResidualLoweringType(llvm::SmallVectorImpl<llvm::Type*>&, llvm::LLVMContext&, unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getMemcpyLoopResidualLoweringType(llvm::SmallVectorImpl<llvm::Type*>&, llvm::LLVMContext&, unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getMemcpyLoopResidualLoweringType(llvm::SmallVectorImpl<llvm::Type*>&, llvm::LLVMContext&, unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getMemcpyLoopResidualLoweringType(llvm::SmallVectorImpl<llvm::Type*>&, llvm::LLVMContext&, unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getMemcpyLoopResidualLoweringType(llvm::SmallVectorImpl<llvm::Type*>&, llvm::LLVMContext&, unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getMemcpyLoopResidualLoweringType(llvm::SmallVectorImpl<llvm::Type*>&, llvm::LLVMContext&, unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getMemcpyLoopResidualLoweringType(llvm::SmallVectorImpl<llvm::Type*>&, llvm::LLVMContext&, unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getMemcpyLoopResidualLoweringType(llvm::SmallVectorImpl<llvm::Type*>&, llvm::LLVMContext&, unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getMemcpyLoopResidualLoweringType(llvm::SmallVectorImpl<llvm::Type*>&, llvm::LLVMContext&, unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getMemcpyLoopResidualLoweringType(llvm::SmallVectorImpl<llvm::Type*>&, llvm::LLVMContext&, unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getMemcpyLoopResidualLoweringType(llvm::SmallVectorImpl<llvm::Type*>&, llvm::LLVMContext&, unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getMemcpyLoopResidualLoweringType(llvm::SmallVectorImpl<llvm::Type*>&, llvm::LLVMContext&, unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getMemcpyLoopResidualLoweringType(llvm::SmallVectorImpl<llvm::Type*>&, llvm::LLVMContext&, unsigned int, unsigned int, unsigned int) const
1529
  bool areInlineCompatible(const Function *Caller,
1530
1.58M
                           const Function *Callee) const override {
1531
1.58M
    return Impl.areInlineCompatible(Caller, Callee);
1532
1.58M
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::areInlineCompatible(llvm::Function const*, llvm::Function const*) const
Line
Count
Source
1530
1.29M
                           const Function *Callee) const override {
1531
1.29M
    return Impl.areInlineCompatible(Caller, Callee);
1532
1.29M
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::areInlineCompatible(llvm::Function const*, llvm::Function const*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::areInlineCompatible(llvm::Function const*, llvm::Function const*) const
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::areInlineCompatible(llvm::Function const*, llvm::Function const*) const
Line
Count
Source
1530
80.5k
                           const Function *Callee) const override {
1531
80.5k
    return Impl.areInlineCompatible(Caller, Callee);
1532
80.5k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::areInlineCompatible(llvm::Function const*, llvm::Function const*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::areInlineCompatible(llvm::Function const*, llvm::Function const*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::areInlineCompatible(llvm::Function const*, llvm::Function const*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::areInlineCompatible(llvm::Function const*, llvm::Function const*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::areInlineCompatible(llvm::Function const*, llvm::Function const*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::areInlineCompatible(llvm::Function const*, llvm::Function const*) const
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::areInlineCompatible(llvm::Function const*, llvm::Function const*) const
Line
Count
Source
1530
213k
                           const Function *Callee) const override {
1531
213k
    return Impl.areInlineCompatible(Caller, Callee);
1532
213k
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::areInlineCompatible(llvm::Function const*, llvm::Function const*) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::areInlineCompatible(llvm::Function const*, llvm::Function const*) const
1533
0
  bool isIndexedLoadLegal(MemIndexedMode Mode, Type *Ty) const override {
1534
0
    return Impl.isIndexedLoadLegal(Mode, Ty, getDataLayout());
1535
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isIndexedLoadLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isIndexedLoadLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isIndexedLoadLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isIndexedLoadLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isIndexedLoadLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isIndexedLoadLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isIndexedLoadLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isIndexedLoadLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isIndexedLoadLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isIndexedLoadLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isIndexedLoadLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isIndexedLoadLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isIndexedLoadLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
1536
0
  bool isIndexedStoreLegal(MemIndexedMode Mode, Type *Ty) const override {
1537
0
    return Impl.isIndexedStoreLegal(Mode, Ty, getDataLayout());
1538
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isIndexedStoreLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isIndexedStoreLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isIndexedStoreLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isIndexedStoreLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isIndexedStoreLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isIndexedStoreLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isIndexedStoreLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isIndexedStoreLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isIndexedStoreLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isIndexedStoreLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isIndexedStoreLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isIndexedStoreLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isIndexedStoreLegal(llvm::TargetTransformInfo::MemIndexedMode, llvm::Type*) const
1539
0
  unsigned getLoadStoreVecRegBitWidth(unsigned AddrSpace) const override {
1540
0
    return Impl.getLoadStoreVecRegBitWidth(AddrSpace);
1541
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getLoadStoreVecRegBitWidth(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getLoadStoreVecRegBitWidth(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getLoadStoreVecRegBitWidth(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getLoadStoreVecRegBitWidth(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getLoadStoreVecRegBitWidth(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getLoadStoreVecRegBitWidth(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getLoadStoreVecRegBitWidth(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getLoadStoreVecRegBitWidth(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getLoadStoreVecRegBitWidth(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getLoadStoreVecRegBitWidth(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getLoadStoreVecRegBitWidth(unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getLoadStoreVecRegBitWidth(unsigned int) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getLoadStoreVecRegBitWidth(unsigned int) const
1542
0
  bool isLegalToVectorizeLoad(LoadInst *LI) const override {
1543
0
    return Impl.isLegalToVectorizeLoad(LI);
1544
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isLegalToVectorizeLoad(llvm::LoadInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isLegalToVectorizeLoad(llvm::LoadInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isLegalToVectorizeLoad(llvm::LoadInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isLegalToVectorizeLoad(llvm::LoadInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isLegalToVectorizeLoad(llvm::LoadInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isLegalToVectorizeLoad(llvm::LoadInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isLegalToVectorizeLoad(llvm::LoadInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isLegalToVectorizeLoad(llvm::LoadInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isLegalToVectorizeLoad(llvm::LoadInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isLegalToVectorizeLoad(llvm::LoadInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isLegalToVectorizeLoad(llvm::LoadInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isLegalToVectorizeLoad(llvm::LoadInst*) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isLegalToVectorizeLoad(llvm::LoadInst*) const
1545
0
  bool isLegalToVectorizeStore(StoreInst *SI) const override {
1546
0
    return Impl.isLegalToVectorizeStore(SI);
1547
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isLegalToVectorizeStore(llvm::StoreInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isLegalToVectorizeStore(llvm::StoreInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isLegalToVectorizeStore(llvm::StoreInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isLegalToVectorizeStore(llvm::StoreInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isLegalToVectorizeStore(llvm::StoreInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isLegalToVectorizeStore(llvm::StoreInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isLegalToVectorizeStore(llvm::StoreInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isLegalToVectorizeStore(llvm::StoreInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isLegalToVectorizeStore(llvm::StoreInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isLegalToVectorizeStore(llvm::StoreInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isLegalToVectorizeStore(llvm::StoreInst*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isLegalToVectorizeStore(llvm::StoreInst*) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isLegalToVectorizeStore(llvm::StoreInst*) const
1548
  bool isLegalToVectorizeLoadChain(unsigned ChainSizeInBytes,
1549
                                   unsigned Alignment,
1550
0
                                   unsigned AddrSpace) const override {
1551
0
    return Impl.isLegalToVectorizeLoadChain(ChainSizeInBytes, Alignment,
1552
0
                                            AddrSpace);
1553
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isLegalToVectorizeLoadChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isLegalToVectorizeLoadChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isLegalToVectorizeLoadChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isLegalToVectorizeLoadChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isLegalToVectorizeLoadChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isLegalToVectorizeLoadChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isLegalToVectorizeLoadChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isLegalToVectorizeLoadChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isLegalToVectorizeLoadChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isLegalToVectorizeLoadChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isLegalToVectorizeLoadChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isLegalToVectorizeLoadChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isLegalToVectorizeLoadChain(unsigned int, unsigned int, unsigned int) const
1554
  bool isLegalToVectorizeStoreChain(unsigned ChainSizeInBytes,
1555
                                    unsigned Alignment,
1556
0
                                    unsigned AddrSpace) const override {
1557
0
    return Impl.isLegalToVectorizeStoreChain(ChainSizeInBytes, Alignment,
1558
0
                                             AddrSpace);
1559
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::isLegalToVectorizeStoreChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::isLegalToVectorizeStoreChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::isLegalToVectorizeStoreChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::isLegalToVectorizeStoreChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::isLegalToVectorizeStoreChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::isLegalToVectorizeStoreChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::isLegalToVectorizeStoreChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::isLegalToVectorizeStoreChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::isLegalToVectorizeStoreChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::isLegalToVectorizeStoreChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::isLegalToVectorizeStoreChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::isLegalToVectorizeStoreChain(unsigned int, unsigned int, unsigned int) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::isLegalToVectorizeStoreChain(unsigned int, unsigned int, unsigned int) const
1560
  unsigned getLoadVectorFactor(unsigned VF, unsigned LoadSize,
1561
                               unsigned ChainSizeInBytes,
1562
0
                               VectorType *VecTy) const override {
1563
0
    return Impl.getLoadVectorFactor(VF, LoadSize, ChainSizeInBytes, VecTy);
1564
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getLoadVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getLoadVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getLoadVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getLoadVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getLoadVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getLoadVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getLoadVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getLoadVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getLoadVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getLoadVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getLoadVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getLoadVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getLoadVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
1565
  unsigned getStoreVectorFactor(unsigned VF, unsigned StoreSize,
1566
                                unsigned ChainSizeInBytes,
1567
0
                                VectorType *VecTy) const override {
1568
0
    return Impl.getStoreVectorFactor(VF, StoreSize, ChainSizeInBytes, VecTy);
1569
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getStoreVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getStoreVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getStoreVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getStoreVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getStoreVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getStoreVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getStoreVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getStoreVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getStoreVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getStoreVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getStoreVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getStoreVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getStoreVectorFactor(unsigned int, unsigned int, unsigned int, llvm::VectorType*) const
1570
  bool useReductionIntrinsic(unsigned Opcode, Type *Ty,
1571
884
                             ReductionFlags Flags) const override {
1572
884
    return Impl.useReductionIntrinsic(Opcode, Ty, Flags);
1573
884
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::useReductionIntrinsic(unsigned int, llvm::Type*, llvm::TargetTransformInfo::ReductionFlags) const
Line
Count
Source
1571
763
                             ReductionFlags Flags) const override {
1572
763
    return Impl.useReductionIntrinsic(Opcode, Ty, Flags);
1573
763
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::useReductionIntrinsic(unsigned int, llvm::Type*, llvm::TargetTransformInfo::ReductionFlags) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::useReductionIntrinsic(unsigned int, llvm::Type*, llvm::TargetTransformInfo::ReductionFlags) const
llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::useReductionIntrinsic(unsigned int, llvm::Type*, llvm::TargetTransformInfo::ReductionFlags) const
Line
Count
Source
1571
39
                             ReductionFlags Flags) const override {
1572
39
    return Impl.useReductionIntrinsic(Opcode, Ty, Flags);
1573
39
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::useReductionIntrinsic(unsigned int, llvm::Type*, llvm::TargetTransformInfo::ReductionFlags) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::useReductionIntrinsic(unsigned int, llvm::Type*, llvm::TargetTransformInfo::ReductionFlags) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::useReductionIntrinsic(unsigned int, llvm::Type*, llvm::TargetTransformInfo::ReductionFlags) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::useReductionIntrinsic(unsigned int, llvm::Type*, llvm::TargetTransformInfo::ReductionFlags) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::useReductionIntrinsic(unsigned int, llvm::Type*, llvm::TargetTransformInfo::ReductionFlags) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::useReductionIntrinsic(unsigned int, llvm::Type*, llvm::TargetTransformInfo::ReductionFlags) const
llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::useReductionIntrinsic(unsigned int, llvm::Type*, llvm::TargetTransformInfo::ReductionFlags) const
Line
Count
Source
1571
82
                             ReductionFlags Flags) const override {
1572
82
    return Impl.useReductionIntrinsic(Opcode, Ty, Flags);
1573
82
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::useReductionIntrinsic(unsigned int, llvm::Type*, llvm::TargetTransformInfo::ReductionFlags) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::useReductionIntrinsic(unsigned int, llvm::Type*, llvm::TargetTransformInfo::ReductionFlags) const
1574
714
  bool shouldExpandReduction(const IntrinsicInst *II) const override {
1575
714
    return Impl.shouldExpandReduction(II);
1576
714
  }
llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::shouldExpandReduction(llvm::IntrinsicInst const*) const
Line
Count
Source
1574
714
  bool shouldExpandReduction(const IntrinsicInst *II) const override {
1575
714
    return Impl.shouldExpandReduction(II);
1576
714
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::shouldExpandReduction(llvm::IntrinsicInst const*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::shouldExpandReduction(llvm::IntrinsicInst const*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::shouldExpandReduction(llvm::IntrinsicInst const*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::shouldExpandReduction(llvm::IntrinsicInst const*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::shouldExpandReduction(llvm::IntrinsicInst const*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::shouldExpandReduction(llvm::IntrinsicInst const*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::shouldExpandReduction(llvm::IntrinsicInst const*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::shouldExpandReduction(llvm::IntrinsicInst const*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::shouldExpandReduction(llvm::IntrinsicInst const*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::shouldExpandReduction(llvm::IntrinsicInst const*) const
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::shouldExpandReduction(llvm::IntrinsicInst const*) const
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::shouldExpandReduction(llvm::IntrinsicInst const*) const
1577
0
  int getInstructionLatency(const Instruction *I) override {
1578
0
    return Impl.getInstructionLatency(I);
1579
0
  }
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::AArch64TTIImpl>::getInstructionLatency(llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::R600TTIImpl>::getInstructionLatency(llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::GCNTTIImpl>::getInstructionLatency(llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::ARMTTIImpl>::getInstructionLatency(llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::HexagonTTIImpl>::getInstructionLatency(llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::LanaiTTIImpl>::getInstructionLatency(llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::BasicTTIImpl>::getInstructionLatency(llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::NVPTXTTIImpl>::getInstructionLatency(llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::PPCTTIImpl>::getInstructionLatency(llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::SystemZTTIImpl>::getInstructionLatency(llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::X86TTIImpl>::getInstructionLatency(llvm::Instruction const*)
Unexecuted instantiation: llvm::TargetTransformInfo::Model<llvm::XCoreTTIImpl>::getInstructionLatency(llvm::Instruction const*)
Unexecuted instantiation: TargetTransformInfo.cpp:llvm::TargetTransformInfo::Model<(anonymous namespace)::NoTTIImpl>::getInstructionLatency(llvm::Instruction const*)
1580
};
1581
1582
template <typename T>
1583
TargetTransformInfo::TargetTransformInfo(T Impl)
1584
14.7M
    : TTIImpl(new Model<T>(Impl)) {}
llvm::TargetTransformInfo::TargetTransformInfo<llvm::AArch64TTIImpl>(llvm::AArch64TTIImpl)
Line
Count
Source
1584
12.3M
    : TTIImpl(new Model<T>(Impl)) {}
llvm::TargetTransformInfo::TargetTransformInfo<llvm::R600TTIImpl>(llvm::R600TTIImpl)
Line
Count
Source
1584
22
    : TTIImpl(new Model<T>(Impl)) {}
llvm::TargetTransformInfo::TargetTransformInfo<llvm::GCNTTIImpl>(llvm::GCNTTIImpl)
Line
Count
Source
1584
26
    : TTIImpl(new Model<T>(Impl)) {}
llvm::TargetTransformInfo::TargetTransformInfo<llvm::ARMTTIImpl>(llvm::ARMTTIImpl)
Line
Count
Source
1584
575k
    : TTIImpl(new Model<T>(Impl)) {}
Unexecuted instantiation: llvm::TargetTransformInfo::TargetTransformInfo<llvm::HexagonTTIImpl>(llvm::HexagonTTIImpl)
Unexecuted instantiation: llvm::TargetTransformInfo::TargetTransformInfo<llvm::LanaiTTIImpl>(llvm::LanaiTTIImpl)
Unexecuted instantiation: llvm::TargetTransformInfo::TargetTransformInfo<llvm::BasicTTIImpl>(llvm::BasicTTIImpl)
Unexecuted instantiation: llvm::TargetTransformInfo::TargetTransformInfo<llvm::NVPTXTTIImpl>(llvm::NVPTXTTIImpl)
Unexecuted instantiation: llvm::TargetTransformInfo::TargetTransformInfo<llvm::PPCTTIImpl>(llvm::PPCTTIImpl)
Unexecuted instantiation: llvm::TargetTransformInfo::TargetTransformInfo<llvm::SystemZTTIImpl>(llvm::SystemZTTIImpl)
llvm::TargetTransformInfo::TargetTransformInfo<llvm::X86TTIImpl>(llvm::X86TTIImpl)
Line
Count
Source
1584
1.79M
    : TTIImpl(new Model<T>(Impl)) {}
Unexecuted instantiation: llvm::TargetTransformInfo::TargetTransformInfo<llvm::XCoreTTIImpl>(llvm::XCoreTTIImpl)
1585
1586
/// Analysis pass providing the \c TargetTransformInfo.
1587
///
1588
/// The core idea of the TargetIRAnalysis is to expose an interface through
1589
/// which LLVM targets can analyze and provide information about the middle
1590
/// end's target-independent IR. This supports use cases such as target-aware
1591
/// cost modeling of IR constructs.
1592
///
1593
/// This is a function analysis because much of the cost modeling for targets
1594
/// is done in a subtarget specific way and LLVM supports compiling different
1595
/// functions targeting different subtargets in order to support runtime
1596
/// dispatch according to the observed subtarget.
1597
class TargetIRAnalysis : public AnalysisInfoMixin<TargetIRAnalysis> {
1598
public:
1599
  typedef TargetTransformInfo Result;
1600
1601
  /// Default construct a target IR analysis.
1602
  ///
1603
  /// This will use the module's datalayout to construct a baseline
1604
  /// conservative TTI result.
1605
  TargetIRAnalysis();
1606
1607
  /// Construct an IR analysis pass around a target-provide callback.
1608
  ///
1609
  /// The callback will be called with a particular function for which the TTI
1610
  /// is needed and must return a TTI object for that function.
1611
  TargetIRAnalysis(std::function<Result(const Function &)> TTICallback);
1612
1613
  // Value semantics. We spell out the constructors for MSVC.
1614
  TargetIRAnalysis(const TargetIRAnalysis &Arg)
1615
      : TTICallback(Arg.TTICallback) {}
1616
  TargetIRAnalysis(TargetIRAnalysis &&Arg)
1617
101k
      : TTICallback(std::move(Arg.TTICallback)) {}
1618
0
  TargetIRAnalysis &operator=(const TargetIRAnalysis &RHS) {
1619
0
    TTICallback = RHS.TTICallback;
1620
0
    return *this;
1621
0
  }
1622
0
  TargetIRAnalysis &operator=(TargetIRAnalysis &&RHS) {
1623
0
    TTICallback = std::move(RHS.TTICallback);
1624
0
    return *this;
1625
0
  }
1626
1627
  Result run(const Function &F, FunctionAnalysisManager &);
1628
1629
private:
1630
  friend AnalysisInfoMixin<TargetIRAnalysis>;
1631
  static AnalysisKey Key;
1632
1633
  /// The callback used to produce a result.
1634
  ///
1635
  /// We use a completely opaque callback so that targets can provide whatever
1636
  /// mechanism they desire for constructing the TTI for a given function.
1637
  ///
1638
  /// FIXME: Should we really use std::function? It's relatively inefficient.
1639
  /// It might be possible to arrange for even stateful callbacks to outlive
1640
  /// the analysis and thus use a function_ref which would be lighter weight.
1641
  /// This may also be less error prone as the callback is likely to reference
1642
  /// the external TargetMachine, and that reference needs to never dangle.
1643
  std::function<Result(const Function &)> TTICallback;
1644
1645
  /// Helper function used as the callback in the default constructor.
1646
  static Result getDefaultTTI(const Function &F);
1647
};
1648
1649
/// Wrapper pass for TargetTransformInfo.
1650
///
1651
/// This pass can be constructed from a TTI object which it stores internally
1652
/// and is queried by passes.
1653
class TargetTransformInfoWrapperPass : public ImmutablePass {
1654
  TargetIRAnalysis TIRA;
1655
  Optional<TargetTransformInfo> TTI;
1656
1657
  virtual void anchor();
1658
1659
public:
1660
  static char ID;
1661
1662
  /// We must provide a default constructor for the pass but it should
1663
  /// never be used.
1664
  ///
1665
  /// Use the constructor below or call one of the creation routines.
1666
  TargetTransformInfoWrapperPass();
1667
1668
  explicit TargetTransformInfoWrapperPass(TargetIRAnalysis TIRA);
1669
1670
  TargetTransformInfo &getTTI(const Function &F);
1671
};
1672
1673
/// Create an analysis pass wrapper around a TTI object.
1674
///
1675
/// This analysis pass just holds the TTI instance and makes it available to
1676
/// clients.
1677
ImmutablePass *createTargetTransformInfoWrapperPass(TargetIRAnalysis TIRA);
1678
1679
} // End llvm namespace
1680
1681
#endif