HomePhabricator

[MachineCSE] Add new callback for is caller preserved or constant physregs

Authored by jtony on Nov 20 2017, 8:55 AM.

Description

[MachineCSE] Add new callback for is caller preserved or constant physregs

The instructions addis,addi, bl are used to calculate the address of TLS thread
local variables. These TLS access code sequences are generated repeatedly every
time the thread local variable is accessed. By communicating to Machine CSE that
X2 is guaranteed to have the same value within the same function call (so called
Caller Preserved Physical Register), the redundant TLS access code sequences are
cleaned up.

Differential Revision: https://reviews.llvm.org/D39173

llvm-svn: 318661