LLVM
20.0.0git
lib
Target
AArch64
AArch64ExpandImm.h
Go to the documentation of this file.
1
//===- AArch64ExpandImm.h - AArch64 Immediate Expansion ---------*- 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 the AArch64 immediate expansion stuff.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef LLVM_LIB_TARGET_AARCH64_MCTARGETDESC_AARCH64EXPANDIMM_H
14
#define LLVM_LIB_TARGET_AARCH64_MCTARGETDESC_AARCH64EXPANDIMM_H
15
16
#include "
llvm/ADT/SmallVector.h
"
17
18
namespace
llvm
{
19
20
namespace
AArch64_IMM {
21
22
struct
ImmInsnModel
{
23
unsigned
Opcode
;
24
uint64_t
Op1
;
25
uint64_t
Op2
;
26
};
27
28
void
expandMOVImm
(
uint64_t
Imm,
unsigned
BitSize,
29
SmallVectorImpl<ImmInsnModel>
&
Insn
);
30
31
}
// end namespace AArch64_IMM
32
33
}
// end namespace llvm
34
35
#endif
Insn
SmallVector< AArch64_IMM::ImmInsnModel, 4 > Insn
Definition:
AArch64MIPeepholeOpt.cpp:163
SmallVector.h
This file defines the SmallVector class.
llvm::SmallVectorImpl
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
Definition:
SmallVector.h:586
uint64_t
llvm::AArch64_IMM::expandMOVImm
void expandMOVImm(uint64_t Imm, unsigned BitSize, SmallVectorImpl< ImmInsnModel > &Insn)
Expand a MOVi32imm or MOVi64imm pseudo instruction to one or more real move-immediate instructions to...
Definition:
AArch64ExpandImm.cpp:533
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
llvm::AArch64_IMM::ImmInsnModel
Definition:
AArch64ExpandImm.h:22
llvm::AArch64_IMM::ImmInsnModel::Op2
uint64_t Op2
Definition:
AArch64ExpandImm.h:25
llvm::AArch64_IMM::ImmInsnModel::Opcode
unsigned Opcode
Definition:
AArch64ExpandImm.h:23
llvm::AArch64_IMM::ImmInsnModel::Op1
uint64_t Op1
Definition:
AArch64ExpandImm.h:24
Generated on Thu Nov 21 2024 03:06:23 for LLVM by
1.9.6