Coverage Report

Created: 2019-02-15 18:59

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