mshr-h commented on code in PR #18586:
URL: https://github.com/apache/tvm/pull/18586#discussion_r2619753844
##########
src/target/llvm/codegen_aarch64.cc:
##########
@@ -59,9 +59,11 @@ void CodeGenAArch64::SetTargetAttributes(llvm::Function*
func) {
// Add vscale_range() function attribute when appropriate.
if (llvm_target_->TargetHasCPUFeature("sve") ||
llvm_target_->TargetHasCPUFeature("sme")) {
auto kVScaleValues = arith::GetVScaleValues(Target::Current());
- unsigned int max_val = *std::max_element(kVScaleValues.begin(),
kVScaleValues.end());
- func->addFnAttr(
- llvm::Attribute::getWithVScaleRangeArgs(*llvm_target_->GetContext(),
1, max_val));
+ if (!kVScaleValues.empty()) {
Review Comment:
Thank you for your comment @cbalint13 !
Here's repro.
Code:
```python
import torch
import torchvision
from torch.export import export
from tvm.relax.frontend.torch import from_exported_program
import tvm
tvm.support.describe()
torch_model = torchvision.models.resnet18(weights=None).eval()
example_args = (torch.randn(1, 3, 224, 224),)
exported_program = export(
torch_model,
args=example_args,
)
# Relax
target = tvm.target.Target(
"llvm -keys=arm_cpu,cpu -mcpu=apple-m4 -mtriple=arm64-apple-darwin25.2.0"
) # Apple M4 Pro target
mod = from_exported_program(exported_program)
exe = tvm.compile(mod, target=target)
```
Output:
```
% uv run relax/repro_segfault.py
Python Environment
TVM version = 0.23.dev0
Python version = 3.13.11 (main, Dec 9 2025, 20:26:22) [Clang 21.1.4 ] (64
bit)
os.uname() = Darwin 25.2.0 Darwin Kernel Version 25.2.0: Tue Nov 18
21:09:56 PST 2025; root:xnu-12377.61.12~1/RELEASE_ARM64_T6041 arm64
CMake Options:
{
"BACKTRACE_ON_SEGFAULT": "OFF",
"BUILD_DUMMY_LIBTVM": "OFF",
"BUILD_STATIC_RUNTIME": "OFF",
"COMPILER_RT_PATH": "3rdparty/compiler-rt",
"CUDA_VERSION": "NOT-FOUND",
"DMLC_PATH": "3rdparty/dmlc-core/include",
"GIT_COMMIT_HASH": "6248b5db43505fbcfb13cc289d11877d5d2649e8",
"GIT_COMMIT_TIME": "2025-12-13 02:29:23 -0500",
"HIDE_PRIVATE_SYMBOLS": "OFF",
"INDEX_DEFAULT_I64": "ON",
"INSTALL_DEV": "OFF",
"LLVM_VERSION": "21.1.7",
"MLIR_VERSION": "NOT-FOUND",
"PICOJSON_PATH": "3rdparty/picojson",
"RANG_PATH": "3rdparty/rang/include",
"ROCM_PATH": "/opt/rocm",
"SUMMARIZE": "OFF",
"TVM_BUILD_PYTHON_MODULE": "OFF",
"TVM_CLML_VERSION": "",
"TVM_CXX_COMPILER_PATH": "/usr/bin/c++",
"TVM_DEBUG_WITH_ABI_CHANGE": "OFF",
"TVM_LOG_BEFORE_THROW": "OFF",
"USE_ALTERNATIVE_LINKER": "AUTO",
"USE_AMX": "OFF",
"USE_ARM_COMPUTE_LIB": "OFF",
"USE_ARM_COMPUTE_LIB_GRAPH_EXECUTOR": "OFF",
"USE_BLAS": "none",
"USE_BNNS": "OFF",
"USE_BYODT_POSIT": "OFF",
"USE_CCACHE": "AUTO",
"USE_CLML": "OFF",
"USE_CLML_GRAPH_EXECUTOR": "OFF",
"USE_COREML": "OFF",
"USE_CPP_RPC": "ON",
"USE_CPP_RTVM": "",
"USE_CUBLAS": "OFF",
"USE_CUDA": "OFF",
"USE_CUDNN": "OFF",
"USE_CURAND": "OFF",
"USE_CUSTOM_LOGGING": "OFF",
"USE_CUTLASS": "OFF",
"USE_DNNL": "OFF",
"USE_FALLBACK_STL_MAP": "OFF",
"USE_GTEST": "AUTO",
"USE_HEXAGON": "OFF",
"USE_HEXAGON_EXTERNAL_LIBS": "OFF",
"USE_HEXAGON_GTEST": "/path/to/hexagon/gtest",
"USE_HEXAGON_RPC": "OFF",
"USE_HEXAGON_SDK": "/path/to/sdk",
"USE_HIPBLAS": "OFF",
"USE_IOS_RPC": "OFF",
"USE_KHRONOS_SPIRV": "OFF",
"USE_LIBBACKTRACE": "AUTO",
"USE_LIBTORCH": "OFF",
"USE_LLVM": "/opt/homebrew/opt/llvm/bin/llvm-config",
"USE_METAL": "OFF",
"USE_MIOPEN": "OFF",
"USE_MKL": "OFF",
"USE_MLIR": "ON",
"USE_MRVL": "OFF",
"USE_MSC": "OFF",
"USE_MSCCL": "OFF",
"USE_MSVC_MT": "OFF",
"USE_NCCL": "OFF",
"USE_NNAPI_CODEGEN": "OFF",
"USE_NNAPI_RUNTIME": "OFF",
"USE_NNPACK": "OFF",
"USE_NVSHMEM": "OFF",
"USE_NVTX": "OFF",
"USE_OPENCL": "OFF",
"USE_OPENCL_ENABLE_HOST_PTR": "OFF",
"USE_OPENCL_EXTN_QCOM": "NOT-FOUND",
"USE_OPENCL_GTEST": "/path/to/opencl/gtest",
"USE_OPENMP": "OFF",
"USE_PAPI": "OFF",
"USE_RANDOM": "ON",
"USE_RCCL": "OFF",
"USE_ROCBLAS": "OFF",
"USE_ROCM": "OFF",
"USE_RPC": "ON",
"USE_RTTI": "ON",
"USE_RUST_EXT": "OFF",
"USE_SORT": "ON",
"USE_SPIRV_KHR_INTEGER_DOT_PRODUCT": "OFF",
"USE_TENSORFLOW_PATH": "none",
"USE_TENSORRT_CODEGEN": "OFF",
"USE_TENSORRT_RUNTIME": "OFF",
"USE_TFLITE": "OFF",
"USE_THREADS": "ON",
"USE_THRUST": "OFF",
"USE_UMA": "OFF",
"USE_VULKAN": "OFF"
}
!!!!!!! Segfault encountered !!!!!!!
File "build/src/ffi/backtrace.cc", line 154, in TVMFFISegFaultHandler
File
"/Users/mshr/data/project/tvm-example/tvm/src/target/llvm/codegen_aarch64.cc",
line 61, in tvm::codegen::CodeGenAArch64::SetTargetAttributes(llvm::Function*)
File
"/Users/mshr/data/project/tvm-example/tvm/src/target/llvm/codegen_llvm.cc",
line 287, in tvm::codegen::CodeGenLLVM::DeclareFunctionInternal(tvm::GlobalVar
const&, tvm::tir::PrimFunc const&)
File
"/Users/mshr/data/project/tvm-example/tvm/src/target/llvm/codegen_llvm.h", line
656, in void
tvm::codegen::CodeGenLLVM::AddFunctionsOrdered<tvm::ffi::Map<tvm::GlobalVar,
tvm::BaseFunc, void>::iterator, void
tvm::codegen::CodeGenLLVM::AddFunctionsOrdered<tvm::ffi::Map<tvm::GlobalVar,
tvm::BaseFunc, void>::iterator>(tvm::ffi::Map<tvm::GlobalVar, tvm::BaseFunc,
void>::iterator, tvm::ffi::Map<tvm::GlobalVar, tvm::BaseFunc,
void>::iterator)::'lambda'(tvm::ffi::Map<tvm::GlobalVar, tvm::BaseFunc,
void>::iterator)>(tvm::ffi::Map<tvm::GlobalVar, tvm::BaseFunc, void>::iterator,
tvm::ffi::Map<tvm::GlobalVar, tvm::BaseFunc, void>::iterator, void
tvm::codegen::CodeGenLLVM::AddFunctionsOrdered<tvm::ffi::Map<tvm::GlobalVar,
tvm::BaseFunc, void>::iterator>(tvm::ffi::Map<tvm::GlobalVar, tvm::BaseFunc,
void>::iterator, tvm::ffi::Map<tvm::GlobalVar, tvm::BaseFunc,
void>::iterator)::'lambda'(tvm::ffi::Map<tvm::GlobalVar, tvm::BaseFunc,
void>::iterator))
File
"/Users/mshr/data/project/tvm-example/tvm/src/target/llvm/codegen_llvm.h", line
181, in void
tvm::codegen::CodeGenLLVM::AddFunctionsOrdered<tvm::ffi::Map<tvm::GlobalVar,
tvm::BaseFunc, void>::iterator>(tvm::ffi::Map<tvm::GlobalVar, tvm::BaseFunc,
void>::iterator, tvm::ffi::Map<tvm::GlobalVar, tvm::BaseFunc, void>::iterator)
File
"/Users/mshr/data/project/tvm-example/tvm/src/target/llvm/llvm_module.cc", line
356, in tvm::codegen::LLVMModuleNode::Init(tvm::IRModule const&, tvm::Target
const&)
File
"/Users/mshr/data/project/tvm-example/tvm/src/target/llvm/llvm_module.cc", line
664, in tvm::codegen::LLVMReflectionRegister()::$_0::operator()(tvm::IRModule,
tvm::Target) const
File "<unknown>", line 0, in _PyEval_EvalFrameDefault
File "<unknown>", line 0, in PyEval_EvalCode
File "<unknown>", line 0, in run_eval_code_obj
File "<unknown>", line 0, in run_mod.llvm.17421610541250727766
File "<unknown>", line 0, in pyrun_file
File "<unknown>", line 0, in _PyRun_SimpleFileObject
File "<unknown>", line 0, in _PyRun_AnyFileObject
File "<unknown>", line 0, in pymain_run_file_obj
File "<unknown>", line 0, in pymain_run_file
File "<unknown>", line 0, in Py_RunMain
File "<unknown>", line 0, in pymain_main
File "<unknown>", line 0, in Py_BytesMain
/Users/mshr/.local/share/uv/python/cpython-3.13.11-macos-aarch64-none/lib/python3.13/multiprocessing/resource_tracker.py:400:
UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects
to clean up at shutdown: {'/mp-q25wemv4'}
warnings.warn(
```
Packages:
```
% uv pip list
Package Version Editable project location
------------------ ----------------------
---------------------------------------------------------
apache-tvm-ffi 0.1.3.dev11+gae346ec92
/Users/mshr/data/project/tvm-example/tvm/3rdparty/tvm-ffi
certifi 2025.11.12
charset-normalizer 3.4.4
cloudpickle 3.1.2
cython 3.2.2
filelock 3.20.0
fsspec 2025.12.0
hf-xet 1.2.0
huggingface-hub 0.36.0
idna 3.11
iniconfig 2.3.0
jinja2 3.1.6
markupsafe 3.0.3
ml-dtypes 0.5.4
mpmath 1.3.0
networkx 3.6.1
numpy 2.3.5
packaging 25.0
pillow 12.0.0
pluggy 1.6.0
psutil 7.1.3
pygments 2.19.2
pytest 9.0.2
pyyaml 6.0.3
regex 2025.11.3
requests 2.32.5
safetensors 0.7.0
scipy 1.16.3
setuptools 80.9.0
sympy 1.14.0
tokenizers 0.22.1
torch 2.9.1
torchvision 0.24.1
tornado 6.5.3
tqdm 4.67.1
transformers 4.57.3
tvm 0.23.dev0
/Users/mshr/data/project/tvm-example/tvm
typing-extensions 4.15.0
urllib3 2.6.2
xgboost 3.1.2
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]