-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Closed
Description
On master this IR hangs in LateLowerGCFrame
; ModuleID = 'reduced.bc'
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128-ni:10:11:12:13"
target triple = "x86_64-unknown-linux-gnu"
declare ptr @julia.get_pgcstack()
define swiftcc void @julia_abstract_modifyopNOT._36663(<4 x ptr addrspace(10)> %0, <2 x ptr addrspace(10)> %1) {
top:
%pgcstack = call ptr @julia.get_pgcstack()
%2 = call <4 x ptr addrspace(10)> @llvm.vector.insert.v4p10.v2p10(<4 x ptr addrspace(10)> %0, <2 x ptr addrspace(10)> %1, i64 2)
ret void
}
The hang is in the FindBaseValue
function as this code doesn't seem to handle this intrinsic
julia/src/llvm-late-gc-lowering.cpp
Lines 174 to 179 in 9136bdd
else if (auto II = dyn_cast<IntrinsicInst>(CurrentV)) { | |
// Some intrinsics behave like LoadInst followed by a SelectInst | |
// This should never happen in a derived addrspace (since those cannot be stored to memory) | |
// so we don't need to lift these operations, but we do need to check if it's loaded and continue walking the base pointer | |
if (II->getIntrinsicID() == Intrinsic::masked_load || | |
II->getIntrinsicID() == Intrinsic::masked_gather) { |
Metadata
Metadata
Assignees
Labels
No labels