================ @@ -1136,11 +1136,35 @@ static void mergeAtomic(DenseMap<unsigned, unsigned> &intAttr, }; } +static void mergeX3RegUse(DenseMap<unsigned, unsigned> &intAttr, + const InputSectionBase *oldSection, + const InputSectionBase *newSection, + unsigned int oldTag, unsigned int newTag) { + // X3/GP register usage ar incompatible and cannot be merged, with the + // exception of the UNKNOWN or 0 value + using RISCVAttrs::RISCVX3RegUse::X3RegUsage; + auto attr = RISCVAttrs::X3_REG_USAGE; + if (newTag == X3RegUsage::UNKNOWN) + return; + if (oldTag == X3RegUsage::UNKNOWN) { + intAttr[attr] = newTag; ---------------- ilovepi wrote:
yeah, I think that will work. Let me give that a try. https://github.com/llvm/llvm-project/pull/84598 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits