[all-commits] [llvm/llvm-project] 42fd2b: [LoongArch 1/6] Add triples loongarch{32, 64} for t...
Lu Weining via All-commits
all-commits at lists.llvm.org
Thu Feb 10 02:24:02 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 42fd2bfc90653d67607f83a2bf569a9fc8fae7b8
https://github.com/llvm/llvm-project/commit/42fd2bfc90653d67607f83a2bf569a9fc8fae7b8
Author: Lu Weining <luweining at loongson.cn>
Date: 2022-02-10 (Thu, 10 Feb 2022)
Changed paths:
M llvm/CODE_OWNERS.TXT
M llvm/docs/CompilerWriterInfo.rst
M llvm/include/llvm/ADT/Triple.h
M llvm/lib/Support/Triple.cpp
M llvm/unittests/ADT/TripleTest.cpp
Log Message:
-----------
[LoongArch 1/6] Add triples loongarch{32,64} for the upcoming LoongArch target
This is the first patch to incrementally add an MC layer for LoongArch to LLVM.
This patch also adds unit testcases for these new triples.
RFC for adding this new backend:
https://lists.llvm.org/pipermail/llvm-dev/2021-December/154371.html
Differential revision: https://reviews.llvm.org/D115857
Commit: e53e6ec6ef749c2a9b922a1dc6e14e0538292643
https://github.com/llvm/llvm-project/commit/e53e6ec6ef749c2a9b922a1dc6e14e0538292643
Author: Lu Weining <luweining at loongson.cn>
Date: 2022-02-10 (Thu, 10 Feb 2022)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
A llvm/include/llvm/BinaryFormat/ELFRelocs/LoongArch.def
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/lib/Object/ELF.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
A llvm/test/tools/llvm-readobj/ELF/reloc-types-loongarch64.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
M llvm/unittests/Object/ELFObjectFileTest.cpp
M llvm/unittests/Object/ELFTest.cpp
Log Message:
-----------
[LoongArch 2/6] Add ELF machine flag and relocs for upcoming LoongArch target
This patch adds necessary definitions for LoongArch ELF files, including
relocation types. Also adds initial support to ELFYaml, llvm-objdump,
and llvm-readobj in order to work with LoongArch ELFs.
Differential revision: https://reviews.llvm.org/D115859
Commit: 444c6d261a913bc4f05ac166357af8afa584da73
https://github.com/llvm/llvm-project/commit/444c6d261a913bc4f05ac166357af8afa584da73
Author: Lu Weining <luweining at loongson.cn>
Date: 2022-02-10 (Thu, 10 Feb 2022)
Changed paths:
A llvm/lib/Target/LoongArch/CMakeLists.txt
A llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
A llvm/lib/Target/LoongArch/LoongArchTargetMachine.h
A llvm/lib/Target/LoongArch/MCTargetDesc/CMakeLists.txt
A llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.cpp
A llvm/lib/Target/LoongArch/TargetInfo/CMakeLists.txt
A llvm/lib/Target/LoongArch/TargetInfo/LoongArchTargetInfo.cpp
A llvm/lib/Target/LoongArch/TargetInfo/LoongArchTargetInfo.h
A llvm/test/CodeGen/LoongArch/lit.local.cfg
A llvm/test/CodeGen/LoongArch/target_support.ll
Log Message:
-----------
[LoongArch 3/6] Add target stub for LoongArch
This patch registers the 'loongarch32' and 'loongarch64' targets. Also adds a
simple testcase to check the output of llc --vesion containing the targets.
Differential revision: https://reviews.llvm.org/D115860
Commit: 33388ae866cf76065b56490a8bafa676152b97f3
https://github.com/llvm/llvm-project/commit/33388ae866cf76065b56490a8bafa676152b97f3
Author: Lu Weining <luweining at loongson.cn>
Date: 2022-02-10 (Thu, 10 Feb 2022)
Changed paths:
M llvm/lib/Target/LoongArch/CMakeLists.txt
A llvm/lib/Target/LoongArch/LoongArch.h
A llvm/lib/Target/LoongArch/LoongArch.td
A llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
A llvm/lib/Target/LoongArch/LoongArchAsmPrinter.h
A llvm/lib/Target/LoongArch/LoongArchCallingConv.td
A llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
A llvm/lib/Target/LoongArch/LoongArchFrameLowering.h
A llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
A llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
A llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
A llvm/lib/Target/LoongArch/LoongArchISelLowering.h
A llvm/lib/Target/LoongArch/LoongArchInstrFormats.td
A llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
A llvm/lib/Target/LoongArch/LoongArchInstrInfo.h
A llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
A llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
A llvm/lib/Target/LoongArch/LoongArchMachineFunctionInfo.h
A llvm/lib/Target/LoongArch/LoongArchRegisterInfo.cpp
A llvm/lib/Target/LoongArch/LoongArchRegisterInfo.h
A llvm/lib/Target/LoongArch/LoongArchRegisterInfo.td
A llvm/lib/Target/LoongArch/LoongArchSubtarget.cpp
A llvm/lib/Target/LoongArch/LoongArchSubtarget.h
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.h
M llvm/lib/Target/LoongArch/MCTargetDesc/CMakeLists.txt
A llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
A llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
A llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.cpp
A llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
A llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
A llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.cpp
A llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.h
A llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCAsmInfo.cpp
A llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCAsmInfo.h
A llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.cpp
A llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.h
M llvm/lib/Target/LoongArch/TargetInfo/LoongArchTargetInfo.cpp
M llvm/test/CodeGen/LoongArch/target_support.ll
Log Message:
-----------
[LoongArch 4/6] Add basic tablegen infra for LoongArch
This patch introduces basic tablegen infra such as
LoongArch{InstrFormats,InstrInfo,RegisterInfo,CallingConv,}.td.
For now, only add instruction definitions for LoongArch basic integer
operations.
Our initial target is a working MC layer rather than codegen,
so appropriate SelectionDAG patterns will come later.
Differential revision: https://reviews.llvm.org/D115861
Commit: 6caee4890971fc4dea2a76028967484b620513f6
https://github.com/llvm/llvm-project/commit/6caee4890971fc4dea2a76028967484b620513f6
Author: Lu Weining <luweining at loongson.cn>
Date: 2022-02-10 (Thu, 10 Feb 2022)
Changed paths:
M llvm/utils/extract-section.py
Log Message:
-----------
[Utils][LoongArch](5/6) Add a --bits-endian option to extract-section.py
This is a split patch of D115862 which adds a --bits-endian option to
extract-section to make it possible to print bits in specified endianness.
It means that we can print instruction encoding of some targets like LoongArch
as bits[0] to bits[31] from right to left by specifing --bits-endian little.
Differential revision: https://reviews.llvm.org/D116100
Commit: af3bc0d76265eec1de2e170c663fbd3d0ed80f84
https://github.com/llvm/llvm-project/commit/af3bc0d76265eec1de2e170c663fbd3d0ed80f84
Author: Lu Weining <luweining at loongson.cn>
Date: 2022-02-10 (Thu, 10 Feb 2022)
Changed paths:
A llvm/test/CodeGen/LoongArch/1ri.mir
A llvm/test/CodeGen/LoongArch/2r.mir
A llvm/test/CodeGen/LoongArch/2ri.mir
A llvm/test/CodeGen/LoongArch/3r.mir
A llvm/test/CodeGen/LoongArch/3ri.mir
M llvm/test/CodeGen/LoongArch/lit.local.cfg
A llvm/test/CodeGen/LoongArch/misc.mir
Log Message:
-----------
[LoongArch][test] (6/6) Add encoding and mnemonics tests
With the benefit of D88392, instruction encoding and mnemonic testing can be
achieved within MIR files before AsmParser is ready. This patch adds such
tests which cover all basic integer instructions we defined in previous patch.
Similarly those tests will be rewrote by .s and moved to test/MC/LoongArch.
Differential revision: https://reviews.llvm.org/D115862
Compare: https://github.com/llvm/llvm-project/compare/fe0bf7d4694e...af3bc0d76265
More information about the All-commits
mailing list