diff options
| author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-05-07 19:14:58 +0000 |
|---|---|---|
| committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-05-07 19:14:58 +0000 |
| commit | 65a6dafc8d554b172ab8c48bde9a2f88e890444b (patch) | |
| tree | a7354f3b0463917d6204065a9deb07491033ee97 /llvm/lib/Transforms/Scalar/BasicBlockPlacement.cpp | |
| parent | d8287fec17199f92fa8404475df94ffee6ae513d (diff) | |
| download | bcm5719-llvm-65a6dafc8d554b172ab8c48bde9a2f88e890444b.tar.gz bcm5719-llvm-65a6dafc8d554b172ab8c48bde9a2f88e890444b.zip | |
Add TRI::getCommonSuperRegClass().
This function is a generalization of getMatchingSuperRegClass() to the
symmetric case where both sides are using a sub-register index. It will
find a super-register class and sub-register indexes that make this
diagram commute:
PreA
SuperRC ----------> RCA
| |
| |
PreB | | SubA
| |
| |
V V
RCB ----------> SubRC
SubB
This can be used to coalesce copies like:
%vreg1:sub16 = COPY %vreg2:sub16; GR64:%vreg1, GR32: %vreg2
llvm-svn: 156317
Diffstat (limited to 'llvm/lib/Transforms/Scalar/BasicBlockPlacement.cpp')
0 files changed, 0 insertions, 0 deletions

