arichardson marked an inline comment as done. arichardson added inline comments.
================ Comment at: llvm/lib/IR/AutoUpgrade.cpp:4297 + // address space of 1. + if (T.isAMDGPU() && !DL.contains("-G") && !DL.startswith("G")) { + return DL.empty() ? std::string("G1") : (DL + "-G1").str(); ---------------- akhuang wrote: > arichardson wrote: > > arsenm wrote: > > > I would expect datalayout upgrades to work by parsing the old string, and > > > checking the field values inside. I guess directly checking the string > > > isn't a new problem here > > I agree that would be less error prone. I wonder if there are cases where > > the old string may fail to parse so you have to do the textual upgrade > > first. I'm happy to make this change. > > > > @akhuang is there a reason you used string parsing in D67631? Any > > objections to changing the code to parse the datalayout and add missing > > attributes? > I don't think so; parsing the datalayout sounds better to me too. I just looked into parsing the DataLayout instead. Unfortunately the resulting code is more complicated since there are no setters in DataLayout and no way to create a normalized representation. There's also no way to differentiate between no `-G ` passed and `-G0` so something like `e-p:64:64-G0` will be converted to `e-p:64:64-G0-G1` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84345/new/ https://reviews.llvm.org/D84345 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits