/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 |