Re-apply r286384, "X86: Introduce the "relocImm" ComplexPattern, which represents...
authorPeter Collingbourne <peter@pcc.me.uk>
Wed, 9 Nov 2016 23:53:43 +0000 (23:53 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Wed, 9 Nov 2016 23:53:43 +0000 (23:53 +0000)
commit32ab3a817d4d8ae20e868e8966ceef1511a88d03
tree9ca9b77b41506c562b0e2c4d4cbcbc790f1f4960
parentab3f96cb21ed0bb5697bb5f92f3630d89e1e97de
Re-apply r286384, "X86: Introduce the "relocImm" ComplexPattern, which represents a relocatable immediate.", with a fix for 32-bit x86.

Teach X86InstrInfo::analyzeCompare() not to crash on CMP and SUB instructions
that take a global address operand.

llvm-svn: 286420
llvm/include/llvm/Target/TargetSelectionDAG.td
llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
llvm/lib/Target/X86/X86InstrCompiler.td
llvm/lib/Target/X86/X86InstrInfo.cpp
llvm/lib/Target/X86/X86InstrInfo.td
llvm/test/CodeGen/X86/compare-global.ll [new file with mode: 0644]
llvm/utils/TableGen/CodeGenDAGPatterns.cpp
llvm/utils/TableGen/CodeGenTarget.cpp
llvm/utils/TableGen/CodeGenTarget.h