This patch adds the relocations needed support the initial-exec TLS model:
R_PPC64_TPREL16
R_PPC64_TPREL16_HA
R_PPC64_TPREL16_LO
R_PPC64_TPREL16_HI
R_PPC64_TPREL16_DS
R_PPC64_TPREL16_LO_DS
R_PPC64_TPREL16_HIGHER
R_PPC64_TPREL16_HIGHERA
R_PPC64_TPREL16_HIGHEST
R_PPC64_TPREL16_HIGHESTA
Missing R_PPC64_TPREL16_HIGH and R_PPC64_TPREL16_HIGHA because llvm-mc doesn't support them in assembly yet. Will add these as a follow-up patch.
nit: please (almost) always put a blank line before multi-line comment so that the code doesn't look too dense.