Coverage Report

Created: 2024-01-17 10:31

/src/llvm-project/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
Line
Count
Source (jump to first uncovered line)
1
//===-- AArch64BaseInfo.h - Top level definitions for AArch64 ---*- 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
//
9
// This file contains small standalone helper functions and enum definitions for
10
// the AArch64 target useful for the compiler back-end and the MC libraries.
11
// As such, it deliberately does not include references to LLVM core
12
// code gen types, passes, etc..
13
//
14
//===----------------------------------------------------------------------===//
15
16
#ifndef LLVM_LIB_TARGET_AARCH64_UTILS_AARCH64BASEINFO_H
17
#define LLVM_LIB_TARGET_AARCH64_UTILS_AARCH64BASEINFO_H
18
19
// FIXME: Is it easiest to fix this layering violation by moving the .inc
20
// #includes from AArch64MCTargetDesc.h to here?
21
#include "MCTargetDesc/AArch64MCTargetDesc.h" // For AArch64::X0 and friends.
22
#include "llvm/ADT/BitmaskEnum.h"
23
#include "llvm/ADT/STLExtras.h"
24
#include "llvm/ADT/StringSwitch.h"
25
#include "llvm/Support/ErrorHandling.h"
26
#include "llvm/TargetParser/SubtargetFeature.h"
27
28
namespace llvm {
29
30
0
inline static unsigned getWRegFromXReg(unsigned Reg) {
31
0
  switch (Reg) {
32
0
  case AArch64::X0: return AArch64::W0;
33
0
  case AArch64::X1: return AArch64::W1;
34
0
  case AArch64::X2: return AArch64::W2;
35
0
  case AArch64::X3: return AArch64::W3;
36
0
  case AArch64::X4: return AArch64::W4;
37
0
  case AArch64::X5: return AArch64::W5;
38
0
  case AArch64::X6: return AArch64::W6;
39
0
  case AArch64::X7: return AArch64::W7;
40
0
  case AArch64::X8: return AArch64::W8;
41
0
  case AArch64::X9: return AArch64::W9;
42
0
  case AArch64::X10: return AArch64::W10;
43
0
  case AArch64::X11: return AArch64::W11;
44
0
  case AArch64::X12: return AArch64::W12;
45
0
  case AArch64::X13: return AArch64::W13;
46
0
  case AArch64::X14: return AArch64::W14;
47
0
  case AArch64::X15: return AArch64::W15;
48
0
  case AArch64::X16: return AArch64::W16;
49
0
  case AArch64::X17: return AArch64::W17;
50
0
  case AArch64::X18: return AArch64::W18;
51
0
  case AArch64::X19: return AArch64::W19;
52
0
  case AArch64::X20: return AArch64::W20;
53
0
  case AArch64::X21: return AArch64::W21;
54
0
  case AArch64::X22: return AArch64::W22;
55
0
  case AArch64::X23: return AArch64::W23;
56
0
  case AArch64::X24: return AArch64::W24;
57
0
  case AArch64::X25: return AArch64::W25;
58
0
  case AArch64::X26: return AArch64::W26;
59
0
  case AArch64::X27: return AArch64::W27;
60
0
  case AArch64::X28: return AArch64::W28;
61
0
  case AArch64::FP: return AArch64::W29;
62
0
  case AArch64::LR: return AArch64::W30;
63
0
  case AArch64::SP: return AArch64::WSP;
64
0
  case AArch64::XZR: return AArch64::WZR;
65
0
  }
66
  // For anything else, return it unchanged.
67
0
  return Reg;
68
0
}
Unexecuted instantiation: AArch64AsmParser.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64AsmPrinter.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64MCInstLower.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64RegisterInfo.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64Subtarget.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64TargetMachine.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64TargetObjectFile.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64TargetTransformInfo.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: SMEABIPass.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: SVEIntrinsicOpts.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64SIMDInstrOpt.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64CallLowering.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64InstructionSelector.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64LegalizerInfo.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64O0PreLegalizerCombiner.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64PreLegalizerCombiner.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64PostLegalizerCombiner.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64PostLegalizerLowering.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64PostSelectOptimize.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64A57FPLoadBalancing.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64AdvSIMDScalarPass.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64BranchTargets.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64CleanupLocalDynamicTLSPass.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64CollectLOH.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64CondBrTuning.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64ConditionalCompares.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64DeadRegisterDefinitionsPass.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64ExpandImm.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64ExpandPseudoInsts.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64FalkorHWPFFix.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64A53Fix835769.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64FrameLowering.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64GlobalsTagging.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64CompressJumpTables.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64ConditionOptimizer.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64RedundantCopyElimination.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64ISelDAGToDAG.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64ISelLowering.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64InstrInfo.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64LoadStoreOptimizer.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64LowerHomogeneousPrologEpilog.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64MachineFunctionInfo.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64MachineScheduler.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64MacroFusion.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64MIPeepholeOpt.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64PointerAuth.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64PromoteConstant.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64PBQPRegAlloc.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64SLSHardening.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64SelectionDAGInfo.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64SpeculationHardening.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64StackTagging.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64StackTaggingPreRA.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64StorePairSuppress.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64GlobalISelUtils.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64CallingConvention.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64FastISel.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64InstPrinter.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64MCExpr.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64MCTargetDesc.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64AsmBackend.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64ELFObjectWriter.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64MCCodeEmitter.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64WinCOFFObjectWriter.cpp:llvm::getWRegFromXReg(unsigned int)
Unexecuted instantiation: AArch64BaseInfo.cpp:llvm::getWRegFromXReg(unsigned int)
69
70
0
inline static unsigned getXRegFromWReg(unsigned Reg) {
71
0
  switch (Reg) {
72
0
  case AArch64::W0: return AArch64::X0;
73
0
  case AArch64::W1: return AArch64::X1;
74
0
  case AArch64::W2: return AArch64::X2;
75
0
  case AArch64::W3: return AArch64::X3;
76
0
  case AArch64::W4: return AArch64::X4;
77
0
  case AArch64::W5: return AArch64::X5;
78
0
  case AArch64::W6: return AArch64::X6;
79
0
  case AArch64::W7: return AArch64::X7;
80
0
  case AArch64::W8: return AArch64::X8;
81
0
  case AArch64::W9: return AArch64::X9;
82
0
  case AArch64::W10: return AArch64::X10;
83
0
  case AArch64::W11: return AArch64::X11;
84
0
  case AArch64::W12: return AArch64::X12;
85
0
  case AArch64::W13: return AArch64::X13;
86
0
  case AArch64::W14: return AArch64::X14;
87
0
  case AArch64::W15: return AArch64::X15;
88
0
  case AArch64::W16: return AArch64::X16;
89
0
  case AArch64::W17: return AArch64::X17;
90
0
  case AArch64::W18: return AArch64::X18;
91
0
  case AArch64::W19: return AArch64::X19;
92
0
  case AArch64::W20: return AArch64::X20;
93
0
  case AArch64::W21: return AArch64::X21;
94
0
  case AArch64::W22: return AArch64::X22;
95
0
  case AArch64::W23: return AArch64::X23;
96
0
  case AArch64::W24: return AArch64::X24;
97
0
  case AArch64::W25: return AArch64::X25;
98
0
  case AArch64::W26: return AArch64::X26;
99
0
  case AArch64::W27: return AArch64::X27;
100
0
  case AArch64::W28: return AArch64::X28;
101
0
  case AArch64::W29: return AArch64::FP;
102
0
  case AArch64::W30: return AArch64::LR;
103
0
  case AArch64::WSP: return AArch64::SP;
104
0
  case AArch64::WZR: return AArch64::XZR;
105
0
  }
106
  // For anything else, return it unchanged.
107
0
  return Reg;
108
0
}
Unexecuted instantiation: AArch64AsmParser.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64AsmPrinter.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64MCInstLower.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64RegisterInfo.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64Subtarget.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64TargetMachine.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64TargetObjectFile.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64TargetTransformInfo.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: SMEABIPass.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: SVEIntrinsicOpts.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64SIMDInstrOpt.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64CallLowering.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64InstructionSelector.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64LegalizerInfo.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64O0PreLegalizerCombiner.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64PreLegalizerCombiner.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64PostLegalizerCombiner.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64PostLegalizerLowering.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64PostSelectOptimize.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64A57FPLoadBalancing.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64AdvSIMDScalarPass.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64BranchTargets.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64CleanupLocalDynamicTLSPass.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64CollectLOH.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64CondBrTuning.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64ConditionalCompares.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64DeadRegisterDefinitionsPass.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64ExpandImm.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64ExpandPseudoInsts.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64FalkorHWPFFix.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64A53Fix835769.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64FrameLowering.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64GlobalsTagging.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64CompressJumpTables.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64ConditionOptimizer.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64RedundantCopyElimination.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64ISelDAGToDAG.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64ISelLowering.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64InstrInfo.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64LoadStoreOptimizer.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64LowerHomogeneousPrologEpilog.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64MachineFunctionInfo.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64MachineScheduler.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64MacroFusion.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64MIPeepholeOpt.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64PointerAuth.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64PromoteConstant.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64PBQPRegAlloc.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64SLSHardening.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64SelectionDAGInfo.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64SpeculationHardening.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64StackTagging.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64StackTaggingPreRA.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64StorePairSuppress.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64GlobalISelUtils.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64CallingConvention.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64FastISel.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64InstPrinter.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64MCExpr.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64MCTargetDesc.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64AsmBackend.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64ELFObjectWriter.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64MCCodeEmitter.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64WinCOFFObjectWriter.cpp:llvm::getXRegFromWReg(unsigned int)
Unexecuted instantiation: AArch64BaseInfo.cpp:llvm::getXRegFromWReg(unsigned int)
109
110
0
inline static unsigned getXRegFromXRegTuple(unsigned RegTuple) {
111
0
  switch (RegTuple) {
112
0
  case AArch64::X0_X1_X2_X3_X4_X5_X6_X7: return AArch64::X0;
113
0
  case AArch64::X2_X3_X4_X5_X6_X7_X8_X9: return AArch64::X2;
114
0
  case AArch64::X4_X5_X6_X7_X8_X9_X10_X11: return AArch64::X4;
115
0
  case AArch64::X6_X7_X8_X9_X10_X11_X12_X13: return AArch64::X6;
116
0
  case AArch64::X8_X9_X10_X11_X12_X13_X14_X15: return AArch64::X8;
117
0
  case AArch64::X10_X11_X12_X13_X14_X15_X16_X17: return AArch64::X10;
118
0
  case AArch64::X12_X13_X14_X15_X16_X17_X18_X19: return AArch64::X12;
119
0
  case AArch64::X14_X15_X16_X17_X18_X19_X20_X21: return AArch64::X14;
120
0
  case AArch64::X16_X17_X18_X19_X20_X21_X22_X23: return AArch64::X16;
121
0
  case AArch64::X18_X19_X20_X21_X22_X23_X24_X25: return AArch64::X18;
122
0
  case AArch64::X20_X21_X22_X23_X24_X25_X26_X27: return AArch64::X20;
123
0
  case AArch64::X22_X23_X24_X25_X26_X27_X28_FP: return AArch64::X22;
124
0
  }
125
  // For anything else, return it unchanged.
126
0
  return RegTuple;
127
0
}
Unexecuted instantiation: AArch64AsmParser.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64AsmPrinter.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64MCInstLower.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64RegisterInfo.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64Subtarget.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64TargetMachine.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64TargetObjectFile.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64TargetTransformInfo.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: SMEABIPass.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: SVEIntrinsicOpts.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64SIMDInstrOpt.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64CallLowering.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64InstructionSelector.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64LegalizerInfo.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64O0PreLegalizerCombiner.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64PreLegalizerCombiner.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64PostLegalizerCombiner.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64PostLegalizerLowering.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64PostSelectOptimize.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64A57FPLoadBalancing.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64AdvSIMDScalarPass.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64BranchTargets.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64CleanupLocalDynamicTLSPass.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64CollectLOH.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64CondBrTuning.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64ConditionalCompares.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64DeadRegisterDefinitionsPass.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64ExpandImm.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64ExpandPseudoInsts.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64FalkorHWPFFix.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64A53Fix835769.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64FrameLowering.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64GlobalsTagging.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64CompressJumpTables.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64ConditionOptimizer.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64RedundantCopyElimination.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64ISelDAGToDAG.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64ISelLowering.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64InstrInfo.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64LoadStoreOptimizer.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64LowerHomogeneousPrologEpilog.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64MachineFunctionInfo.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64MachineScheduler.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64MacroFusion.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64MIPeepholeOpt.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64PointerAuth.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64PromoteConstant.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64PBQPRegAlloc.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64SLSHardening.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64SelectionDAGInfo.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64SpeculationHardening.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64StackTagging.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64StackTaggingPreRA.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64StorePairSuppress.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64GlobalISelUtils.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64CallingConvention.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64FastISel.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64InstPrinter.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64MCExpr.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64MCTargetDesc.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64AsmBackend.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64ELFObjectWriter.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64MCCodeEmitter.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64WinCOFFObjectWriter.cpp:llvm::getXRegFromXRegTuple(unsigned int)
Unexecuted instantiation: AArch64BaseInfo.cpp:llvm::getXRegFromXRegTuple(unsigned int)
128
129
0
static inline unsigned getBRegFromDReg(unsigned Reg) {
130
0
  switch (Reg) {
131
0
  case AArch64::D0:  return AArch64::B0;
132
0
  case AArch64::D1:  return AArch64::B1;
133
0
  case AArch64::D2:  return AArch64::B2;
134
0
  case AArch64::D3:  return AArch64::B3;
135
0
  case AArch64::D4:  return AArch64::B4;
136
0
  case AArch64::D5:  return AArch64::B5;
137
0
  case AArch64::D6:  return AArch64::B6;
138
0
  case AArch64::D7:  return AArch64::B7;
139
0
  case AArch64::D8:  return AArch64::B8;
140
0
  case AArch64::D9:  return AArch64::B9;
141
0
  case AArch64::D10: return AArch64::B10;
142
0
  case AArch64::D11: return AArch64::B11;
143
0
  case AArch64::D12: return AArch64::B12;
144
0
  case AArch64::D13: return AArch64::B13;
145
0
  case AArch64::D14: return AArch64::B14;
146
0
  case AArch64::D15: return AArch64::B15;
147
0
  case AArch64::D16: return AArch64::B16;
148
0
  case AArch64::D17: return AArch64::B17;
149
0
  case AArch64::D18: return AArch64::B18;
150
0
  case AArch64::D19: return AArch64::B19;
151
0
  case AArch64::D20: return AArch64::B20;
152
0
  case AArch64::D21: return AArch64::B21;
153
0
  case AArch64::D22: return AArch64::B22;
154
0
  case AArch64::D23: return AArch64::B23;
155
0
  case AArch64::D24: return AArch64::B24;
156
0
  case AArch64::D25: return AArch64::B25;
157
0
  case AArch64::D26: return AArch64::B26;
158
0
  case AArch64::D27: return AArch64::B27;
159
0
  case AArch64::D28: return AArch64::B28;
160
0
  case AArch64::D29: return AArch64::B29;
161
0
  case AArch64::D30: return AArch64::B30;
162
0
  case AArch64::D31: return AArch64::B31;
163
0
  }
164
0
  // For anything else, return it unchanged.
165
0
  return Reg;
166
0
}
Unexecuted instantiation: AArch64AsmParser.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64AsmPrinter.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64MCInstLower.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64RegisterInfo.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64Subtarget.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64TargetMachine.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64TargetObjectFile.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64TargetTransformInfo.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: SMEABIPass.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: SVEIntrinsicOpts.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64SIMDInstrOpt.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64CallLowering.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64InstructionSelector.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64LegalizerInfo.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64O0PreLegalizerCombiner.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64PreLegalizerCombiner.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64PostLegalizerCombiner.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64PostLegalizerLowering.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64PostSelectOptimize.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64A57FPLoadBalancing.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64AdvSIMDScalarPass.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64BranchTargets.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64CleanupLocalDynamicTLSPass.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64CollectLOH.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64CondBrTuning.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64ConditionalCompares.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64DeadRegisterDefinitionsPass.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64ExpandImm.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64ExpandPseudoInsts.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64FalkorHWPFFix.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64A53Fix835769.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64FrameLowering.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64GlobalsTagging.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64CompressJumpTables.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64ConditionOptimizer.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64RedundantCopyElimination.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64ISelDAGToDAG.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64ISelLowering.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64InstrInfo.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64LoadStoreOptimizer.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64LowerHomogeneousPrologEpilog.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64MachineFunctionInfo.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64MachineScheduler.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64MacroFusion.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64MIPeepholeOpt.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64PointerAuth.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64PromoteConstant.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64PBQPRegAlloc.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64SLSHardening.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64SelectionDAGInfo.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64SpeculationHardening.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64StackTagging.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64StackTaggingPreRA.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64StorePairSuppress.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64GlobalISelUtils.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64CallingConvention.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64FastISel.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64InstPrinter.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64MCExpr.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64MCTargetDesc.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64AsmBackend.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64ELFObjectWriter.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64MCCodeEmitter.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64WinCOFFObjectWriter.cpp:llvm::getBRegFromDReg(unsigned int)
Unexecuted instantiation: AArch64BaseInfo.cpp:llvm::getBRegFromDReg(unsigned int)
167
168
169
0
static inline unsigned getDRegFromBReg(unsigned Reg) {
170
0
  switch (Reg) {
171
0
  case AArch64::B0:  return AArch64::D0;
172
0
  case AArch64::B1:  return AArch64::D1;
173
0
  case AArch64::B2:  return AArch64::D2;
174
0
  case AArch64::B3:  return AArch64::D3;
175
0
  case AArch64::B4:  return AArch64::D4;
176
0
  case AArch64::B5:  return AArch64::D5;
177
0
  case AArch64::B6:  return AArch64::D6;
178
0
  case AArch64::B7:  return AArch64::D7;
179
0
  case AArch64::B8:  return AArch64::D8;
180
0
  case AArch64::B9:  return AArch64::D9;
181
0
  case AArch64::B10: return AArch64::D10;
182
0
  case AArch64::B11: return AArch64::D11;
183
0
  case AArch64::B12: return AArch64::D12;
184
0
  case AArch64::B13: return AArch64::D13;
185
0
  case AArch64::B14: return AArch64::D14;
186
0
  case AArch64::B15: return AArch64::D15;
187
0
  case AArch64::B16: return AArch64::D16;
188
0
  case AArch64::B17: return AArch64::D17;
189
0
  case AArch64::B18: return AArch64::D18;
190
0
  case AArch64::B19: return AArch64::D19;
191
0
  case AArch64::B20: return AArch64::D20;
192
0
  case AArch64::B21: return AArch64::D21;
193
0
  case AArch64::B22: return AArch64::D22;
194
0
  case AArch64::B23: return AArch64::D23;
195
0
  case AArch64::B24: return AArch64::D24;
196
0
  case AArch64::B25: return AArch64::D25;
197
0
  case AArch64::B26: return AArch64::D26;
198
0
  case AArch64::B27: return AArch64::D27;
199
0
  case AArch64::B28: return AArch64::D28;
200
0
  case AArch64::B29: return AArch64::D29;
201
0
  case AArch64::B30: return AArch64::D30;
202
0
  case AArch64::B31: return AArch64::D31;
203
0
  }
204
  // For anything else, return it unchanged.
205
0
  return Reg;
206
0
}
Unexecuted instantiation: AArch64AsmParser.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64AsmPrinter.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64MCInstLower.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64RegisterInfo.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64Subtarget.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64TargetMachine.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64TargetObjectFile.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64TargetTransformInfo.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: SMEABIPass.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: SVEIntrinsicOpts.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64SIMDInstrOpt.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64CallLowering.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64InstructionSelector.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64LegalizerInfo.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64O0PreLegalizerCombiner.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64PreLegalizerCombiner.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64PostLegalizerCombiner.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64PostLegalizerLowering.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64PostSelectOptimize.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64A57FPLoadBalancing.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64AdvSIMDScalarPass.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64BranchTargets.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64CleanupLocalDynamicTLSPass.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64CollectLOH.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64CondBrTuning.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64ConditionalCompares.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64DeadRegisterDefinitionsPass.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64ExpandImm.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64ExpandPseudoInsts.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64FalkorHWPFFix.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64A53Fix835769.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64FrameLowering.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64GlobalsTagging.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64CompressJumpTables.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64ConditionOptimizer.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64RedundantCopyElimination.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64ISelDAGToDAG.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64ISelLowering.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64InstrInfo.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64LoadStoreOptimizer.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64LowerHomogeneousPrologEpilog.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64MachineFunctionInfo.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64MachineScheduler.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64MacroFusion.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64MIPeepholeOpt.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64PointerAuth.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64PromoteConstant.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64PBQPRegAlloc.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64SLSHardening.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64SelectionDAGInfo.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64SpeculationHardening.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64StackTagging.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64StackTaggingPreRA.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64StorePairSuppress.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64GlobalISelUtils.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64CallingConvention.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64FastISel.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64InstPrinter.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64MCExpr.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64MCTargetDesc.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64AsmBackend.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64ELFObjectWriter.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64MCCodeEmitter.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64WinCOFFObjectWriter.cpp:llvm::getDRegFromBReg(unsigned int)
Unexecuted instantiation: AArch64BaseInfo.cpp:llvm::getDRegFromBReg(unsigned int)
207
208
494k
static inline bool atomicBarrierDroppedOnZero(unsigned Opcode) {
209
494k
  switch (Opcode) {
210
0
  case AArch64::LDADDAB:   case AArch64::LDADDAH:
211
0
  case AArch64::LDADDAW:   case AArch64::LDADDAX:
212
0
  case AArch64::LDADDALB:  case AArch64::LDADDALH:
213
0
  case AArch64::LDADDALW:  case AArch64::LDADDALX:
214
0
  case AArch64::LDCLRAB:   case AArch64::LDCLRAH:
215
0
  case AArch64::LDCLRAW:   case AArch64::LDCLRAX:
216
0
  case AArch64::LDCLRALB:  case AArch64::LDCLRALH:
217
0
  case AArch64::LDCLRALW:  case AArch64::LDCLRALX:
218
0
  case AArch64::LDEORAB:   case AArch64::LDEORAH:
219
0
  case AArch64::LDEORAW:   case AArch64::LDEORAX:
220
0
  case AArch64::LDEORALB:  case AArch64::LDEORALH:
221
0
  case AArch64::LDEORALW:  case AArch64::LDEORALX:
222
0
  case AArch64::LDSETAB:   case AArch64::LDSETAH:
223
0
  case AArch64::LDSETAW:   case AArch64::LDSETAX:
224
0
  case AArch64::LDSETALB:  case AArch64::LDSETALH:
225
0
  case AArch64::LDSETALW:  case AArch64::LDSETALX:
226
0
  case AArch64::LDSMAXAB:  case AArch64::LDSMAXAH:
227
0
  case AArch64::LDSMAXAW:  case AArch64::LDSMAXAX:
228
0
  case AArch64::LDSMAXALB: case AArch64::LDSMAXALH:
229
0
  case AArch64::LDSMAXALW: case AArch64::LDSMAXALX:
230
0
  case AArch64::LDSMINAB:  case AArch64::LDSMINAH:
231
0
  case AArch64::LDSMINAW:  case AArch64::LDSMINAX:
232
0
  case AArch64::LDSMINALB: case AArch64::LDSMINALH:
233
0
  case AArch64::LDSMINALW: case AArch64::LDSMINALX:
234
0
  case AArch64::LDUMAXAB:  case AArch64::LDUMAXAH:
235
0
  case AArch64::LDUMAXAW:  case AArch64::LDUMAXAX:
236
0
  case AArch64::LDUMAXALB: case AArch64::LDUMAXALH:
237
0
  case AArch64::LDUMAXALW: case AArch64::LDUMAXALX:
238
0
  case AArch64::LDUMINAB:  case AArch64::LDUMINAH:
239
0
  case AArch64::LDUMINAW:  case AArch64::LDUMINAX:
240
0
  case AArch64::LDUMINALB: case AArch64::LDUMINALH:
241
0
  case AArch64::LDUMINALW: case AArch64::LDUMINALX:
242
0
  case AArch64::SWPAB:     case AArch64::SWPAH:
243
0
  case AArch64::SWPAW:     case AArch64::SWPAX:
244
0
  case AArch64::SWPALB:    case AArch64::SWPALH:
245
0
  case AArch64::SWPALW:    case AArch64::SWPALX:
246
0
    return true;
247
494k
  }
248
494k
  return false;
249
494k
}
Unexecuted instantiation: AArch64AsmParser.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64AsmPrinter.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64MCInstLower.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64RegisterInfo.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64Subtarget.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64TargetMachine.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64TargetObjectFile.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64TargetTransformInfo.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: SMEABIPass.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: SVEIntrinsicOpts.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64SIMDInstrOpt.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64CallLowering.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64InstructionSelector.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64LegalizerInfo.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64O0PreLegalizerCombiner.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64PreLegalizerCombiner.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64PostLegalizerCombiner.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64PostLegalizerLowering.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64PostSelectOptimize.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64A57FPLoadBalancing.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64AdvSIMDScalarPass.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64BranchTargets.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64CleanupLocalDynamicTLSPass.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64CollectLOH.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64CondBrTuning.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64ConditionalCompares.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
AArch64DeadRegisterDefinitionsPass.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Line
Count
Source
208
494k
static inline bool atomicBarrierDroppedOnZero(unsigned Opcode) {
209
494k
  switch (Opcode) {
210
0
  case AArch64::LDADDAB:   case AArch64::LDADDAH:
211
0
  case AArch64::LDADDAW:   case AArch64::LDADDAX:
212
0
  case AArch64::LDADDALB:  case AArch64::LDADDALH:
213
0
  case AArch64::LDADDALW:  case AArch64::LDADDALX:
214
0
  case AArch64::LDCLRAB:   case AArch64::LDCLRAH:
215
0
  case AArch64::LDCLRAW:   case AArch64::LDCLRAX:
216
0
  case AArch64::LDCLRALB:  case AArch64::LDCLRALH:
217
0
  case AArch64::LDCLRALW:  case AArch64::LDCLRALX:
218
0
  case AArch64::LDEORAB:   case AArch64::LDEORAH:
219
0
  case AArch64::LDEORAW:   case AArch64::LDEORAX:
220
0
  case AArch64::LDEORALB:  case AArch64::LDEORALH:
221
0
  case AArch64::LDEORALW:  case AArch64::LDEORALX:
222
0
  case AArch64::LDSETAB:   case AArch64::LDSETAH:
223
0
  case AArch64::LDSETAW:   case AArch64::LDSETAX:
224
0
  case AArch64::LDSETALB:  case AArch64::LDSETALH:
225
0
  case AArch64::LDSETALW:  case AArch64::LDSETALX:
226
0
  case AArch64::LDSMAXAB:  case AArch64::LDSMAXAH:
227
0
  case AArch64::LDSMAXAW:  case AArch64::LDSMAXAX:
228
0
  case AArch64::LDSMAXALB: case AArch64::LDSMAXALH:
229
0
  case AArch64::LDSMAXALW: case AArch64::LDSMAXALX:
230
0
  case AArch64::LDSMINAB:  case AArch64::LDSMINAH:
231
0
  case AArch64::LDSMINAW:  case AArch64::LDSMINAX:
232
0
  case AArch64::LDSMINALB: case AArch64::LDSMINALH:
233
0
  case AArch64::LDSMINALW: case AArch64::LDSMINALX:
234
0
  case AArch64::LDUMAXAB:  case AArch64::LDUMAXAH:
235
0
  case AArch64::LDUMAXAW:  case AArch64::LDUMAXAX:
236
0
  case AArch64::LDUMAXALB: case AArch64::LDUMAXALH:
237
0
  case AArch64::LDUMAXALW: case AArch64::LDUMAXALX:
238
0
  case AArch64::LDUMINAB:  case AArch64::LDUMINAH:
239
0
  case AArch64::LDUMINAW:  case AArch64::LDUMINAX:
240
0
  case AArch64::LDUMINALB: case AArch64::LDUMINALH:
241
0
  case AArch64::LDUMINALW: case AArch64::LDUMINALX:
242
0
  case AArch64::SWPAB:     case AArch64::SWPAH:
243
0
  case AArch64::SWPAW:     case AArch64::SWPAX:
244
0
  case AArch64::SWPALB:    case AArch64::SWPALH:
245
0
  case AArch64::SWPALW:    case AArch64::SWPALX:
246
0
    return true;
247
494k
  }
248
494k
  return false;
249
494k
}
Unexecuted instantiation: AArch64ExpandImm.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64ExpandPseudoInsts.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64FalkorHWPFFix.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64A53Fix835769.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64FrameLowering.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64GlobalsTagging.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64CompressJumpTables.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64ConditionOptimizer.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64RedundantCopyElimination.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64ISelDAGToDAG.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64ISelLowering.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64InstrInfo.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64LoadStoreOptimizer.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64LowerHomogeneousPrologEpilog.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64MachineFunctionInfo.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64MachineScheduler.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64MacroFusion.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64MIPeepholeOpt.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64PointerAuth.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64PromoteConstant.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64PBQPRegAlloc.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64SLSHardening.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64SelectionDAGInfo.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64SpeculationHardening.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64StackTagging.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64StackTaggingPreRA.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64StorePairSuppress.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64GlobalISelUtils.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64CallingConvention.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64FastISel.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64InstPrinter.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64MCExpr.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64MCTargetDesc.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64AsmBackend.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64ELFObjectWriter.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64MCCodeEmitter.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64WinCOFFObjectWriter.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
Unexecuted instantiation: AArch64BaseInfo.cpp:llvm::atomicBarrierDroppedOnZero(unsigned int)
250
251
namespace AArch64CC {
252
253
// The CondCodes constants map directly to the 4-bit encoding of the condition
254
// field for predicated instructions.
255
enum CondCode {  // Meaning (integer)          Meaning (floating-point)
256
  EQ = 0x0,      // Equal                      Equal
257
  NE = 0x1,      // Not equal                  Not equal, or unordered
258
  HS = 0x2,      // Unsigned higher or same    >, ==, or unordered
259
  LO = 0x3,      // Unsigned lower             Less than
260
  MI = 0x4,      // Minus, negative            Less than
261
  PL = 0x5,      // Plus, positive or zero     >, ==, or unordered
262
  VS = 0x6,      // Overflow                   Unordered
263
  VC = 0x7,      // No overflow                Not unordered
264
  HI = 0x8,      // Unsigned higher            Greater than, or unordered
265
  LS = 0x9,      // Unsigned lower or same     Less than or equal
266
  GE = 0xa,      // Greater than or equal      Greater than or equal
267
  LT = 0xb,      // Less than                  Less than, or unordered
268
  GT = 0xc,      // Greater than               Greater than
269
  LE = 0xd,      // Less than or equal         <, ==, or unordered
270
  AL = 0xe,      // Always (unconditional)     Always (unconditional)
271
  NV = 0xf,      // Always (unconditional)     Always (unconditional)
272
  // Note the NV exists purely to disassemble 0b1111. Execution is "always".
273
  Invalid,
274
275
  // Common aliases used for SVE.
276
  ANY_ACTIVE   = NE, // (!Z)
277
  FIRST_ACTIVE = MI, // ( N)
278
  LAST_ACTIVE  = LO, // (!C)
279
  NONE_ACTIVE  = EQ  // ( Z)
280
};
281
282
0
inline static const char *getCondCodeName(CondCode Code) {
283
0
  switch (Code) {
284
0
  default: llvm_unreachable("Unknown condition code");
285
0
  case EQ:  return "eq";
286
0
  case NE:  return "ne";
287
0
  case HS:  return "hs";
288
0
  case LO:  return "lo";
289
0
  case MI:  return "mi";
290
0
  case PL:  return "pl";
291
0
  case VS:  return "vs";
292
0
  case VC:  return "vc";
293
0
  case HI:  return "hi";
294
0
  case LS:  return "ls";
295
0
  case GE:  return "ge";
296
0
  case LT:  return "lt";
297
0
  case GT:  return "gt";
298
0
  case LE:  return "le";
299
0
  case AL:  return "al";
300
0
  case NV:  return "nv";
301
0
  }
302
0
}
Unexecuted instantiation: AArch64AsmParser.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64AsmPrinter.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MCInstLower.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64RegisterInfo.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64Subtarget.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64TargetMachine.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64TargetObjectFile.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64TargetTransformInfo.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: SMEABIPass.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: SVEIntrinsicOpts.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64SIMDInstrOpt.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CallLowering.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64InstructionSelector.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64LegalizerInfo.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64O0PreLegalizerCombiner.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PreLegalizerCombiner.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PostLegalizerCombiner.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PostLegalizerLowering.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PostSelectOptimize.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64A57FPLoadBalancing.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64AdvSIMDScalarPass.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64BranchTargets.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CleanupLocalDynamicTLSPass.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CollectLOH.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CondBrTuning.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64ConditionalCompares.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64DeadRegisterDefinitionsPass.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64ExpandImm.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64ExpandPseudoInsts.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64FalkorHWPFFix.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64A53Fix835769.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64FrameLowering.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64GlobalsTagging.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CompressJumpTables.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64ConditionOptimizer.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64RedundantCopyElimination.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64ISelDAGToDAG.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64ISelLowering.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64InstrInfo.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64LoadStoreOptimizer.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64LowerHomogeneousPrologEpilog.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MachineFunctionInfo.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MachineScheduler.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MacroFusion.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MIPeepholeOpt.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PointerAuth.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PromoteConstant.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PBQPRegAlloc.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64SLSHardening.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64SelectionDAGInfo.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64SpeculationHardening.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64StackTagging.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64StackTaggingPreRA.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64StorePairSuppress.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64GlobalISelUtils.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CallingConvention.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64FastISel.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64InstPrinter.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MCExpr.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MCTargetDesc.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64AsmBackend.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64ELFObjectWriter.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MCCodeEmitter.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64WinCOFFObjectWriter.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64BaseInfo.cpp:llvm::AArch64CC::getCondCodeName(llvm::AArch64CC::CondCode)
303
304
25.8k
inline static CondCode getInvertedCondCode(CondCode Code) {
305
  // To reverse a condition it's necessary to only invert the low bit:
306
307
25.8k
  return static_cast<CondCode>(static_cast<unsigned>(Code) ^ 0x1);
308
25.8k
}
Unexecuted instantiation: AArch64AsmParser.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64AsmPrinter.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MCInstLower.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64RegisterInfo.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64Subtarget.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64TargetMachine.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64TargetObjectFile.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64TargetTransformInfo.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: SMEABIPass.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: SVEIntrinsicOpts.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64SIMDInstrOpt.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CallLowering.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
AArch64InstructionSelector.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Line
Count
Source
304
2.48k
inline static CondCode getInvertedCondCode(CondCode Code) {
305
  // To reverse a condition it's necessary to only invert the low bit:
306
307
2.48k
  return static_cast<CondCode>(static_cast<unsigned>(Code) ^ 0x1);
308
2.48k
}
Unexecuted instantiation: AArch64LegalizerInfo.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64O0PreLegalizerCombiner.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PreLegalizerCombiner.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PostLegalizerCombiner.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PostLegalizerLowering.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PostSelectOptimize.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64A57FPLoadBalancing.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64AdvSIMDScalarPass.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64BranchTargets.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CleanupLocalDynamicTLSPass.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CollectLOH.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CondBrTuning.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
AArch64ConditionalCompares.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Line
Count
Source
304
2.02k
inline static CondCode getInvertedCondCode(CondCode Code) {
305
  // To reverse a condition it's necessary to only invert the low bit:
306
307
2.02k
  return static_cast<CondCode>(static_cast<unsigned>(Code) ^ 0x1);
308
2.02k
}
Unexecuted instantiation: AArch64DeadRegisterDefinitionsPass.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64ExpandImm.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64ExpandPseudoInsts.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64FalkorHWPFFix.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64A53Fix835769.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64FrameLowering.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64GlobalsTagging.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CompressJumpTables.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64ConditionOptimizer.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64RedundantCopyElimination.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
AArch64ISelDAGToDAG.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Line
Count
Source
304
476
inline static CondCode getInvertedCondCode(CondCode Code) {
305
  // To reverse a condition it's necessary to only invert the low bit:
306
307
476
  return static_cast<CondCode>(static_cast<unsigned>(Code) ^ 0x1);
308
476
}
AArch64ISelLowering.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Line
Count
Source
304
4.76k
inline static CondCode getInvertedCondCode(CondCode Code) {
305
  // To reverse a condition it's necessary to only invert the low bit:
306
307
4.76k
  return static_cast<CondCode>(static_cast<unsigned>(Code) ^ 0x1);
308
4.76k
}
AArch64InstrInfo.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Line
Count
Source
304
16.0k
inline static CondCode getInvertedCondCode(CondCode Code) {
305
  // To reverse a condition it's necessary to only invert the low bit:
306
307
16.0k
  return static_cast<CondCode>(static_cast<unsigned>(Code) ^ 0x1);
308
16.0k
}
Unexecuted instantiation: AArch64LoadStoreOptimizer.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64LowerHomogeneousPrologEpilog.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MachineFunctionInfo.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MachineScheduler.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MacroFusion.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MIPeepholeOpt.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PointerAuth.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PromoteConstant.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PBQPRegAlloc.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64SLSHardening.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64SelectionDAGInfo.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64SpeculationHardening.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64StackTagging.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64StackTaggingPreRA.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64StorePairSuppress.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64GlobalISelUtils.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CallingConvention.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64FastISel.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64InstPrinter.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MCExpr.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MCTargetDesc.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64AsmBackend.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64ELFObjectWriter.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MCCodeEmitter.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64WinCOFFObjectWriter.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64BaseInfo.cpp:llvm::AArch64CC::getInvertedCondCode(llvm::AArch64CC::CondCode)
309
310
/// Given a condition code, return NZCV flags that would satisfy that condition.
311
/// The flag bits are in the format expected by the ccmp instructions.
312
/// Note that many different flag settings can satisfy a given condition code,
313
/// this function just returns one of them.
314
466
inline static unsigned getNZCVToSatisfyCondCode(CondCode Code) {
315
  // NZCV flags encoded as expected by ccmp instructions, ARMv8 ISA 5.5.7.
316
466
  enum { N = 8, Z = 4, C = 2, V = 1 };
317
466
  switch (Code) {
318
0
  default: llvm_unreachable("Unknown condition code");
319
67
  case EQ: return Z; // Z == 1
320
311
  case NE: return 0; // Z == 0
321
14
  case HS: return C; // C == 1
322
8
  case LO: return 0; // C == 0
323
0
  case MI: return N; // N == 1
324
6
  case PL: return 0; // N == 0
325
2
  case VS: return V; // V == 1
326
0
  case VC: return 0; // V == 0
327
6
  case HI: return C; // C == 1 && Z == 0
328
16
  case LS: return 0; // C == 0 || Z == 1
329
13
  case GE: return 0; // N == V
330
5
  case LT: return N; // N != V
331
4
  case GT: return 0; // Z == 0 && N == V
332
14
  case LE: return Z; // Z == 1 || N != V
333
466
  }
334
466
}
Unexecuted instantiation: AArch64AsmParser.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64AsmPrinter.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MCInstLower.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64RegisterInfo.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64Subtarget.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64TargetMachine.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64TargetObjectFile.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64TargetTransformInfo.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: SMEABIPass.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: SVEIntrinsicOpts.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64SIMDInstrOpt.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CallLowering.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64InstructionSelector.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64LegalizerInfo.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64O0PreLegalizerCombiner.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PreLegalizerCombiner.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PostLegalizerCombiner.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PostLegalizerLowering.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PostSelectOptimize.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64A57FPLoadBalancing.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64AdvSIMDScalarPass.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64BranchTargets.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CleanupLocalDynamicTLSPass.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CollectLOH.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CondBrTuning.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
AArch64ConditionalCompares.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Line
Count
Source
314
31
inline static unsigned getNZCVToSatisfyCondCode(CondCode Code) {
315
  // NZCV flags encoded as expected by ccmp instructions, ARMv8 ISA 5.5.7.
316
31
  enum { N = 8, Z = 4, C = 2, V = 1 };
317
31
  switch (Code) {
318
0
  default: llvm_unreachable("Unknown condition code");
319
12
  case EQ: return Z; // Z == 1
320
11
  case NE: return 0; // Z == 0
321
0
  case HS: return C; // C == 1
322
0
  case LO: return 0; // C == 0
323
0
  case MI: return N; // N == 1
324
0
  case PL: return 0; // N == 0
325
0
  case VS: return V; // V == 1
326
0
  case VC: return 0; // V == 0
327
0
  case HI: return C; // C == 1 && Z == 0
328
0
  case LS: return 0; // C == 0 || Z == 1
329
1
  case GE: return 0; // N == V
330
0
  case LT: return N; // N != V
331
0
  case GT: return 0; // Z == 0 && N == V
332
7
  case LE: return Z; // Z == 1 || N != V
333
31
  }
334
31
}
Unexecuted instantiation: AArch64DeadRegisterDefinitionsPass.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64ExpandImm.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64ExpandPseudoInsts.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64FalkorHWPFFix.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64A53Fix835769.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64FrameLowering.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64GlobalsTagging.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CompressJumpTables.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64ConditionOptimizer.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64RedundantCopyElimination.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64ISelDAGToDAG.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
AArch64ISelLowering.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Line
Count
Source
314
435
inline static unsigned getNZCVToSatisfyCondCode(CondCode Code) {
315
  // NZCV flags encoded as expected by ccmp instructions, ARMv8 ISA 5.5.7.
316
435
  enum { N = 8, Z = 4, C = 2, V = 1 };
317
435
  switch (Code) {
318
0
  default: llvm_unreachable("Unknown condition code");
319
55
  case EQ: return Z; // Z == 1
320
300
  case NE: return 0; // Z == 0
321
14
  case HS: return C; // C == 1
322
8
  case LO: return 0; // C == 0
323
0
  case MI: return N; // N == 1
324
6
  case PL: return 0; // N == 0
325
2
  case VS: return V; // V == 1
326
0
  case VC: return 0; // V == 0
327
6
  case HI: return C; // C == 1 && Z == 0
328
16
  case LS: return 0; // C == 0 || Z == 1
329
12
  case GE: return 0; // N == V
330
5
  case LT: return N; // N != V
331
4
  case GT: return 0; // Z == 0 && N == V
332
7
  case LE: return Z; // Z == 1 || N != V
333
435
  }
334
435
}
Unexecuted instantiation: AArch64InstrInfo.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64LoadStoreOptimizer.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64LowerHomogeneousPrologEpilog.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MachineFunctionInfo.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MachineScheduler.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MacroFusion.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MIPeepholeOpt.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PointerAuth.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PromoteConstant.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64PBQPRegAlloc.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64SLSHardening.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64SelectionDAGInfo.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64SpeculationHardening.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64StackTagging.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64StackTaggingPreRA.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64StorePairSuppress.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64GlobalISelUtils.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64CallingConvention.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64FastISel.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64InstPrinter.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MCExpr.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MCTargetDesc.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64AsmBackend.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64ELFObjectWriter.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64MCCodeEmitter.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64WinCOFFObjectWriter.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
Unexecuted instantiation: AArch64BaseInfo.cpp:llvm::AArch64CC::getNZCVToSatisfyCondCode(llvm::AArch64CC::CondCode)
335
336
} // end namespace AArch64CC
337
338
struct SysAlias {
339
  const char *Name;
340
  uint16_t Encoding;
341
  FeatureBitset FeaturesRequired;
342
343
0
  constexpr SysAlias(const char *N, uint16_t E) : Name(N), Encoding(E) {}
344
  constexpr SysAlias(const char *N, uint16_t E, FeatureBitset F)
345
0
      : Name(N), Encoding(E), FeaturesRequired(F) {}
346
347
0
  bool haveFeatures(FeatureBitset ActiveFeatures) const {
348
0
    return ActiveFeatures[llvm::AArch64::FeatureAll] ||
349
0
           (FeaturesRequired & ActiveFeatures) == FeaturesRequired;
350
0
  }
351
352
0
  FeatureBitset getRequiredFeatures() const { return FeaturesRequired; }
353
};
354
355
struct SysAliasReg : SysAlias {
356
  bool NeedsReg;
357
  constexpr SysAliasReg(const char *N, uint16_t E, bool R)
358
0
      : SysAlias(N, E), NeedsReg(R) {}
359
  constexpr SysAliasReg(const char *N, uint16_t E, bool R, FeatureBitset F)
360
0
      : SysAlias(N, E, F), NeedsReg(R) {}
361
};
362
363
struct SysAliasImm : SysAlias {
364
  uint16_t ImmValue;
365
  constexpr SysAliasImm(const char *N, uint16_t E, uint16_t I)
366
0
      : SysAlias(N, E), ImmValue(I) {}
367
  constexpr SysAliasImm(const char *N, uint16_t E, uint16_t I, FeatureBitset F)
368
0
      : SysAlias(N, E, F), ImmValue(I) {}
369
};
370
371
namespace AArch64SVCR {
372
  struct SVCR : SysAlias{
373
    using SysAlias::SysAlias;
374
  };
375
  #define GET_SVCR_DECL
376
  #include "AArch64GenSystemOperands.inc"
377
}
378
379
namespace AArch64AT{
380
  struct AT : SysAlias {
381
    using SysAlias::SysAlias;
382
  };
383
  #define GET_AT_DECL
384
  #include "AArch64GenSystemOperands.inc"
385
}
386
387
namespace AArch64DB {
388
  struct DB : SysAlias {
389
    using SysAlias::SysAlias;
390
  };
391
  #define GET_DB_DECL
392
  #include "AArch64GenSystemOperands.inc"
393
}
394
395
namespace AArch64DBnXS {
396
  struct DBnXS : SysAliasImm {
397
    using SysAliasImm::SysAliasImm;
398
  };
399
  #define GET_DBNXS_DECL
400
  #include "AArch64GenSystemOperands.inc"
401
}
402
403
namespace  AArch64DC {
404
  struct DC : SysAlias {
405
    using SysAlias::SysAlias;
406
  };
407
  #define GET_DC_DECL
408
  #include "AArch64GenSystemOperands.inc"
409
}
410
411
namespace  AArch64IC {
412
  struct IC : SysAliasReg {
413
    using SysAliasReg::SysAliasReg;
414
  };
415
  #define GET_IC_DECL
416
  #include "AArch64GenSystemOperands.inc"
417
}
418
419
namespace  AArch64ISB {
420
  struct ISB : SysAlias {
421
    using SysAlias::SysAlias;
422
  };
423
  #define GET_ISB_DECL
424
  #include "AArch64GenSystemOperands.inc"
425
}
426
427
namespace  AArch64TSB {
428
  struct TSB : SysAlias {
429
    using SysAlias::SysAlias;
430
  };
431
  #define GET_TSB_DECL
432
  #include "AArch64GenSystemOperands.inc"
433
}
434
435
namespace AArch64PRFM {
436
  struct PRFM : SysAlias {
437
    using SysAlias::SysAlias;
438
  };
439
  #define GET_PRFM_DECL
440
  #include "AArch64GenSystemOperands.inc"
441
}
442
443
namespace AArch64SVEPRFM {
444
  struct SVEPRFM : SysAlias {
445
    using SysAlias::SysAlias;
446
  };
447
#define GET_SVEPRFM_DECL
448
#include "AArch64GenSystemOperands.inc"
449
}
450
451
namespace AArch64RPRFM {
452
struct RPRFM : SysAlias {
453
  using SysAlias::SysAlias;
454
};
455
#define GET_RPRFM_DECL
456
#include "AArch64GenSystemOperands.inc"
457
} // namespace AArch64RPRFM
458
459
namespace AArch64SVEPredPattern {
460
  struct SVEPREDPAT {
461
    const char *Name;
462
    uint16_t Encoding;
463
  };
464
#define GET_SVEPREDPAT_DECL
465
#include "AArch64GenSystemOperands.inc"
466
}
467
468
namespace AArch64SVEVecLenSpecifier {
469
  struct SVEVECLENSPECIFIER {
470
    const char *Name;
471
    uint16_t Encoding;
472
  };
473
#define GET_SVEVECLENSPECIFIER_DECL
474
#include "AArch64GenSystemOperands.inc"
475
} // namespace AArch64SVEVecLenSpecifier
476
477
/// Return the number of active elements for VL1 to VL256 predicate pattern,
478
/// zero for all other patterns.
479
0
inline unsigned getNumElementsFromSVEPredPattern(unsigned Pattern) {
480
0
  switch (Pattern) {
481
0
  default:
482
0
    return 0;
483
0
  case AArch64SVEPredPattern::vl1:
484
0
  case AArch64SVEPredPattern::vl2:
485
0
  case AArch64SVEPredPattern::vl3:
486
0
  case AArch64SVEPredPattern::vl4:
487
0
  case AArch64SVEPredPattern::vl5:
488
0
  case AArch64SVEPredPattern::vl6:
489
0
  case AArch64SVEPredPattern::vl7:
490
0
  case AArch64SVEPredPattern::vl8:
491
0
    return Pattern;
492
0
  case AArch64SVEPredPattern::vl16:
493
0
    return 16;
494
0
  case AArch64SVEPredPattern::vl32:
495
0
    return 32;
496
0
  case AArch64SVEPredPattern::vl64:
497
0
    return 64;
498
0
  case AArch64SVEPredPattern::vl128:
499
0
    return 128;
500
0
  case AArch64SVEPredPattern::vl256:
501
0
    return 256;
502
0
  }
503
0
}
504
505
/// Return specific VL predicate pattern based on the number of elements.
506
inline std::optional<unsigned>
507
0
getSVEPredPatternFromNumElements(unsigned MinNumElts) {
508
0
  switch (MinNumElts) {
509
0
  default:
510
0
    return std::nullopt;
511
0
  case 1:
512
0
  case 2:
513
0
  case 3:
514
0
  case 4:
515
0
  case 5:
516
0
  case 6:
517
0
  case 7:
518
0
  case 8:
519
0
    return MinNumElts;
520
0
  case 16:
521
0
    return AArch64SVEPredPattern::vl16;
522
0
  case 32:
523
0
    return AArch64SVEPredPattern::vl32;
524
0
  case 64:
525
0
    return AArch64SVEPredPattern::vl64;
526
0
  case 128:
527
0
    return AArch64SVEPredPattern::vl128;
528
0
  case 256:
529
0
    return AArch64SVEPredPattern::vl256;
530
0
  }
531
0
}
532
533
/// An enum to describe what types of loops we should attempt to tail-fold:
534
///   Disabled:    None
535
///   Reductions:  Loops containing reductions
536
///   Recurrences: Loops with first-order recurrences, i.e. that would
537
///                  require a SVE splice instruction
538
///   Reverse:     Reverse loops
539
///   Simple:      Loops that are not reversed and don't contain reductions
540
///                  or first-order recurrences.
541
///   All:         All
542
enum class TailFoldingOpts : uint8_t {
543
  Disabled = 0x00,
544
  Simple = 0x01,
545
  Reductions = 0x02,
546
  Recurrences = 0x04,
547
  Reverse = 0x08,
548
  All = Reductions | Recurrences | Simple | Reverse
549
};
550
551
LLVM_DECLARE_ENUM_AS_BITMASK(TailFoldingOpts,
552
                             /* LargestValue */ (long)TailFoldingOpts::Reverse);
553
554
namespace AArch64ExactFPImm {
555
  struct ExactFPImm {
556
    const char *Name;
557
    int Enum;
558
    const char *Repr;
559
  };
560
#define GET_EXACTFPIMM_DECL
561
#include "AArch64GenSystemOperands.inc"
562
}
563
564
namespace AArch64PState {
565
  struct PStateImm0_15 : SysAlias{
566
    using SysAlias::SysAlias;
567
  };
568
  #define GET_PSTATEIMM0_15_DECL
569
  #include "AArch64GenSystemOperands.inc"
570
571
  struct PStateImm0_1 : SysAlias{
572
    using SysAlias::SysAlias;
573
  };
574
  #define GET_PSTATEIMM0_1_DECL
575
  #include "AArch64GenSystemOperands.inc"
576
}
577
578
namespace AArch64PSBHint {
579
  struct PSB : SysAlias {
580
    using SysAlias::SysAlias;
581
  };
582
  #define GET_PSB_DECL
583
  #include "AArch64GenSystemOperands.inc"
584
}
585
586
namespace AArch64BTIHint {
587
  struct BTI : SysAlias {
588
    using SysAlias::SysAlias;
589
  };
590
  #define GET_BTI_DECL
591
  #include "AArch64GenSystemOperands.inc"
592
}
593
594
namespace AArch64SE {
595
    enum ShiftExtSpecifiers {
596
        Invalid = -1,
597
        LSL,
598
        MSL,
599
        LSR,
600
        ASR,
601
        ROR,
602
603
        UXTB,
604
        UXTH,
605
        UXTW,
606
        UXTX,
607
608
        SXTB,
609
        SXTH,
610
        SXTW,
611
        SXTX
612
    };
613
}
614
615
namespace AArch64Layout {
616
    enum VectorLayout {
617
        Invalid = -1,
618
        VL_8B,
619
        VL_4H,
620
        VL_2S,
621
        VL_1D,
622
623
        VL_16B,
624
        VL_8H,
625
        VL_4S,
626
        VL_2D,
627
628
        // Bare layout for the 128-bit vector
629
        // (only show ".b", ".h", ".s", ".d" without vector number)
630
        VL_B,
631
        VL_H,
632
        VL_S,
633
        VL_D
634
    };
635
}
636
637
inline static const char *
638
0
AArch64VectorLayoutToString(AArch64Layout::VectorLayout Layout) {
639
0
  switch (Layout) {
640
0
  case AArch64Layout::VL_8B:  return ".8b";
641
0
  case AArch64Layout::VL_4H:  return ".4h";
642
0
  case AArch64Layout::VL_2S:  return ".2s";
643
0
  case AArch64Layout::VL_1D:  return ".1d";
644
0
  case AArch64Layout::VL_16B:  return ".16b";
645
0
  case AArch64Layout::VL_8H:  return ".8h";
646
0
  case AArch64Layout::VL_4S:  return ".4s";
647
0
  case AArch64Layout::VL_2D:  return ".2d";
648
0
  case AArch64Layout::VL_B:  return ".b";
649
0
  case AArch64Layout::VL_H:  return ".h";
650
0
  case AArch64Layout::VL_S:  return ".s";
651
0
  case AArch64Layout::VL_D:  return ".d";
652
0
  default: llvm_unreachable("Unknown Vector Layout");
653
0
  }
654
0
}
Unexecuted instantiation: AArch64AsmParser.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64AsmPrinter.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64MCInstLower.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64RegisterInfo.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64Subtarget.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64TargetMachine.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64TargetObjectFile.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64TargetTransformInfo.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: SMEABIPass.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: SVEIntrinsicOpts.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64SIMDInstrOpt.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64CallLowering.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64InstructionSelector.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64LegalizerInfo.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64O0PreLegalizerCombiner.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64PreLegalizerCombiner.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64PostLegalizerCombiner.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64PostLegalizerLowering.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64PostSelectOptimize.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64A57FPLoadBalancing.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64AdvSIMDScalarPass.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64BranchTargets.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64CleanupLocalDynamicTLSPass.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64CollectLOH.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64CondBrTuning.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64ConditionalCompares.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64DeadRegisterDefinitionsPass.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64ExpandImm.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64ExpandPseudoInsts.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64FalkorHWPFFix.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64A53Fix835769.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64FrameLowering.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64GlobalsTagging.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64CompressJumpTables.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64ConditionOptimizer.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64RedundantCopyElimination.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64ISelDAGToDAG.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64ISelLowering.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64InstrInfo.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64LoadStoreOptimizer.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64LowerHomogeneousPrologEpilog.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64MachineFunctionInfo.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64MachineScheduler.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64MacroFusion.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64MIPeepholeOpt.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64PointerAuth.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64PromoteConstant.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64PBQPRegAlloc.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64SLSHardening.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64SelectionDAGInfo.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64SpeculationHardening.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64StackTagging.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64StackTaggingPreRA.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64StorePairSuppress.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64GlobalISelUtils.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64CallingConvention.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64FastISel.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64InstPrinter.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64MCExpr.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64MCTargetDesc.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64AsmBackend.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64ELFObjectWriter.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64MCCodeEmitter.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64WinCOFFObjectWriter.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
Unexecuted instantiation: AArch64BaseInfo.cpp:llvm::AArch64VectorLayoutToString(llvm::AArch64Layout::VectorLayout)
655
656
inline static AArch64Layout::VectorLayout
657
0
AArch64StringToVectorLayout(StringRef LayoutStr) {
658
0
  return StringSwitch<AArch64Layout::VectorLayout>(LayoutStr)
659
0
             .Case(".8b", AArch64Layout::VL_8B)
660
0
             .Case(".4h", AArch64Layout::VL_4H)
661
0
             .Case(".2s", AArch64Layout::VL_2S)
662
0
             .Case(".1d", AArch64Layout::VL_1D)
663
0
             .Case(".16b", AArch64Layout::VL_16B)
664
0
             .Case(".8h", AArch64Layout::VL_8H)
665
0
             .Case(".4s", AArch64Layout::VL_4S)
666
0
             .Case(".2d", AArch64Layout::VL_2D)
667
0
             .Case(".b", AArch64Layout::VL_B)
668
0
             .Case(".h", AArch64Layout::VL_H)
669
0
             .Case(".s", AArch64Layout::VL_S)
670
0
             .Case(".d", AArch64Layout::VL_D)
671
0
             .Default(AArch64Layout::Invalid);
672
0
}
Unexecuted instantiation: AArch64AsmParser.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64AsmPrinter.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64MCInstLower.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64RegisterInfo.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64Subtarget.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64TargetMachine.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64TargetObjectFile.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64TargetTransformInfo.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: SMEABIPass.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: SVEIntrinsicOpts.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64SIMDInstrOpt.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64CallLowering.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64InstructionSelector.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64LegalizerInfo.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64O0PreLegalizerCombiner.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64PreLegalizerCombiner.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64PostLegalizerCombiner.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64PostLegalizerLowering.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64PostSelectOptimize.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64A57FPLoadBalancing.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64AdvSIMDScalarPass.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64BranchTargets.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64CleanupLocalDynamicTLSPass.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64CollectLOH.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64CondBrTuning.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64ConditionalCompares.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64DeadRegisterDefinitionsPass.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64ExpandImm.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64ExpandPseudoInsts.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64FalkorHWPFFix.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64A53Fix835769.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64FrameLowering.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64GlobalsTagging.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64CompressJumpTables.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64ConditionOptimizer.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64RedundantCopyElimination.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64ISelDAGToDAG.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64ISelLowering.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64InstrInfo.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64LoadStoreOptimizer.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64LowerHomogeneousPrologEpilog.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64MachineFunctionInfo.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64MachineScheduler.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64MacroFusion.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64MIPeepholeOpt.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64PointerAuth.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64PromoteConstant.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64PBQPRegAlloc.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64SLSHardening.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64SelectionDAGInfo.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64SpeculationHardening.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64StackTagging.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64StackTaggingPreRA.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64StorePairSuppress.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64GlobalISelUtils.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64CallingConvention.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64FastISel.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64InstPrinter.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64MCExpr.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64MCTargetDesc.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64AsmBackend.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64ELFObjectWriter.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64MCCodeEmitter.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64WinCOFFObjectWriter.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
Unexecuted instantiation: AArch64BaseInfo.cpp:llvm::AArch64StringToVectorLayout(llvm::StringRef)
673
674
namespace AArch64SysReg {
675
  struct SysReg {
676
    const char *Name;
677
    const char *AltName;
678
    unsigned Encoding;
679
    bool Readable;
680
    bool Writeable;
681
    FeatureBitset FeaturesRequired;
682
683
0
    bool haveFeatures(FeatureBitset ActiveFeatures) const {
684
0
      return ActiveFeatures[llvm::AArch64::FeatureAll] ||
685
0
             (FeaturesRequired & ActiveFeatures) == FeaturesRequired;
686
0
    }
687
  };
688
689
  #define GET_SYSREG_DECL
690
  #include "AArch64GenSystemOperands.inc"
691
692
  const SysReg *lookupSysRegByName(StringRef);
693
  const SysReg *lookupSysRegByEncoding(uint16_t);
694
695
  uint32_t parseGenericRegister(StringRef Name);
696
  std::string genericRegisterString(uint32_t Bits);
697
}
698
699
namespace AArch64TLBI {
700
  struct TLBI : SysAliasReg {
701
    using SysAliasReg::SysAliasReg;
702
  };
703
  #define GET_TLBITable_DECL
704
  #include "AArch64GenSystemOperands.inc"
705
}
706
707
namespace AArch64PRCTX {
708
  struct PRCTX : SysAliasReg {
709
    using SysAliasReg::SysAliasReg;
710
  };
711
  #define GET_PRCTX_DECL
712
  #include "AArch64GenSystemOperands.inc"
713
}
714
715
namespace AArch64II {
716
  /// Target Operand Flag enum.
717
  enum TOF {
718
    //===------------------------------------------------------------------===//
719
    // AArch64 Specific MachineOperand flags.
720
721
    MO_NO_FLAG,
722
723
    MO_FRAGMENT = 0x7,
724
725
    /// MO_PAGE - A symbol operand with this flag represents the pc-relative
726
    /// offset of the 4K page containing the symbol.  This is used with the
727
    /// ADRP instruction.
728
    MO_PAGE = 1,
729
730
    /// MO_PAGEOFF - A symbol operand with this flag represents the offset of
731
    /// that symbol within a 4K page.  This offset is added to the page address
732
    /// to produce the complete address.
733
    MO_PAGEOFF = 2,
734
735
    /// MO_G3 - A symbol operand with this flag (granule 3) represents the high
736
    /// 16-bits of a 64-bit address, used in a MOVZ or MOVK instruction
737
    MO_G3 = 3,
738
739
    /// MO_G2 - A symbol operand with this flag (granule 2) represents the bits
740
    /// 32-47 of a 64-bit address, used in a MOVZ or MOVK instruction
741
    MO_G2 = 4,
742
743
    /// MO_G1 - A symbol operand with this flag (granule 1) represents the bits
744
    /// 16-31 of a 64-bit address, used in a MOVZ or MOVK instruction
745
    MO_G1 = 5,
746
747
    /// MO_G0 - A symbol operand with this flag (granule 0) represents the bits
748
    /// 0-15 of a 64-bit address, used in a MOVZ or MOVK instruction
749
    MO_G0 = 6,
750
751
    /// MO_HI12 - This flag indicates that a symbol operand represents the bits
752
    /// 13-24 of a 64-bit address, used in a arithmetic immediate-shifted-left-
753
    /// by-12-bits instruction.
754
    MO_HI12 = 7,
755
756
    /// MO_COFFSTUB - On a symbol operand "FOO", this indicates that the
757
    /// reference is actually to the ".refptr.FOO" symbol.  This is used for
758
    /// stub symbols on windows.
759
    MO_COFFSTUB = 0x8,
760
761
    /// MO_GOT - This flag indicates that a symbol operand represents the
762
    /// address of the GOT entry for the symbol, rather than the address of
763
    /// the symbol itself.
764
    MO_GOT = 0x10,
765
766
    /// MO_NC - Indicates whether the linker is expected to check the symbol
767
    /// reference for overflow. For example in an ADRP/ADD pair of relocations
768
    /// the ADRP usually does check, but not the ADD.
769
    MO_NC = 0x20,
770
771
    /// MO_TLS - Indicates that the operand being accessed is some kind of
772
    /// thread-local symbol. On Darwin, only one type of thread-local access
773
    /// exists (pre linker-relaxation), but on ELF the TLSModel used for the
774
    /// referee will affect interpretation.
775
    MO_TLS = 0x40,
776
777
    /// MO_DLLIMPORT - On a symbol operand, this represents that the reference
778
    /// to the symbol is for an import stub.  This is used for DLL import
779
    /// storage class indication on Windows.
780
    MO_DLLIMPORT = 0x80,
781
782
    /// MO_S - Indicates that the bits of the symbol operand represented by
783
    /// MO_G0 etc are signed.
784
    MO_S = 0x100,
785
786
    /// MO_PREL - Indicates that the bits of the symbol operand represented by
787
    /// MO_G0 etc are PC relative.
788
    MO_PREL = 0x200,
789
790
    /// MO_TAGGED - With MO_PAGE, indicates that the page includes a memory tag
791
    /// in bits 56-63.
792
    /// On a FrameIndex operand, indicates that the underlying memory is tagged
793
    /// with an unknown tag value (MTE); this needs to be lowered either to an
794
    /// SP-relative load or store instruction (which do not check tags), or to
795
    /// an LDG instruction to obtain the tag value.
796
    MO_TAGGED = 0x400,
797
798
    /// MO_DLLIMPORTAUX - Symbol refers to "auxilliary" import stub. On
799
    /// Arm64EC, there are two kinds of import stubs used for DLL import of
800
    /// functions: MO_DLLIMPORT refers to natively callable Arm64 code, and
801
    /// MO_DLLIMPORTAUX refers to the original address which can be compared
802
    /// for equality.
803
    MO_DLLIMPORTAUX = 0x800,
804
  };
805
} // end namespace AArch64II
806
807
//===----------------------------------------------------------------------===//
808
// v8.3a Pointer Authentication
809
//
810
811
namespace AArch64PACKey {
812
enum ID : uint8_t {
813
  IA = 0,
814
  IB = 1,
815
  DA = 2,
816
  DB = 3,
817
  LAST = DB
818
};
819
} // namespace AArch64PACKey
820
821
/// Return 2-letter identifier string for numeric key ID.
822
0
inline static StringRef AArch64PACKeyIDToString(AArch64PACKey::ID KeyID) {
823
0
  switch (KeyID) {
824
0
  case AArch64PACKey::IA:
825
0
    return StringRef("ia");
826
0
  case AArch64PACKey::IB:
827
0
    return StringRef("ib");
828
0
  case AArch64PACKey::DA:
829
0
    return StringRef("da");
830
0
  case AArch64PACKey::DB:
831
0
    return StringRef("db");
832
0
  }
833
0
  llvm_unreachable("Unhandled AArch64PACKey::ID enum");
834
0
}
Unexecuted instantiation: AArch64AsmParser.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64AsmPrinter.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64MCInstLower.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64RegisterInfo.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64Subtarget.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64TargetMachine.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64TargetObjectFile.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64TargetTransformInfo.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: SMEABIPass.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: SVEIntrinsicOpts.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64SIMDInstrOpt.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64CallLowering.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64InstructionSelector.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64LegalizerInfo.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64O0PreLegalizerCombiner.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64PreLegalizerCombiner.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64PostLegalizerCombiner.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64PostLegalizerLowering.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64PostSelectOptimize.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64A57FPLoadBalancing.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64AdvSIMDScalarPass.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64BranchTargets.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64CleanupLocalDynamicTLSPass.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64CollectLOH.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64CondBrTuning.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64ConditionalCompares.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64DeadRegisterDefinitionsPass.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64ExpandImm.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64ExpandPseudoInsts.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64FalkorHWPFFix.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64A53Fix835769.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64FrameLowering.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64GlobalsTagging.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64CompressJumpTables.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64ConditionOptimizer.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64RedundantCopyElimination.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64ISelDAGToDAG.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64ISelLowering.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64InstrInfo.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64LoadStoreOptimizer.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64LowerHomogeneousPrologEpilog.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64MachineFunctionInfo.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64MachineScheduler.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64MacroFusion.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64MIPeepholeOpt.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64PointerAuth.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64PromoteConstant.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64PBQPRegAlloc.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64SLSHardening.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64SelectionDAGInfo.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64SpeculationHardening.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64StackTagging.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64StackTaggingPreRA.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64StorePairSuppress.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64GlobalISelUtils.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64CallingConvention.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64FastISel.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64InstPrinter.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64MCExpr.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64MCTargetDesc.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64AsmBackend.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64ELFObjectWriter.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64MCCodeEmitter.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64WinCOFFObjectWriter.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
Unexecuted instantiation: AArch64BaseInfo.cpp:llvm::AArch64PACKeyIDToString(llvm::AArch64PACKey::ID)
835
836
/// Return numeric key ID for 2-letter identifier string.
837
inline static std::optional<AArch64PACKey::ID>
838
0
AArch64StringToPACKeyID(StringRef Name) {
839
0
  if (Name == "ia")
840
0
    return AArch64PACKey::IA;
841
0
  if (Name == "ib")
842
0
    return AArch64PACKey::IB;
843
0
  if (Name == "da")
844
0
    return AArch64PACKey::DA;
845
0
  if (Name == "db")
846
0
    return AArch64PACKey::DB;
847
0
  return std::nullopt;
848
0
}
Unexecuted instantiation: AArch64AsmParser.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64AsmPrinter.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64MCInstLower.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64RegisterInfo.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64Subtarget.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64TargetMachine.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64TargetObjectFile.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64TargetTransformInfo.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: SMEABIPass.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: SVEIntrinsicOpts.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64SIMDInstrOpt.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64CallLowering.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64InstructionSelector.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64LegalizerInfo.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64O0PreLegalizerCombiner.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64PreLegalizerCombiner.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64PostLegalizerCombiner.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64PostLegalizerLowering.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64PostSelectOptimize.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64A57FPLoadBalancing.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64AdvSIMDScalarPass.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64BranchTargets.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64CleanupLocalDynamicTLSPass.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64CollectLOH.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64CondBrTuning.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64ConditionalCompares.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64DeadRegisterDefinitionsPass.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64ExpandImm.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64ExpandPseudoInsts.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64FalkorHWPFFix.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64A53Fix835769.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64FrameLowering.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64GlobalsTagging.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64CompressJumpTables.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64ConditionOptimizer.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64RedundantCopyElimination.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64ISelDAGToDAG.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64ISelLowering.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64InstrInfo.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64LoadStoreOptimizer.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64LowerHomogeneousPrologEpilog.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64MachineFunctionInfo.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64MachineScheduler.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64MacroFusion.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64MIPeepholeOpt.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64PointerAuth.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64PromoteConstant.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64PBQPRegAlloc.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64SLSHardening.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64SelectionDAGInfo.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64SpeculationHardening.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64StackTagging.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64StackTaggingPreRA.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64StorePairSuppress.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64GlobalISelUtils.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64CallingConvention.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64FastISel.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64InstPrinter.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64MCExpr.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64MCTargetDesc.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64AsmBackend.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64ELFObjectWriter.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64MCCodeEmitter.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64WinCOFFObjectWriter.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
Unexecuted instantiation: AArch64BaseInfo.cpp:llvm::AArch64StringToPACKeyID(llvm::StringRef)
849
850
namespace AArch64 {
851
// The number of bits in a SVE register is architecturally defined
852
// to be a multiple of this value.  If <M x t> has this number of bits,
853
// a <n x M x t> vector can be stored in a SVE register without any
854
// redundant bits.  If <M x t> has this number of bits divided by P,
855
// a <n x M x t> vector is stored in a SVE register by placing index i
856
// in index i*P of a <n x (M*P) x t> vector.  The other elements of the
857
// <n x (M*P) x t> vector (such as index 1) are undefined.
858
static constexpr unsigned SVEBitsPerBlock = 128;
859
static constexpr unsigned SVEMaxBitsPerVector = 2048;
860
} // end namespace AArch64
861
} // end namespace llvm
862
863
#endif