diff options
Diffstat (limited to 'lib/Target/Lanai')
51 files changed, 226 insertions, 252 deletions
diff --git a/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp b/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp index a77b2b8f15cad..9af8a0b35b2f6 100644 --- a/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp +++ b/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp @@ -1,16 +1,16 @@ //===-- LanaiAsmParser.cpp - Parse Lanai assembly to MCInst instructions --===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// -#include "Lanai.h" #include "LanaiAluCode.h" #include "LanaiCondCode.h" +#include "LanaiInstrInfo.h" #include "MCTargetDesc/LanaiMCExpr.h" +#include "TargetInfo/LanaiTargetInfo.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringRef.h" #include "llvm/ADT/StringSwitch.h" diff --git a/lib/Target/Lanai/Disassembler/LanaiDisassembler.cpp b/lib/Target/Lanai/Disassembler/LanaiDisassembler.cpp index 609b650e5d32b..25ae7c521706a 100644 --- a/lib/Target/Lanai/Disassembler/LanaiDisassembler.cpp +++ b/lib/Target/Lanai/Disassembler/LanaiDisassembler.cpp @@ -1,9 +1,8 @@ //===- LanaiDisassembler.cpp - Disassembler for Lanai -----------*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -13,8 +12,10 @@ #include "LanaiDisassembler.h" -#include "Lanai.h" -#include "LanaiSubtarget.h" +#include "LanaiAluCode.h" +#include "LanaiCondCode.h" +#include "LanaiInstrInfo.h" +#include "TargetInfo/LanaiTargetInfo.h" #include "llvm/MC/MCFixedLenDisassembler.h" #include "llvm/MC/MCInst.h" #include "llvm/MC/MCSubtargetInfo.h" diff --git a/lib/Target/Lanai/Disassembler/LanaiDisassembler.h b/lib/Target/Lanai/Disassembler/LanaiDisassembler.h index e0c19e8ea6444..ae821df303d85 100644 --- a/lib/Target/Lanai/Disassembler/LanaiDisassembler.h +++ b/lib/Target/Lanai/Disassembler/LanaiDisassembler.h @@ -1,9 +1,8 @@ //===- LanaiDisassembler.cpp - Disassembler for Lanai -----------*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/Lanai.h b/lib/Target/Lanai/Lanai.h index c1fdf793305b7..2f06ea91ab03c 100644 --- a/lib/Target/Lanai/Lanai.h +++ b/lib/Target/Lanai/Lanai.h @@ -1,9 +1,8 @@ //===-- Lanai.h - Top-level interface for Lanai representation --*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -15,12 +14,7 @@ #ifndef LLVM_LIB_TARGET_LANAI_LANAI_H #define LLVM_LIB_TARGET_LANAI_LANAI_H -#include "LanaiAluCode.h" -#include "LanaiCondCode.h" -#include "MCTargetDesc/LanaiBaseInfo.h" -#include "MCTargetDesc/LanaiMCTargetDesc.h" -#include "llvm/CodeGen/ISDOpcodes.h" -#include "llvm/Target/TargetMachine.h" +#include "llvm/Pass.h" namespace llvm { class FunctionPass; @@ -45,7 +39,6 @@ FunctionPass *createLanaiMemAluCombinerPass(); // operations. FunctionPass *createLanaiSetflagAluCombinerPass(); -Target &getTheLanaiTarget(); } // namespace llvm #endif // LLVM_LIB_TARGET_LANAI_LANAI_H diff --git a/lib/Target/Lanai/Lanai.td b/lib/Target/Lanai/Lanai.td index 73d080457034d..c6d949f42047e 100644 --- a/lib/Target/Lanai/Lanai.td +++ b/lib/Target/Lanai/Lanai.td @@ -1,9 +1,8 @@ //===- Lanai.td - Describe the Lanai Target Machine --------*- tablegen -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// diff --git a/lib/Target/Lanai/LanaiAluCode.h b/lib/Target/Lanai/LanaiAluCode.h index d5145694fe462..728332bff00b8 100644 --- a/lib/Target/Lanai/LanaiAluCode.h +++ b/lib/Target/Lanai/LanaiAluCode.h @@ -1,9 +1,8 @@ //===-- LanaiAluCode.h - ALU operator encoding ----------------------------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/LanaiAsmPrinter.cpp b/lib/Target/Lanai/LanaiAsmPrinter.cpp index 607b2a97b29f6..64d963475e1a6 100644 --- a/lib/Target/Lanai/LanaiAsmPrinter.cpp +++ b/lib/Target/Lanai/LanaiAsmPrinter.cpp @@ -1,9 +1,8 @@ //===-- LanaiAsmPrinter.cpp - Lanai LLVM assembly writer ------------------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -12,11 +11,13 @@ // //===----------------------------------------------------------------------===// -#include "InstPrinter/LanaiInstPrinter.h" -#include "Lanai.h" +#include "MCTargetDesc/LanaiInstPrinter.h" +#include "LanaiAluCode.h" +#include "LanaiCondCode.h" #include "LanaiInstrInfo.h" #include "LanaiMCInstLower.h" #include "LanaiTargetMachine.h" +#include "TargetInfo/LanaiTargetInfo.h" #include "llvm/CodeGen/AsmPrinter.h" #include "llvm/CodeGen/MachineConstantPool.h" #include "llvm/CodeGen/MachineFunctionPass.h" @@ -49,8 +50,7 @@ public: void printOperand(const MachineInstr *MI, int OpNum, raw_ostream &O); bool PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, - unsigned AsmVariant, const char *ExtraCode, - raw_ostream &O) override; + const char *ExtraCode, raw_ostream &O) override; void EmitInstruction(const MachineInstr *MI) override; bool isBlockOnlyReachableByFallthrough( const MachineBasicBlock *MBB) const override; @@ -109,7 +109,6 @@ void LanaiAsmPrinter::printOperand(const MachineInstr *MI, int OpNum, // PrintAsmOperand - Print out an operand for an inline asm expression. bool LanaiAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, - unsigned /*AsmVariant*/, const char *ExtraCode, raw_ostream &O) { // Does this asm operand have a single letter operand modifier? if (ExtraCode && ExtraCode[0]) { @@ -139,7 +138,7 @@ bool LanaiAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNo, return false; } default: - return true; // Unknown modifier. + return AsmPrinter::PrintAsmOperand(MI, OpNo, ExtraCode, O); } } printOperand(MI, OpNo, O); diff --git a/lib/Target/Lanai/LanaiCallingConv.td b/lib/Target/Lanai/LanaiCallingConv.td index 056b329c33c50..e2306725290ad 100644 --- a/lib/Target/Lanai/LanaiCallingConv.td +++ b/lib/Target/Lanai/LanaiCallingConv.td @@ -1,9 +1,8 @@ //===- LanaiCallingConv.td - Calling Conventions Lanai -------*- tablegen -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/LanaiDelaySlotFiller.cpp b/lib/Target/Lanai/LanaiDelaySlotFiller.cpp index ea76a11283733..09c63dca23e25 100644 --- a/lib/Target/Lanai/LanaiDelaySlotFiller.cpp +++ b/lib/Target/Lanai/LanaiDelaySlotFiller.cpp @@ -1,9 +1,8 @@ //===-- LanaiDelaySlotFiller.cpp - Lanai delay slot filler ----------------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/LanaiFrameLowering.cpp b/lib/Target/Lanai/LanaiFrameLowering.cpp index 0723668c743e1..142c09c504cc1 100644 --- a/lib/Target/Lanai/LanaiFrameLowering.cpp +++ b/lib/Target/Lanai/LanaiFrameLowering.cpp @@ -1,9 +1,8 @@ //===-- LanaiFrameLowering.cpp - Lanai Frame Information ------------------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -13,8 +12,8 @@ #include "LanaiFrameLowering.h" +#include "LanaiAluCode.h" #include "LanaiInstrInfo.h" -#include "LanaiMachineFunctionInfo.h" #include "LanaiSubtarget.h" #include "llvm/CodeGen/MachineFrameInfo.h" #include "llvm/CodeGen/MachineFunction.h" diff --git a/lib/Target/Lanai/LanaiFrameLowering.h b/lib/Target/Lanai/LanaiFrameLowering.h index ca690d513fc2d..5fe4535543ec0 100644 --- a/lib/Target/Lanai/LanaiFrameLowering.h +++ b/lib/Target/Lanai/LanaiFrameLowering.h @@ -1,9 +1,8 @@ //===-- LanaiFrameLowering.h - Define frame lowering for Lanai --*- C++-*--===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -14,7 +13,6 @@ #ifndef LLVM_LIB_TARGET_LANAI_LANAIFRAMELOWERING_H #define LLVM_LIB_TARGET_LANAI_LANAIFRAMELOWERING_H -#include "Lanai.h" #include "llvm/CodeGen/TargetFrameLowering.h" namespace llvm { diff --git a/lib/Target/Lanai/LanaiISelDAGToDAG.cpp b/lib/Target/Lanai/LanaiISelDAGToDAG.cpp index 5081cfbe49223..aadcdc43f5601 100644 --- a/lib/Target/Lanai/LanaiISelDAGToDAG.cpp +++ b/lib/Target/Lanai/LanaiISelDAGToDAG.cpp @@ -1,9 +1,8 @@ //===-- LanaiISelDAGToDAG.cpp - A dag to dag inst selector for Lanai ------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -11,7 +10,7 @@ // //===----------------------------------------------------------------------===// -#include "Lanai.h" +#include "LanaiAluCode.h" #include "LanaiMachineFunctionInfo.h" #include "LanaiRegisterInfo.h" #include "LanaiSubtarget.h" diff --git a/lib/Target/Lanai/LanaiISelLowering.cpp b/lib/Target/Lanai/LanaiISelLowering.cpp index 0411704be6fb7..1ed078bb433f7 100644 --- a/lib/Target/Lanai/LanaiISelLowering.cpp +++ b/lib/Target/Lanai/LanaiISelLowering.cpp @@ -1,9 +1,8 @@ //===-- LanaiISelLowering.cpp - Lanai DAG Lowering Implementation ---------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/LanaiISelLowering.h b/lib/Target/Lanai/LanaiISelLowering.h index 0cde633cb41a9..e7b5755e90412 100644 --- a/lib/Target/Lanai/LanaiISelLowering.h +++ b/lib/Target/Lanai/LanaiISelLowering.h @@ -1,9 +1,8 @@ //===-- LanaiISelLowering.h - Lanai DAG Lowering Interface -....-*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/LanaiInstrFormats.td b/lib/Target/Lanai/LanaiInstrFormats.td index 1bb6b3d26a498..4101aa912ade4 100644 --- a/lib/Target/Lanai/LanaiInstrFormats.td +++ b/lib/Target/Lanai/LanaiInstrFormats.td @@ -1,9 +1,8 @@ //===- LanaiInstrFormats.td - Lanai Instruction Formats ----*- tablegen -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// diff --git a/lib/Target/Lanai/LanaiInstrInfo.cpp b/lib/Target/Lanai/LanaiInstrInfo.cpp index 196768fdc56a3..700a860691027 100644 --- a/lib/Target/Lanai/LanaiInstrInfo.cpp +++ b/lib/Target/Lanai/LanaiInstrInfo.cpp @@ -1,9 +1,8 @@ //===-- LanaiInstrInfo.cpp - Lanai Instruction Information ------*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -11,10 +10,10 @@ // //===----------------------------------------------------------------------===// -#include "Lanai.h" #include "LanaiInstrInfo.h" -#include "LanaiMachineFunctionInfo.h" -#include "LanaiTargetMachine.h" +#include "LanaiAluCode.h" +#include "LanaiCondCode.h" +#include "MCTargetDesc/LanaiBaseInfo.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/SmallVector.h" #include "llvm/CodeGen/MachineFunctionPass.h" @@ -87,7 +86,8 @@ void LanaiInstrInfo::loadRegFromStackSlot( } bool LanaiInstrInfo::areMemAccessesTriviallyDisjoint( - MachineInstr &MIa, MachineInstr &MIb, AliasAnalysis * /*AA*/) const { + const MachineInstr &MIa, const MachineInstr &MIb, + AliasAnalysis * /*AA*/) const { assert(MIa.mayLoadOrStore() && "MIa must be a load or store."); assert(MIb.mayLoadOrStore() && "MIb must be a load or store."); @@ -101,7 +101,7 @@ bool LanaiInstrInfo::areMemAccessesTriviallyDisjoint( // the width doesn't overlap the offset of a higher memory access, // then the memory accesses are different. const TargetRegisterInfo *TRI = &getRegisterInfo(); - MachineOperand *BaseOpA = nullptr, *BaseOpB = nullptr; + const MachineOperand *BaseOpA = nullptr, *BaseOpB = nullptr; int64_t OffsetA = 0, OffsetB = 0; unsigned int WidthA = 0, WidthB = 0; if (getMemOperandWithOffsetWidth(MIa, BaseOpA, OffsetA, WidthA, TRI) && @@ -756,7 +756,7 @@ unsigned LanaiInstrInfo::isStoreToStackSlot(const MachineInstr &MI, } bool LanaiInstrInfo::getMemOperandWithOffsetWidth( - MachineInstr &LdSt, MachineOperand *&BaseOp, int64_t &Offset, + const MachineInstr &LdSt, const MachineOperand *&BaseOp, int64_t &Offset, unsigned &Width, const TargetRegisterInfo * /*TRI*/) const { // Handle only loads/stores with base register followed by immediate offset // and with add as ALU op. @@ -794,8 +794,8 @@ bool LanaiInstrInfo::getMemOperandWithOffsetWidth( return true; } -bool LanaiInstrInfo::getMemOperandWithOffset(MachineInstr &LdSt, - MachineOperand *&BaseOp, +bool LanaiInstrInfo::getMemOperandWithOffset(const MachineInstr &LdSt, + const MachineOperand *&BaseOp, int64_t &Offset, const TargetRegisterInfo *TRI) const { switch (LdSt.getOpcode()) { diff --git a/lib/Target/Lanai/LanaiInstrInfo.h b/lib/Target/Lanai/LanaiInstrInfo.h index bdcf9a361b5f0..d71424aeb0b1b 100644 --- a/lib/Target/Lanai/LanaiInstrInfo.h +++ b/lib/Target/Lanai/LanaiInstrInfo.h @@ -1,9 +1,8 @@ //===- LanaiInstrInfo.h - Lanai Instruction Information ---------*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -36,7 +35,8 @@ public: return RegisterInfo; } - bool areMemAccessesTriviallyDisjoint(MachineInstr &MIa, MachineInstr &MIb, + bool areMemAccessesTriviallyDisjoint(const MachineInstr &MIa, + const MachineInstr &MIb, AliasAnalysis *AA) const override; unsigned isLoadFromStackSlot(const MachineInstr &MI, @@ -68,11 +68,13 @@ public: bool expandPostRAPseudo(MachineInstr &MI) const override; - bool getMemOperandWithOffset(MachineInstr &LdSt, MachineOperand *&BaseOp, + bool getMemOperandWithOffset(const MachineInstr &LdSt, + const MachineOperand *&BaseOp, int64_t &Offset, const TargetRegisterInfo *TRI) const override; - bool getMemOperandWithOffsetWidth(MachineInstr &LdSt, MachineOperand *&BaseOp, + bool getMemOperandWithOffsetWidth(const MachineInstr &LdSt, + const MachineOperand *&BaseOp, int64_t &Offset, unsigned &Width, const TargetRegisterInfo *TRI) const; diff --git a/lib/Target/Lanai/LanaiInstrInfo.td b/lib/Target/Lanai/LanaiInstrInfo.td index 66192b4a47042..fcf89a0b52f6b 100644 --- a/lib/Target/Lanai/LanaiInstrInfo.td +++ b/lib/Target/Lanai/LanaiInstrInfo.td @@ -1,9 +1,8 @@ //===-- LanaiInstrInfo.td - Target Description for Lanai Target -----------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/LanaiMCInstLower.cpp b/lib/Target/Lanai/LanaiMCInstLower.cpp index 90ede6566acf3..743f4f7c6e2f9 100644 --- a/lib/Target/Lanai/LanaiMCInstLower.cpp +++ b/lib/Target/Lanai/LanaiMCInstLower.cpp @@ -1,9 +1,8 @@ //=-- LanaiMCInstLower.cpp - Convert Lanai MachineInstr to an MCInst --------=// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/LanaiMCInstLower.h b/lib/Target/Lanai/LanaiMCInstLower.h index 6d7818d63d875..00d3ebb050455 100644 --- a/lib/Target/Lanai/LanaiMCInstLower.h +++ b/lib/Target/Lanai/LanaiMCInstLower.h @@ -1,9 +1,8 @@ //===-- LanaiMCInstLower.h - Lower MachineInstr to MCInst -------*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// diff --git a/lib/Target/Lanai/LanaiMachineFunctionInfo.cpp b/lib/Target/Lanai/LanaiMachineFunctionInfo.cpp index c72271b677900..7b4e0750ba08a 100644 --- a/lib/Target/Lanai/LanaiMachineFunctionInfo.cpp +++ b/lib/Target/Lanai/LanaiMachineFunctionInfo.cpp @@ -1,9 +1,8 @@ //===-- LanaiMachineFuctionInfo.cpp - Lanai machine function info ---===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// diff --git a/lib/Target/Lanai/LanaiMachineFunctionInfo.h b/lib/Target/Lanai/LanaiMachineFunctionInfo.h index 3bd9112a9e134..2c97c619c2462 100644 --- a/lib/Target/Lanai/LanaiMachineFunctionInfo.h +++ b/lib/Target/Lanai/LanaiMachineFunctionInfo.h @@ -1,9 +1,8 @@ //===- LanaiMachineFuctionInfo.h - Lanai machine func info -------*- C++ -*-==// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/LanaiMemAluCombiner.cpp b/lib/Target/Lanai/LanaiMemAluCombiner.cpp index 54500b0e52e36..67443b771d3d4 100644 --- a/lib/Target/Lanai/LanaiMemAluCombiner.cpp +++ b/lib/Target/Lanai/LanaiMemAluCombiner.cpp @@ -1,9 +1,8 @@ //===-- LanaiMemAluCombiner.cpp - Pass to combine memory & ALU operations -===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // Simple pass to combine memory and ALU operations @@ -23,7 +22,7 @@ // in the same machine basic block into one machine instruction. //===----------------------------------------------------------------------===// -#include "Lanai.h" +#include "LanaiAluCode.h" #include "LanaiTargetMachine.h" #include "llvm/ADT/SmallSet.h" #include "llvm/ADT/Statistic.h" @@ -159,7 +158,8 @@ bool isNonVolatileMemoryOp(const MachineInstr &MI) { const MachineMemOperand *MemOperand = *MI.memoperands_begin(); // Don't move volatile memory accesses - if (MemOperand->isVolatile()) + // TODO: unclear if we need to be as conservative about atomics + if (MemOperand->isVolatile() || MemOperand->isAtomic()) return false; return true; diff --git a/lib/Target/Lanai/LanaiRegisterInfo.cpp b/lib/Target/Lanai/LanaiRegisterInfo.cpp index 56a5e0ea2def8..d3056a1eba8eb 100644 --- a/lib/Target/Lanai/LanaiRegisterInfo.cpp +++ b/lib/Target/Lanai/LanaiRegisterInfo.cpp @@ -1,9 +1,8 @@ //===-- LanaiRegisterInfo.cpp - Lanai Register Information ------*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -12,8 +11,10 @@ //===----------------------------------------------------------------------===// #include "LanaiRegisterInfo.h" -#include "Lanai.h" -#include "LanaiSubtarget.h" +#include "LanaiAluCode.h" +#include "LanaiCondCode.h" +#include "LanaiFrameLowering.h" +#include "LanaiInstrInfo.h" #include "llvm/ADT/BitVector.h" #include "llvm/ADT/STLExtras.h" #include "llvm/CodeGen/MachineFrameInfo.h" @@ -257,12 +258,12 @@ bool LanaiRegisterInfo::hasBasePointer(const MachineFunction &MF) const { unsigned LanaiRegisterInfo::getRARegister() const { return Lanai::RCA; } -unsigned +Register LanaiRegisterInfo::getFrameRegister(const MachineFunction & /*MF*/) const { return Lanai::FP; } -unsigned LanaiRegisterInfo::getBaseRegister() const { return Lanai::R14; } +Register LanaiRegisterInfo::getBaseRegister() const { return Lanai::R14; } const uint32_t * LanaiRegisterInfo::getCallPreservedMask(const MachineFunction & /*MF*/, diff --git a/lib/Target/Lanai/LanaiRegisterInfo.h b/lib/Target/Lanai/LanaiRegisterInfo.h index 35f4788b2886e..4e4da619d366c 100644 --- a/lib/Target/Lanai/LanaiRegisterInfo.h +++ b/lib/Target/Lanai/LanaiRegisterInfo.h @@ -1,9 +1,8 @@ //===- LanaiRegisterInfo.h - Lanai Register Information Impl ----*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -43,8 +42,8 @@ struct LanaiRegisterInfo : public LanaiGenRegisterInfo { // Debug information queries. unsigned getRARegister() const; - unsigned getFrameRegister(const MachineFunction &MF) const override; - unsigned getBaseRegister() const; + Register getFrameRegister(const MachineFunction &MF) const override; + Register getBaseRegister() const; bool hasBasePointer(const MachineFunction &MF) const; int getDwarfRegNum(unsigned RegNum, bool IsEH) const; diff --git a/lib/Target/Lanai/LanaiRegisterInfo.td b/lib/Target/Lanai/LanaiRegisterInfo.td index cf8cfe30cce92..5879dfca8d658 100644 --- a/lib/Target/Lanai/LanaiRegisterInfo.td +++ b/lib/Target/Lanai/LanaiRegisterInfo.td @@ -1,9 +1,8 @@ //===- LanaiRegisterInfo.td - Lanai Register defs ------------*- tablegen -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // Declarations that describe the Lanai register file diff --git a/lib/Target/Lanai/LanaiSchedule.td b/lib/Target/Lanai/LanaiSchedule.td index 7f931c4be8bb9..32763c7fdf492 100644 --- a/lib/Target/Lanai/LanaiSchedule.td +++ b/lib/Target/Lanai/LanaiSchedule.td @@ -1,9 +1,8 @@ //=-LanaiSchedule.td - Lanai Scheduling Definitions --*- tablegen -*-=========// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// diff --git a/lib/Target/Lanai/LanaiSelectionDAGInfo.cpp b/lib/Target/Lanai/LanaiSelectionDAGInfo.cpp index b71c30fe3e059..dff87a3e264d9 100644 --- a/lib/Target/Lanai/LanaiSelectionDAGInfo.cpp +++ b/lib/Target/Lanai/LanaiSelectionDAGInfo.cpp @@ -1,9 +1,8 @@ //===-- LanaiSelectionDAGInfo.cpp - Lanai SelectionDAG Info -------------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/LanaiSelectionDAGInfo.h b/lib/Target/Lanai/LanaiSelectionDAGInfo.h index bfd2be2ede09e..c5650a7c1f53b 100644 --- a/lib/Target/Lanai/LanaiSelectionDAGInfo.h +++ b/lib/Target/Lanai/LanaiSelectionDAGInfo.h @@ -1,9 +1,8 @@ //===-- LanaiSelectionDAGInfo.h - Lanai SelectionDAG Info -----*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/LanaiSubtarget.cpp b/lib/Target/Lanai/LanaiSubtarget.cpp index 0fa5e82a7a66e..9a872c789bcc6 100644 --- a/lib/Target/Lanai/LanaiSubtarget.cpp +++ b/lib/Target/Lanai/LanaiSubtarget.cpp @@ -1,9 +1,8 @@ //===- LanaiSubtarget.cpp - Lanai Subtarget Information -----------*- C++ -*-=// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/LanaiSubtarget.h b/lib/Target/Lanai/LanaiSubtarget.h index 4bfa199202390..116c83a4df917 100644 --- a/lib/Target/Lanai/LanaiSubtarget.h +++ b/lib/Target/Lanai/LanaiSubtarget.h @@ -1,9 +1,8 @@ //=====-- LanaiSubtarget.h - Define Subtarget for the Lanai -----*- C++ -*--==// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/LanaiTargetMachine.cpp b/lib/Target/Lanai/LanaiTargetMachine.cpp index 10bd9e2c65d2f..8ae0225629abf 100644 --- a/lib/Target/Lanai/LanaiTargetMachine.cpp +++ b/lib/Target/Lanai/LanaiTargetMachine.cpp @@ -1,9 +1,8 @@ //===-- LanaiTargetMachine.cpp - Define TargetMachine for Lanai ---------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -16,6 +15,7 @@ #include "Lanai.h" #include "LanaiTargetObjectFile.h" #include "LanaiTargetTransformInfo.h" +#include "TargetInfo/LanaiTargetInfo.h" #include "llvm/Analysis/TargetTransformInfo.h" #include "llvm/CodeGen/Passes.h" #include "llvm/CodeGen/TargetLoweringObjectFileImpl.h" diff --git a/lib/Target/Lanai/LanaiTargetMachine.h b/lib/Target/Lanai/LanaiTargetMachine.h index 0db286ec13e7e..d2ac40007e24d 100644 --- a/lib/Target/Lanai/LanaiTargetMachine.h +++ b/lib/Target/Lanai/LanaiTargetMachine.h @@ -1,9 +1,8 @@ //===-- LanaiTargetMachine.h - Define TargetMachine for Lanai --- C++ ---===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/LanaiTargetObjectFile.cpp b/lib/Target/Lanai/LanaiTargetObjectFile.cpp index 7d165e9c5f8c3..b0f7c090bb8ec 100644 --- a/lib/Target/Lanai/LanaiTargetObjectFile.cpp +++ b/lib/Target/Lanai/LanaiTargetObjectFile.cpp @@ -1,8 +1,7 @@ // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// diff --git a/lib/Target/Lanai/LanaiTargetObjectFile.h b/lib/Target/Lanai/LanaiTargetObjectFile.h index 99ec1956da4b9..938a1e675b6a4 100644 --- a/lib/Target/Lanai/LanaiTargetObjectFile.h +++ b/lib/Target/Lanai/LanaiTargetObjectFile.h @@ -1,9 +1,8 @@ //===-- LanaiTargetObjectFile.h - Lanai Object Info -----------------------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// diff --git a/lib/Target/Lanai/LanaiTargetTransformInfo.h b/lib/Target/Lanai/LanaiTargetTransformInfo.h index 3b5a1b88326bf..63cc47dedce30 100644 --- a/lib/Target/Lanai/LanaiTargetTransformInfo.h +++ b/lib/Target/Lanai/LanaiTargetTransformInfo.h @@ -1,9 +1,8 @@ //===-- LanaiTargetTransformInfo.h - Lanai specific TTI ---------*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp b/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp index 82fa93ea5e5e0..a6ce3d5eb4ff0 100644 --- a/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp +++ b/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp @@ -1,9 +1,8 @@ //===-- LanaiAsmBackend.cpp - Lanai Assembler Backend ---------------------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// diff --git a/lib/Target/Lanai/MCTargetDesc/LanaiBaseInfo.h b/lib/Target/Lanai/MCTargetDesc/LanaiBaseInfo.h index ce7f83509c9b2..1bc84014e7367 100644 --- a/lib/Target/Lanai/MCTargetDesc/LanaiBaseInfo.h +++ b/lib/Target/Lanai/MCTargetDesc/LanaiBaseInfo.h @@ -1,9 +1,8 @@ //===-- LanaiBaseInfo.h - Top level definitions for Lanai MC ----*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/MCTargetDesc/LanaiELFObjectWriter.cpp b/lib/Target/Lanai/MCTargetDesc/LanaiELFObjectWriter.cpp index 7676891ef981a..4313fa5a82b54 100644 --- a/lib/Target/Lanai/MCTargetDesc/LanaiELFObjectWriter.cpp +++ b/lib/Target/Lanai/MCTargetDesc/LanaiELFObjectWriter.cpp @@ -1,9 +1,8 @@ //===-- LanaiELFObjectWriter.cpp - Lanai ELF Writer -----------------------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// @@ -35,7 +34,7 @@ protected: LanaiELFObjectWriter::LanaiELFObjectWriter(uint8_t OSABI) : MCELFObjectTargetWriter(/*Is64Bit_=*/false, OSABI, ELF::EM_LANAI, - /*HasRelocationAddend=*/true) {} + /*HasRelocationAddend_=*/true) {} unsigned LanaiELFObjectWriter::getRelocType(MCContext & /*Ctx*/, const MCValue & /*Target*/, diff --git a/lib/Target/Lanai/MCTargetDesc/LanaiFixupKinds.h b/lib/Target/Lanai/MCTargetDesc/LanaiFixupKinds.h index 9ff8340d2922e..1e692f8d31cb4 100644 --- a/lib/Target/Lanai/MCTargetDesc/LanaiFixupKinds.h +++ b/lib/Target/Lanai/MCTargetDesc/LanaiFixupKinds.h @@ -1,9 +1,8 @@ //===-- LanaiFixupKinds.h - Lanai Specific Fixup Entries --------*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// diff --git a/lib/Target/Lanai/InstPrinter/LanaiInstPrinter.cpp b/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp index 2fa411fcfd879..0d42612824b48 100644 --- a/lib/Target/Lanai/InstPrinter/LanaiInstPrinter.cpp +++ b/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp @@ -1,9 +1,8 @@ //===-- LanaiInstPrinter.cpp - Convert Lanai MCInst to asm syntax ---------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -12,11 +11,14 @@ //===----------------------------------------------------------------------===// #include "LanaiInstPrinter.h" -#include "Lanai.h" -#include "MCTargetDesc/LanaiMCExpr.h" +#include "LanaiMCExpr.h" +#include "LanaiAluCode.h" +#include "LanaiCondCode.h" +#include "MCTargetDesc/LanaiMCTargetDesc.h" #include "llvm/MC/MCAsmInfo.h" #include "llvm/MC/MCExpr.h" #include "llvm/MC/MCInst.h" +#include "llvm/MC/MCRegisterInfo.h" #include "llvm/MC/MCSymbol.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/FormattedStream.h" diff --git a/lib/Target/Lanai/InstPrinter/LanaiInstPrinter.h b/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h index 59904fbaa318a..721a129a859e5 100644 --- a/lib/Target/Lanai/InstPrinter/LanaiInstPrinter.h +++ b/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h @@ -1,9 +1,8 @@ //= LanaiInstPrinter.h - Convert Lanai MCInst to asm syntax -------*- C++ -*--// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -11,8 +10,8 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_LIB_TARGET_LANAI_INSTPRINTER_LANAIINSTPRINTER_H -#define LLVM_LIB_TARGET_LANAI_INSTPRINTER_LANAIINSTPRINTER_H +#ifndef LLVM_LIB_TARGET_LANAI_MCTARGETDESC_LANAIINSTPRINTER_H +#define LLVM_LIB_TARGET_LANAI_MCTARGETDESC_LANAIINSTPRINTER_H #include "llvm/ADT/StringRef.h" #include "llvm/MC/MCInstPrinter.h" @@ -63,4 +62,4 @@ private: } // end namespace llvm -#endif // LLVM_LIB_TARGET_LANAI_INSTPRINTER_LANAIINSTPRINTER_H +#endif // LLVM_LIB_TARGET_LANAI_MCTARGETDESC_LANAIINSTPRINTER_H diff --git a/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.cpp b/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.cpp index 7e2705e67b6d7..14d3dac26d1f7 100644 --- a/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.cpp +++ b/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.cpp @@ -1,9 +1,8 @@ //===-- LanaiMCAsmInfo.cpp - Lanai asm properties -----------------------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.h b/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.h index 3eef0592d2fa9..265af425d0374 100644 --- a/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.h +++ b/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.h @@ -1,9 +1,8 @@ //=====-- LanaiMCAsmInfo.h - Lanai asm properties -----------*- C++ -*--====// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // diff --git a/lib/Target/Lanai/MCTargetDesc/LanaiMCCodeEmitter.cpp b/lib/Target/Lanai/MCTargetDesc/LanaiMCCodeEmitter.cpp index 21f4005aaf839..df4ee297155fc 100644 --- a/lib/Target/Lanai/MCTargetDesc/LanaiMCCodeEmitter.cpp +++ b/lib/Target/Lanai/MCTargetDesc/LanaiMCCodeEmitter.cpp @@ -1,9 +1,8 @@ //===-- LanaiMCCodeEmitter.cpp - Convert Lanai code to machine code -------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -11,7 +10,7 @@ // //===----------------------------------------------------------------------===// -#include "Lanai.h" +#include "LanaiAluCode.h" #include "MCTargetDesc/LanaiBaseInfo.h" #include "MCTargetDesc/LanaiFixupKinds.h" #include "MCTargetDesc/LanaiMCExpr.h" diff --git a/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp b/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp index 201c95de07f47..56d5fbf40360f 100644 --- a/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp +++ b/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp @@ -1,9 +1,8 @@ //===-- LanaiMCExpr.cpp - Lanai specific MC expression classes ------------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// diff --git a/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h b/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h index 5004d541ff70b..c99af32d91028 100644 --- a/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h +++ b/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h @@ -1,9 +1,8 @@ //===-- LanaiMCExpr.h - Lanai specific MC expression classes ----*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// diff --git a/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp b/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp index ddb01cdd2d8fd..a9de0416fcacd 100644 --- a/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp +++ b/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp @@ -1,9 +1,8 @@ //===-- LanaiMCTargetDesc.cpp - Lanai Target Descriptions -----------------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -12,8 +11,9 @@ //===----------------------------------------------------------------------===// #include "LanaiMCTargetDesc.h" -#include "InstPrinter/LanaiInstPrinter.h" +#include "LanaiInstPrinter.h" #include "LanaiMCAsmInfo.h" +#include "TargetInfo/LanaiTargetInfo.h" #include "llvm/ADT/StringRef.h" #include "llvm/ADT/Triple.h" #include "llvm/MC/MCInst.h" diff --git a/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.h b/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.h index 2d8828ea4fa98..cf66d32266597 100644 --- a/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.h +++ b/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.h @@ -1,9 +1,8 @@ //===-- LanaiMCTargetDesc.h - Lanai Target Descriptions ---------*- C++ -*-===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// // @@ -32,8 +31,6 @@ class Triple; class StringRef; class raw_pwrite_stream; -Target &getTheLanaiTarget(); - MCCodeEmitter *createLanaiMCCodeEmitter(const MCInstrInfo &MCII, const MCRegisterInfo &MRI, MCContext &Ctx); diff --git a/lib/Target/Lanai/TargetInfo/LanaiTargetInfo.cpp b/lib/Target/Lanai/TargetInfo/LanaiTargetInfo.cpp index ccf47b08fcff5..93deb891dec56 100644 --- a/lib/Target/Lanai/TargetInfo/LanaiTargetInfo.cpp +++ b/lib/Target/Lanai/TargetInfo/LanaiTargetInfo.cpp @@ -1,23 +1,20 @@ //===-- LanaiTargetInfo.cpp - Lanai Target Implementation -----------------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// 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 // //===----------------------------------------------------------------------===// -#include "llvm/IR/Module.h" +#include "TargetInfo/LanaiTargetInfo.h" #include "llvm/Support/TargetRegistry.h" using namespace llvm; -namespace llvm { -Target &getTheLanaiTarget() { +Target &llvm::getTheLanaiTarget() { static Target TheLanaiTarget; return TheLanaiTarget; } -} // namespace llvm extern "C" void LLVMInitializeLanaiTargetInfo() { RegisterTarget<Triple::lanai> X(getTheLanaiTarget(), "lanai", "Lanai", diff --git a/lib/Target/Lanai/TargetInfo/LanaiTargetInfo.h b/lib/Target/Lanai/TargetInfo/LanaiTargetInfo.h new file mode 100644 index 0000000000000..429cf0234a60b --- /dev/null +++ b/lib/Target/Lanai/TargetInfo/LanaiTargetInfo.h @@ -0,0 +1,20 @@ +//===-- LanaiTargetInfo.h - Lanai Target Implementation ---------*- C++ -*-===// +// +// 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 +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_LIB_TARGET_LANAI_TARGETINFO_LANAITARGETINFO_H +#define LLVM_LIB_TARGET_LANAI_TARGETINFO_LANAITARGETINFO_H + +namespace llvm { + +class Target; + +Target &getTheLanaiTarget(); + +} // namespace llvm + +#endif // LLVM_LIB_TARGET_LANAI_TARGETINFO_LANAITARGETINFO_H |
