[X86] Avoid mangling frameescape labels
authorReid Kleckner <reid@kleckner.net>
Wed, 29 Apr 2015 16:46:01 +0000 (16:46 +0000)
committerReid Kleckner <reid@kleckner.net>
Wed, 29 Apr 2015 16:46:01 +0000 (16:46 +0000)
commitc69547136582e1e3155c903202583aea6490faf0
treee4dc037516dc1417ef10534ba2e0a6c74a230639
parentd7d088f815f53f403505e3ea64858376cbc6a0c3
[X86] Avoid mangling frameescape labels

x86 Windows uses the '_' prefix for all global symbols, and this was
mistakenly being applied to frameescape labels, which are not externally
visible global symbols. They use the private global prefix 'L'.

The *right* way to fix this is probably to stop masquerading this label
as an ExternalSymbol and create a new SDNode type. These labels are not
"external", and we know they will be resolved by assembly time. Having a
custom SDNode type would allow us to do better X86 address mode
matching, so it's probably worth doing eventually.

llvm-svn: 236123
llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
llvm/lib/Target/X86/X86MCInstLower.cpp
llvm/test/CodeGen/X86/frameescape.ll