Coverage Report

Created: 2019-03-22 08:08

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