Coverage Report

Created: 2019-07-24 05:18

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