On Fri, 20 Dec 2019 18:34:49 +0000 Ximin Luo <infini...@debian.org> wrote: > Hi, James Clarke tells me to replace Register with unsigned, which also gets > rid of the fuzz factor in that patch. Please see the new one, attached.
I confirmed that this patch works. I just finished building rustc 1.39 with patched llvm-9. > > X > > Sylvestre Ledru: > > > > Le 16/12/2019 à 23:31, Ximin Luo a écrit : > >> Source: llvm-toolchain-9 > >> Severity: normal > >> Tags: patch upstream > >> > >> Dear Maintainer, > >> > >> Please include this upstream patch which is already merged: > >> https://reviews.llvm.org/D71028 > >> > >> It is needed for rustc mips to pass > >> https://github.com/rust-lang/rust/issues/67167 > >> > >> I have confirmed that the raw diff applies cleanly to the current Debian > >> package. > >> > >> https://reviews.llvm.org/file/data/62pyj4rca74lyduv2gkr/PHID-FILE-267qlycncoogjurgx7hc/D71028.diff > >> > >> (It does not apply cleanly to llvm-8, only 9 and upwards.) > > > > And it fails with: > > > > /build/llvm-toolchain-9-9.0.1/llvm/lib/Target/Mips/MipsExpandPseudo.cpp: In > > member function 'bool > > {anonymous}::MipsExpandPseudo::expandAtomicBinOp(llvm::MachineBasicBlock&, > > llvm::MachineBasicBlock::iterator, llvm::MachineBasicBlock::iterator&, > > unsigned int)': > > /build/llvm-toolchain-9-9.0.1/llvm/lib/Target/Mips/MipsExpandPseudo.cpp:740:21: > > error: operands to ?: have different types 'unsigned int' and > > 'llvm::Register' > > (Size == 8) ? STI->getRegisterInfo()->getSubReg(Scratch2, > > Mips::sub_32) > > ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > : Scratch2; > > ~~~~~~~~~~ > > > > > > S > > > > > > -- > GPG: ed25519/56034877E1F87C35 > GPG: rsa4096/1318EFAC5FBBDBCE > https://github.com/infinity0/pubkeys.git