sdesmalen added inline comments.

================
Comment at: clang/include/clang/Basic/arm_sve.td:264
+                     list<string> arch_features = []> {
+  let ArchGuard = !foldl("", arch_features, lhs, rhs,
+                         lhs # !if(!ne(lhs, ""), " && ", "") # rhs) in {
----------------
I'd rather see that we define ArchGuard as a list of strings, and then do a 
simple `!listconcat` for each of the features. Then we can do the expansion to 
the eventual `#if defined (pred1 && pred2 && ... predN)` in `SveEmitter.cpp`. 
There you can get the ArchGuard as a `std::vector<StringRef>`.

I also think the current implementation isn't correct, because it misses the 
encapsulating `defined(...)` ?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D82450



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D82450: [AArch64]... Cullen Rhodes via Phabricator via cfe-commits
    • [PATCH] D82450: [AAr... Sander de Smalen via Phabricator via cfe-commits

Reply via email to