<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">What kind of ambiguity errors do you mean? I've seen a couple different variants.</div><div class=""><br class=""></div>I definitely agree with making it explicit (and adding physreg/not-valid checks for the expensive checks bots) but it was necessary in the first instance to not have to bring a huge patch along with it. If you make it explicit, it causes 77 errors across 43 files before being unable to make further progress. Most of it is about using Register where only phys regs make sense (MCRegisterInfo::getDwarfRegNum(), traversing sub/super-reg relationships, MCRegUnitIterator, etc.)<div class=""><br class=""></div><div class="">By the way, last night I started looking into a clang-tidy check to make this mass-refactor to Register/MCRegister more practical. I was starting with `unsigned VarName = (implicit unsigned)(<Register-typed-expr>)` then `s/unsigned/Register/`. I expect we can add something like `(implicit MCRegister)(<Register-typed-expr>)` to `<Register-typed-expr>.getPhysReg()` to that.<br class=""><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Aug 7, 2019, at 08:19, Matt Arsenault <<a href="mailto:arsenm2@gmail.com" class="">arsenm2@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Aug 2, 2019, at 15:37, Daniel Sanders via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" class="">llvm-commits@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">+  operator MCRegister() const {</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">+    return MCRegister(Reg);</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">+  }</span></div></blockquote></div><br class=""><div class="">This is actually the opposite of what I intended. MCRegister->Register is OK, but implicit MCRegister->Register is not. I’m running into some ambiguity errors from this.</div><div class=""><br class=""></div><div class="">-Matt</div></div></div></blockquote></div><br class=""></div></div></body></html>