Files
archived-llvm/test/CodeGen/PowerPC
Kyle Butt 9a3d083ea5 [PPC]: Peephole optimize small accesss to aligned globals.
Access to aligned globals gives us a chance to peephole optimize nonzero
offsets. If a struct is 4 byte aligned, then accesses to bytes 0-3 won't
overflow the available displacement. For example:
        addis 3, 2, b4v@toc@ha
        addi 4, 3, b4v@toc@l
        lbz 5, b4v@toc@l(3) ; This is the result of the current peephole
        lbz 6, 1(4)         ; optimizer
        lbz 7, 2(4)
        lbz 8, 3(4)
If b4v is 4-byte aligned, we can skip using register 4 because we know
that b4v@toc@l+{1,2,3} won't overflow 32K, and instead generate:
        addis 3, 2, b4v@toc@ha
        lbz 4, b4v@toc@l(3)
        lbz 5, b4v@toc@l+1(3)
        lbz 6, b4v@toc@l+2(3)
        lbz 7, b4v@toc@l+3(3)
Saving a register and an addition.
Larger alignments allow larger structures/arrays to be optimized.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255319 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-11 00:47:36 +00:00
..
2013-03-27 06:52:27 +00:00
2015-07-28 20:38:29 +00:00
2014-10-21 23:01:01 +00:00
2014-10-21 23:01:01 +00:00
2014-12-26 16:42:47 +00:00
2013-04-05 23:29:01 +00:00
2015-06-16 16:01:15 +00:00
2013-08-06 17:03:03 +00:00
2013-04-01 15:58:15 +00:00
2013-04-27 00:43:16 +00:00
2012-12-19 15:49:14 +00:00
2015-11-10 21:38:26 +00:00