<div dir="ltr"><div>When I suggested using the regular expression, I was thinking that we can use the C++11 regex, and because it's a standard, I expected it to be highly optimized just like people did to the Perl regex engine. It would have both NFA and DFA engines. However, it turned out that C++11 regex is not a viable option for us (IIRC because it depends on exceptions), and at the moment I wasn't sure how good llvm::regex is.</div><div><br></div><div>Ideally, we should improve llvm::regex. However, if it doesn't even support a DFA-based matcher, it's going to be a way too much work.</div><div><br></div><div>So I think I'm OK with this change as long as LLD speeds up with this patch and all tests pass. It means llvm::regex is too slow, which made me sad, though.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 2, 2016 at 10:51 AM, Eugene Leviant <span dir="ltr"><<a href="mailto:evgeny.leviant@gmail.com" target="_blank">evgeny.leviant@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">evgeny777 added a comment.<br>
<span class=""><br>
> If you want to optimize something, you might want to do that in llvm::regex<br>
<br>
</span>AFAIK llvm::regex is NFA (it's actually a rip from OpenBSD). Are you suggesting to implement additional DFA engine for this purpose?<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
Repository:<br>
  rL LLVM<br>
<br>
<a href="https://reviews.llvm.org/D26241" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D26241</a><br>
<br>
<br>
<br>
</div></div></blockquote></div><br></div>