Author: hans Date: Wed Jan 31 01:00:28 2018 New Revision: 323853 URL: http://llvm.org/viewvc/llvm-project?rev=323853&view=rev Log: Merging r323811: ------------------------------------------------------------------------ r323811 | mstorsjo | 2018-01-30 20:50:58 +0100 (Tue, 30 Jan 2018) | 3 lines
[GlobalISel] Bail out on calls to dllimported functions Differential Revision: https://reviews.llvm.org/D42568 ------------------------------------------------------------------------ Modified: llvm/branches/release_60/ (props changed) llvm/branches/release_60/lib/CodeGen/GlobalISel/IRTranslator.cpp llvm/branches/release_60/test/CodeGen/AArch64/dllimport.ll Propchange: llvm/branches/release_60/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jan 31 01:00:28 2018 @@ -1,3 +1,3 @@ /llvm/branches/Apple/Pertwee:110850,110961 /llvm/branches/type-system-rewrite:133420-134817 -/llvm/trunk:155241,321751,321789,321791,321806,321862,321870,321872,321878,321980,321991,321993-321994,322003,322016,322053,322056,322103,322106,322108,322123,322131,322223,322272,322313,322372,322473,322623,322644,322724,322767,322875,322878-322879,322900,322904-322905,322973,322993,323034,323190,323307,323331,323355,323369,323371,323384,323469,323515,323582,323671-323672,323706,323710,323810 +/llvm/trunk:155241,321751,321789,321791,321806,321862,321870,321872,321878,321980,321991,321993-321994,322003,322016,322053,322056,322103,322106,322108,322123,322131,322223,322272,322313,322372,322473,322623,322644,322724,322767,322875,322878-322879,322900,322904-322905,322973,322993,323034,323190,323307,323331,323355,323369,323371,323384,323469,323515,323582,323671-323672,323706,323710,323810-323811 Modified: llvm/branches/release_60/lib/CodeGen/GlobalISel/IRTranslator.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_60/lib/CodeGen/GlobalISel/IRTranslator.cpp?rev=323853&r1=323852&r2=323853&view=diff ============================================================================== --- llvm/branches/release_60/lib/CodeGen/GlobalISel/IRTranslator.cpp (original) +++ llvm/branches/release_60/lib/CodeGen/GlobalISel/IRTranslator.cpp Wed Jan 31 01:00:28 2018 @@ -812,6 +812,10 @@ bool IRTranslator::translateCall(const U auto TII = MF->getTarget().getIntrinsicInfo(); const Function *F = CI.getCalledFunction(); + // FIXME: support Windows dllimport function calls. + if (F && F->hasDLLImportStorageClass()) + return false; + if (CI.isInlineAsm()) return translateInlineAsm(CI, MIRBuilder); Modified: llvm/branches/release_60/test/CodeGen/AArch64/dllimport.ll URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_60/test/CodeGen/AArch64/dllimport.ll?rev=323853&r1=323852&r2=323853&view=diff ============================================================================== --- llvm/branches/release_60/test/CodeGen/AArch64/dllimport.ll (original) +++ llvm/branches/release_60/test/CodeGen/AArch64/dllimport.ll Wed Jan 31 01:00:28 2018 @@ -1,5 +1,6 @@ ; RUN: llc -mtriple aarch64-unknown-windows-msvc -filetype asm -o - %s | FileCheck %s -check-prefixes=CHECK,DAG-ISEL ; RUN: llc -mtriple aarch64-unknown-windows-msvc -fast-isel -filetype asm -o - %s | FileCheck %s -check-prefixes=CHECK,FAST-ISEL +; RUN: llc -mtriple aarch64-unknown-windows-msvc -O0 -filetype asm -o - %s | FileCheck %s -check-prefixes=CHECK,GLOBAL-ISEL,GLOBAL-ISEL-FALLBACK @var = external dllimport global i32 @ext = external global i32 @@ -27,6 +28,8 @@ define i32 @get_ext() { ; DAG-ISEL: ldr w0, [x8, ext] ; FAST-ISEL: add x8, x8, ext ; FAST-ISEL: ldr w0, [x8] +; GLOBAL-ISEL-FALLBACK: add x8, x8, ext +; GLOBAL-ISEL-FALLBACK: ldr w0, [x8] ; CHECK: ret define i32* @get_var_pointer() { @@ -54,4 +57,6 @@ define i32 @call_internal() { } ; CHECK-LABEL: call_internal -; CHECK: b internal +; DAG-ISEL: b internal +; FAST-ISEL: b internal +; GLOBAL-ISEL: bl internal _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits