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

Kazushi Marukawa via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 5 00:25:34 PDT 2020


kaz7 planned changes to this revision.
kaz7 added a comment.

I'll update regression test.



================
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* }
+
----------------
simoll wrote:
> 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`.
I think those unnecessary bit casts and types are the key of this regression test.  I'll try to simplify this test little bit.


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