jrtc27 added a comment.

In D92269#2421399 <https://reviews.llvm.org/D92269#2421399>, 
@Paul-C-Anagnostopoulos wrote:

> Yes, we could create !codeconcat instead, along with !codeinterleave, 
> !codeeq, etc. We could also just extend the existing bang operators to work 
> on the code type. I thought it was cleaner just to get rid of the distinction.

You wouldn't need a new !eq, you can just add another overloading. Really there 
should probably be an overloaded !concat that works on string, bits, list and 
code; !strconcat is the unusual case where it's qualified with the type in the 
name.

> I agree that !subst is a mess, even without this change. My plan is 
> eventually to implement a saner !replace. But I'm not sure why doing string 
> replacement in code is sad. There is even a utility to do it: 
> GlobalISel\CodeExpander.

I was confused and thought !subst was substring not substitute, which is 
normally a meaningless operation to perform on code. Substitution is less 
weird, thought normally the useful/meaningful representation for code is 
something like a list of tokens which would make !subst a bit more useful as 
currently you just get raw string replacement which risks all manner of false 
positives for matches.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D92269/new/

https://reviews.llvm.org/D92269

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to