[clang] [clang-tools-extra] [llvm] [RISCV] Support Global Dynamic TLSDESC in the RISC-V backend (PR #66915)

2024-01-03 Thread Craig Topper via cfe-commits
@@ -71,6 +71,18 @@ enum Fixups { // Used to generate an R_RISCV_ALIGN relocation, which indicates the linker // should fixup the alignment after linker relaxation. fixup_riscv_align, + // 20-bit fixup corresponding to %tlsdesc_hi(foo) for instructions like + // auipc +

[clang-tools-extra] [llvm] [RISCV] Support Global Dynamic TLSDESC in the RISC-V backend (PR #66915)

2023-12-23 Thread Craig Topper via cfe-commits
@@ -597,7 +613,10 @@ struct RISCVOperand final : public MCParsedAsmOperand { if (!isImm()) return false; bool IsConstantImm = evaluateConstantImm(getImm(), Imm, VK); -if (VK == RISCVMCExpr::VK_RISCV_LO || VK == RISCVMCExpr::VK_RISCV_PCREL_LO) +if (VK ==

[clang-tools-extra] [llvm] [RISCV] Support Global Dynamic TLSDESC in the RISC-V backend (PR #66915)

2023-12-23 Thread Craig Topper via cfe-commits
@@ -1722,6 +1722,35 @@ let hasSideEffects = 0, mayLoad = 0, mayStore = 0, Size = 8, isCodeGenOnly = 0, isAsmParserOnly = 1 in def PseudoLA_TLS_GD : Pseudo<(outs GPR:$dst), (ins bare_symbol:$src), [], "la.tls.gd", "$dst, $src">; +let

[clang-tools-extra] [llvm] [RISCV] Support Global Dynamic TLSDESC in the RISC-V backend (PR #66915)

2023-12-18 Thread Fangrui Song via cfe-commits
https://github.com/MaskRay edited https://github.com/llvm/llvm-project/pull/66915 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [llvm] [RISCV] Support Global Dynamic TLSDESC in the RISC-V backend (PR #66915)

2023-12-18 Thread Fangrui Song via cfe-commits
@@ -6843,6 +6845,24 @@ SDValue RISCVTargetLowering::getDynamicTLSAddr(GlobalAddressSDNode *N, return LowerCallTo(CLI).first; } +SDValue +RISCVTargetLowering::getGeneralDynamicTLSDescAddr(GlobalAddressSDNode *N, MaskRay wrote: `GeneralDynamicTLSDesc` in

[clang-tools-extra] [llvm] [RISCV] Support Global Dynamic TLSDESC in the RISC-V backend (PR #66915)

2023-12-18 Thread Paul Kirth via cfe-commits
@@ -3246,6 +3310,18 @@ bool RISCVAsmParser::checkPseudoAddTPRel(MCInst , return false; } +bool RISCVAsmParser::checkPseudoTLSDESCCall(MCInst , ilovepi wrote: done https://github.com/llvm/llvm-project/pull/66915

[clang-tools-extra] [llvm] [RISCV] Support Global Dynamic TLSDESC in the RISC-V backend (PR #66915)

2023-12-18 Thread Paul Kirth via cfe-commits
@@ -3107,6 +3136,41 @@ void RISCVAsmParser::emitLoadTLSGDAddress(MCInst , SMLoc IDLoc, RISCV::ADDI, IDLoc, Out); } +void RISCVAsmParser::emitLoadTLSDescAddress(MCInst , SMLoc IDLoc, +MCStreamer ) { + // The

[clang-tools-extra] [llvm] [RISCV] Support Global Dynamic TLSDESC in the RISC-V backend (PR #66915)

2023-12-18 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi updated https://github.com/llvm/llvm-project/pull/66915 >From ce9772dd519a62025cf545ded306bf40c75f2924 Mon Sep 17 00:00:00 2001 From: Paul Kirth Date: Tue, 19 Sep 2023 20:53:54 + Subject: [PATCH 1/5] [RISCV] Support Global Dynamic TLSDESC in the RISC-V backend

[clang-tools-extra] [llvm] [RISCV] Support Global Dynamic TLSDESC in the RISC-V backend (PR #66915)

2023-12-18 Thread Paul Kirth via cfe-commits
https://github.com/ilovepi updated https://github.com/llvm/llvm-project/pull/66915 >From ce9772dd519a62025cf545ded306bf40c75f2924 Mon Sep 17 00:00:00 2001 From: Paul Kirth Date: Tue, 19 Sep 2023 20:53:54 + Subject: [PATCH 1/4] [RISCV] Support Global Dynamic TLSDESC in the RISC-V backend