Author: hans Date: Fri Aug 3 03:26:56 2018 New Revision: 338847 URL: http://llvm.org/viewvc/llvm-project?rev=338847&view=rev Log: Merging r338599: ------------------------------------------------------------------------ r338599 | vlad.tsyrklevich | 2018-08-01 19:44:37 +0200 (Wed, 01 Aug 2018) | 16 lines
[X86] FastISel fall back on !absolute_symbol GVs Summary: D25878, which added support for !absolute_symbol for normal X86 ISel, did not add support for materializing references to absolute symbols for X86 FastISel. This causes build failures because FastISel generates PC-relative relocations for absolute symbols. Fall back to normal ISel for references to !absolute_symbol GVs. Fix for PR38200. Reviewers: pcc, craig.topper Reviewed By: pcc Subscribers: hiraditya, llvm-commits, kcc Differential Revision: https://reviews.llvm.org/D50116 ------------------------------------------------------------------------ Added: llvm/branches/release_70/test/CodeGen/X86/absolute-bit-mask-fastisel.ll - copied unchanged from r338599, llvm/trunk/test/CodeGen/X86/absolute-bit-mask-fastisel.ll Modified: llvm/branches/release_70/ (props changed) llvm/branches/release_70/lib/Target/X86/X86FastISel.cpp Propchange: llvm/branches/release_70/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Aug 3 03:26:56 2018 @@ -1,3 +1,3 @@ /llvm/branches/Apple/Pertwee:110850,110961 /llvm/branches/type-system-rewrite:133420-134817 -/llvm/trunk:155241,338552,338554,338658,338682,338703,338709,338751,338762 +/llvm/trunk:155241,338552,338554,338599,338658,338682,338703,338709,338751,338762 Modified: llvm/branches/release_70/lib/Target/X86/X86FastISel.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_70/lib/Target/X86/X86FastISel.cpp?rev=338847&r1=338846&r2=338847&view=diff ============================================================================== --- llvm/branches/release_70/lib/Target/X86/X86FastISel.cpp (original) +++ llvm/branches/release_70/lib/Target/X86/X86FastISel.cpp Fri Aug 3 03:26:56 2018 @@ -738,6 +738,10 @@ bool X86FastISel::handleConstantAddresse if (GV->isThreadLocal()) return false; + // Can't handle !absolute_symbol references yet. + if (GV->isAbsoluteSymbolRef()) + return false; + // RIP-relative addresses can't have additional register operands, so if // we've already folded stuff into the addressing mode, just force the // global value into its own register, which we can use as the basereg. _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits