003 File Manager
Current Path:
/usr/src/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel
usr
/
src
/
contrib
/
llvm-project
/
llvm
/
lib
/
CodeGen
/
GlobalISel
/
📁
..
📄
CSEInfo.cpp
(12.25 KB)
📄
CSEMIRBuilder.cpp
(8.85 KB)
📄
CallLowering.cpp
(19.93 KB)
📄
Combiner.cpp
(5.58 KB)
📄
CombinerHelper.cpp
(62.81 KB)
📄
GISelChangeObserver.cpp
(1.69 KB)
📄
GISelKnownBits.cpp
(18.45 KB)
📄
GlobalISel.cpp
(901 B)
📄
IRTranslator.cpp
(90.61 KB)
📄
InlineAsmLowering.cpp
(24.72 KB)
📄
InstructionSelect.cpp
(9.31 KB)
📄
InstructionSelector.cpp
(2.88 KB)
📄
LegalityPredicates.cpp
(6.61 KB)
📄
LegalizeMutations.cpp
(2.68 KB)
📄
Legalizer.cpp
(14.52 KB)
📄
LegalizerHelper.cpp
(185.18 KB)
📄
LegalizerInfo.cpp
(27.83 KB)
📄
Localizer.cpp
(7.14 KB)
📄
LostDebugLocObserver.cpp
(3.38 KB)
📄
MachineIRBuilder.cpp
(45.42 KB)
📄
RegBankSelect.cpp
(41.82 KB)
📄
RegisterBank.cpp
(3.96 KB)
📄
RegisterBankInfo.cpp
(30.26 KB)
📄
Utils.cpp
(19.66 KB)
Editing: GISelChangeObserver.cpp
//===-- lib/CodeGen/GlobalISel/GISelChangeObserver.cpp --------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file constains common code to combine machine functions at generic // level. //===----------------------------------------------------------------------===// #include "llvm/CodeGen/GlobalISel/GISelChangeObserver.h" #include "llvm/CodeGen/MachineRegisterInfo.h" using namespace llvm; void GISelChangeObserver::changingAllUsesOfReg( const MachineRegisterInfo &MRI, unsigned Reg) { for (auto &ChangingMI : MRI.use_instructions(Reg)) { changingInstr(ChangingMI); ChangingAllUsesOfReg.insert(&ChangingMI); } } void GISelChangeObserver::finishedChangingAllUsesOfReg() { for (auto *ChangedMI : ChangingAllUsesOfReg) changedInstr(*ChangedMI); ChangingAllUsesOfReg.clear(); } RAIIDelegateInstaller::RAIIDelegateInstaller(MachineFunction &MF, MachineFunction::Delegate *Del) : MF(MF), Delegate(Del) { // Register this as the delegate for handling insertions and deletions of // instructions. MF.setDelegate(Del); } RAIIDelegateInstaller::~RAIIDelegateInstaller() { MF.resetDelegate(Delegate); } RAIIMFObserverInstaller::RAIIMFObserverInstaller(MachineFunction &MF, GISelChangeObserver &Observer) : MF(MF) { MF.setObserver(&Observer); } RAIIMFObserverInstaller::~RAIIMFObserverInstaller() { MF.setObserver(nullptr); }
Upload File
Create Folder