jrtc27 added inline comments.
================ Comment at: llvm/lib/Target/TargetMachine.cpp:192 return false; + // RISC-V non-small code models prefer avoiding copy relocations. + if (TT.isRISCV() && getCodeModel() != CodeModel::Small) ---------------- MaskRay wrote: > jrtc27 wrote: > > Are we sure we want to do this and take the performance hit over GCC due to > > the extra level of indirection on every single extern global access? If > > this is the solution to take for extern weak, I think we should limit it to > > just that and have a separate discussion about non-extern-weak. > I'd like to know more about `-mcmodel=medany -fno-pic`'s use cases. I guess > @bsdjhb's FreeBSD kernel use case can probably be met by `-mcmodel=medany > -fpie`. > > I think there is no precedent which differs extern-strong and extern-weak. If > GOT relaxation works, we can make this unconditional. > > // RISC-V prefer avoiding copy relocations. > if (TT.isRISCV() > return false; It can, but that implies GOT accesses for anything extern, which will hurt kernel performance. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72056/new/ https://reviews.llvm.org/D72056 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits