[PATCH] D88779: [VE] Support register and frame-index pair correctly

Simon Moll via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 5 00:17:39 PDT 2020


simoll added a comment.

LGTM apart from the slightly convoluted test case.



================
Comment at: llvm/test/CodeGen/VE/loadrri.ll:55-61
+%"class.std::__1::basic_string" = type { %"class.std::__1::__compressed_pair.1" }
+%"class.std::__1::__compressed_pair.1" = type { %"struct.std::__1::__compressed_pair_elem.2" }
+%"struct.std::__1::__compressed_pair_elem.2" = type { %"struct.std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::__rep" }
+%"struct.std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::__rep" = type { %union.anon }
+%union.anon = type { %"struct.std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::__long" }
+%"struct.std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::__long" = type { i64, i64, i8* }
+
----------------
These types are only used to allocate a pointer (test `func_rf`) that is then immediately bitcast to the type below.
Couldn't we just allocate the type below directly? We could then remove the types, the bitcast and also simplify the name to something like `basic_char_string`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D88779



More information about the llvm-commits mailing list