[PATCH] D46018: [GlobalISel][IRTranslator] Split aggregates during IR translation
Roman Tereshin via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 15 08:30:56 PDT 2018
rtereshin added a comment.
Nested / shared / repeated aggregate constants & multi-level index tests: test_cons.ll <https://gist.github.com/ramntry/3290e0bea953675b685801f71418da66> - also seems to be translated correctly:
./bin/llc -O0 -global-isel=true -global-isel-abort=2 -mtriple aarch64-- -stop-after instruction-select test_cons.ll -o - -simplify-mir -verify-machineinstrs
body: |
bb.1.entry:
liveins: $x0
%0:gpr64sp = COPY $x0
%34:gpr32 = MOVi32imm 10
%33:gpr32 = MOVi32imm 20
%32:gpr32 = MOVi32imm 50
STRBBui %34, %0, 0 :: (store 1 into %ir.dst)
STRBBui %33, %0, 1 :: (store 1 into %ir.dst + 1)
STRBBui %34, %0, 2 :: (store 1 into %ir.dst + 2)
STRBBui %33, %0, 3 :: (store 1 into %ir.dst + 3)
STRBBui %32, %0, 4 :: (store 1 into %ir.dst + 4)
STRBBui %34, %0, 5 :: (store 1 into %ir.dst + 5)
STRBBui %33, %0, 6 :: (store 1 into %ir.dst + 6)
STRBBui %33, %0, 7 :: (store 1 into %ir.dst + 7)
STRBBui %34, %0, 0 :: (store 1 into %ir.dst)
STRBBui %33, %0, 1 :: (store 1 into %ir.dst + 1)
STRBBui %34, %0, 2 :: (store 1 into %ir.dst + 2)
STRBBui %33, %0, 3 :: (store 1 into %ir.dst + 3)
STRBBui %33, %0, 4 :: (store 1 into %ir.dst + 4)
STRBBui %34, %0, 5 :: (store 1 into %ir.dst + 5)
STRBBui %33, %0, 6 :: (store 1 into %ir.dst + 6)
STRBBui %33, %0, 7 :: (store 1 into %ir.dst + 7)
RET_ReallyLR
(this is already changed to pass values in bytes (instead of bits) as offset and align parameters to pointer info of memory operands)
Repository:
rL LLVM
https://reviews.llvm.org/D46018
More information about the llvm-commits
mailing list