summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Unix/PathV2.inc
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-05-10 23:27:10 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-05-10 23:27:10 +0000
commitc08df9e5fdce2856697fbbe52102b4fcb23c4304 (patch)
treeb1447d90b8e47ae4ace3c965362e2afcdf55855b /llvm/lib/Support/Unix/PathV2.inc
parent370f5fd20ada3bed37cc1c97fe5487cdcd8d420c (diff)
downloadbcm5719-llvm-c08df9e5fdce2856697fbbe52102b4fcb23c4304.tar.gz
bcm5719-llvm-c08df9e5fdce2856697fbbe52102b4fcb23c4304.zip
Compute secondary sub-registers.
The sub-registers explicitly listed in SubRegs in the .td files form a tree. In a complicated register bank, it is possible to have sub-register relationships across sub-trees. For example, the ARM NEON double vector Q0_Q1 is a tree: Q0_Q1 = [Q0, Q1], Q0 = [D0, D1], Q1 = [D2, D3] But we also define the DPair register D1_D2 = [D1, D2] which is fully contained in Q0_Q1. This patch teaches TableGen to find such sub-register relationships, and assign sub-register indices to them. In the example, TableGen will create a dsub_1_dsub_2 sub-register index, and add D1_D2 as a sub-register of Q0_Q1. This will eventually enable the coalescer to handle copies of skewed sub-registers. llvm-svn: 156587
Diffstat (limited to 'llvm/lib/Support/Unix/PathV2.inc')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud