GlobalISel: combine extracts & sequences created for legalization
authorTim Northover <tnorthover@apple.com>
Tue, 30 Aug 2016 20:51:25 +0000 (20:51 +0000)
committerTim Northover <tnorthover@apple.com>
Tue, 30 Aug 2016 20:51:25 +0000 (20:51 +0000)
commit991b12bf09d05ac63697798218d259124488c613
tree064f03c0e199a44299c212210c3e81d848f4f317
parenta609e2d5ceabe7f13d1093e26f9e5adbadaea9b0
GlobalISel: combine extracts & sequences created for legalization

Legalization ends up creating many G_SEQUENCE/G_EXTRACT pairs which leads to
inefficient codegen (even for -O0), so add a quick pass over the function to
remove them again.

llvm-svn: 280155
llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
llvm/include/llvm/CodeGen/GlobalISel/MachineLegalizePass.h
llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
llvm/lib/CodeGen/GlobalISel/MachineLegalizePass.cpp
llvm/test/CodeGen/AArch64/GlobalISel/legalize-add.mir
llvm/test/CodeGen/AArch64/GlobalISel/legalize-combines.mir [new file with mode: 0644]