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(
   ```



-- 
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]

Reply via email to