Coverage Report

Created: 2018-07-12 09:57

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