|
|
|||
File indexing completed on 2026-05-10 08:44:38
0001 //===- NumericalStabilitySanitizer.h - NSan Pass ---------------*- C++ -*--===// 0002 // 0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 0004 // See https://llvm.org/LICENSE.txt for license information. 0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 0006 // 0007 //===----------------------------------------------------------------------===// 0008 // 0009 // \file 0010 // This file defines the numerical stability sanitizer (nsan) pass. 0011 // 0012 //===----------------------------------------------------------------------===// 0013 0014 #ifndef LLVM_TRANSFORMS_INSTRUMENTATION_NUMERICALSTABIITYSANITIZER_H 0015 #define LLVM_TRANSFORMS_INSTRUMENTATION_NUMERICALSTABIITYSANITIZER_H 0016 0017 #include "llvm/IR/PassManager.h" 0018 #include "llvm/Pass.h" 0019 0020 namespace llvm { 0021 0022 /// A function pass for nsan instrumentation. 0023 /// 0024 /// Instruments functions to duplicate floating point computations in a 0025 /// higher-precision type. 0026 /// This pass inserts calls to runtime library functions. If the 0027 /// functions aren't declared yet, the pass inserts the declarations. 0028 struct NumericalStabilitySanitizerPass 0029 : public PassInfoMixin<NumericalStabilitySanitizerPass> { 0030 PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM); 0031 static bool isRequired() { return true; } 0032 }; 0033 0034 } // end namespace llvm 0035 0036 #endif // LLVM_TRANSFORMS_INSTRUMENTATION_NUMERICALSTABIITYSANITIZER_H
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|