change TLS_ADDR lowering to lower to a real mem operand, instead of matching as
authorChris Lattner <sabre@nondot.org>
Sat, 20 Jun 2009 20:38:48 +0000 (20:38 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 20 Jun 2009 20:38:48 +0000 (20:38 +0000)
commit5c0b16d0c40bb95e572e5d24db587ed8ca4bde71
treede38d5dbc926b40c562aede6c194027e886598ea
parent6bfb669f822d7ba09c18c1615d00c9ee95c4dc88
change TLS_ADDR lowering to lower to a real mem operand, instead of matching as
a global with that gets printed with the :mem modifier.  All operands to lea's
should be handled with the lea32mem operand kind, and this allows the TLS stuff
to do this.  There are several better ways to do this, but I went for the minimal
change since I can't really test this (beyond make check).

This also makes the use of EBX explicit in the operand list in the 32-bit,
instead of implicit in the instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73834 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelDAGToDAG.cpp
lib/Target/X86/X86Instr64bit.td
lib/Target/X86/X86InstrInfo.td
test/CodeGen/X86/tls1-pic.ll
test/CodeGen/X86/tls2-pic.ll
test/CodeGen/X86/tls3-pic.ll
test/CodeGen/X86/tls4-pic.ll