Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init |
|
#
2cf420d5 |
| 02-Jan-2024 |
wanglei <wanglei@loongson.cn> |
[LoongArch] Emit function call code sequence as `PCADDU18I+JIRL` in medium code model
According to the description of the psABI v2.20: https://github.com/loongson/la-abi-specs/releases/tag/v2.20, ad
[LoongArch] Emit function call code sequence as `PCADDU18I+JIRL` in medium code model
According to the description of the psABI v2.20: https://github.com/loongson/la-abi-specs/releases/tag/v2.20, adjustments are made to the function call instructions under the medium code model.
At the same time, AsmParser has already supported parsing the call36 and tail36 macro instructions.
show more ...
|
Revision tags: llvmorg-17.0.6 |
|
#
f5bfc833 |
| 16-Nov-2023 |
Jinyang He <hejinyang@loongson.cn> |
[LoongArch] Add relax feature and keep relocations (#72191)
Add relax feature. To support linker relocation, we should make
relocation with a symbol rather than section plus offset, and keep all
r
[LoongArch] Add relax feature and keep relocations (#72191)
Add relax feature. To support linker relocation, we should make
relocation with a symbol rather than section plus offset, and keep all
relocations with non-abs symbol.
show more ...
|
Revision tags: llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init |
|
#
42cb3c63 |
| 28-Jun-2023 |
Weining Lu <luweining@loongson.cn> |
[LoongArch] Emit R_LARCH_64_PCREL relocation for FK_Data_8 when IsPCRel is true
Reviewed By: xen0n, MaskRay, hev
Differential Revision: https://reviews.llvm.org/D153872
|
Revision tags: llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6 |
|
#
b18cdeac |
| 16-Nov-2022 |
Youling Tang <tangyouling@loongson.cn> |
[MC][LoongArch] Fix needsRelocateWithSymbol() implementation
LoongArch should be `section plus offset`, so use the generic implementation of `llvm/lib/MC/MCELFObjectTargetWriter.cpp` to return `fals
[MC][LoongArch] Fix needsRelocateWithSymbol() implementation
LoongArch should be `section plus offset`, so use the generic implementation of `llvm/lib/MC/MCELFObjectTargetWriter.cpp` to return `false` directly, like x86 and aarch64.
``` $ cat test.c static int __attribute__((section(".text.another"))) test(int a, int b) { return a + b; } static int a = 1, b = 2;
int foo() { test(a, b); return 0; }
$ gcc -c test.c $ readelf -Wr test.o
Relocation section '.rela.text' at offset 0x2a0 contains 5 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 0000000000000010 0000000300000047 R_LARCH_PCALA_HI20 0000000000000000 .data + 0 0000000000000014 0000000300000048 R_LARCH_PCALA_LO12 0000000000000000 .data + 0 0000000000000018 0000000300000047 R_LARCH_PCALA_HI20 0000000000000000 .data + 4 000000000000001c 0000000300000048 R_LARCH_PCALA_LO12 0000000000000000 .data + 4 0000000000000028 0000000500000042 R_LARCH_B26 0000000000000000 .text.another + 0
Relocation section '.rela.eh_frame' at offset 0x318 contains 2 entries: Offset Info Type Symbol's Value Symbol's Name + Addend 000000000000001c 0000000500000063 R_LARCH_32_PCREL 0000000000000000 .text.another + 0 000000000000003c 0000000200000063 R_LARCH_32_PCREL 0000000000000000 .text + 0 ```
Reviewed By: SixWeining, MaskRay
Differential Revision: https://reviews.llvm.org/D137384
show more ...
|
Revision tags: llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2 |
|
#
036b170c |
| 29-Sep-2022 |
wanglei <wanglei@loongson.cn> |
[LoongArch] Produce a R_LARCH_32_PCREL relocation
LoongArchELFObjectWriter::getRelocType check IsPCRel for FK_Data_4 (which we produce a R_LARCH_32_PCREL relocation for if IsPCRel).
R_LARCH_32_PCRE
[LoongArch] Produce a R_LARCH_32_PCREL relocation
LoongArchELFObjectWriter::getRelocType check IsPCRel for FK_Data_4 (which we produce a R_LARCH_32_PCREL relocation for if IsPCRel).
R_LARCH_32_PCREL is required for FDE relocation.
Differential Revision: https://reviews.llvm.org/D134715
show more ...
|
Revision tags: llvmorg-15.0.1, llvmorg-15.0.0 |
|
#
bf479547 |
| 05-Sep-2022 |
wanglei <wanglei@loongson.cn> |
[LoongArch] Add more fixups and relocations
This patch makes the assembler support all modifiers defined in gnu-as. Also changes some diagnostic information.
Differential Revision: https://reviews.
[LoongArch] Add more fixups and relocations
This patch makes the assembler support all modifiers defined in gnu-as. Also changes some diagnostic information.
Differential Revision: https://reviews.llvm.org/D132633
show more ...
|
Revision tags: llvmorg-15.0.0-rc3 |
|
#
c2ee21cf |
| 20-Aug-2022 |
wanglei <wanglei@loongson.cn> |
[LoongArch] Add some fixups and relocations
This patch only add %pc_hi20/%pc_lo12/%plt relocations in order to be able to generate gnu ld linkable relocation file for the `hello world` IR : ``` @.st
[LoongArch] Add some fixups and relocations
This patch only add %pc_hi20/%pc_lo12/%plt relocations in order to be able to generate gnu ld linkable relocation file for the `hello world` IR : ``` @.str = private unnamed_addr constant [14 x i8] c"Hello world!\0A\00", align 1
define dso_local signext i32 @main() nounwind { entry: %call = call signext i32 (ptr, ...) @printf(ptr noundef @.str) ret i32 0 }
declare dso_local signext i32 @printf(ptr noundef, ...) ```
This patch also updates some test cases due to new modifiers introduced. New test: test/MC/LoongArch/Relocations/relocations.s
Differential Revision: https://reviews.llvm.org/D132108
show more ...
|
Revision tags: llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init |
|
#
904a87ac |
| 26-Jul-2022 |
Weining Lu <luweining@loongson.cn> |
[LoongArch] Use `end namespace xxx` style comment. NFC
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
#
88436afe |
| 26-Mar-2022 |
Fangrui Song <i@maskray.me> |
[LoongArch] Fix several Clang warnings. NFC
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2 |
|
#
33388ae8 |
| 10-Feb-2022 |
Lu Weining <luweining@loongson.cn> |
[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 instructi
[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
show more ...
|