![]() Currently adding attribute no_sanitize("bounds") isn't disabling -fsanitize=local-bounds (also enabled in -fsanitize=bounds). The Clang frontend handles fsanitize=array-bounds which can already be disabled by no_sanitize("bounds"). However, instrumentation added by the BoundsChecking pass in the middle-end cannot be disabled by the attribute. The fix is very similar to D102772 that added the ability to selectively disable sanitizer pass on certain functions. In this patch, if no_sanitize("bounds") is provided, an additional function attribute (NoSanitizeBounds) is attached to IR to let the BoundsChecking pass know we want to disable local-bounds checking. In order to support this feature, the IR is extended (similar to D102772) to make Clang able to preserve the information and let BoundsChecking pass know bounds checking is disabled for certain function. Reviewed By: melver Differential Revision: https://reviews.llvm.org/D119816 |
||
---|---|---|
.. | ||
src | ||
syntaxes | ||
.gitignore | ||
.vscodeignore | ||
CHANGELOG.md | ||
README.md | ||
language-configuration-tablegen.json | ||
language-configuration.json | ||
package-lock.json | ||
package.json | ||
tsconfig.json | ||
vsc-extension-quickstart.md |
README.md
VS Code Extension For LLVM Dev
Features
- LLVM IR files (.ll) syntax highlighting.
(manually translated from
llvm/utils/vim/syntax/llvm.vim
) - TableGen files (.td) syntax highlighting.
(translated from
llvm/utils/textmate
) - PatternMatchers for LIT test output.
(
$llvm-lit
,$llvm-filecheck
) - Tasks to run LIT on current selected file.
(
Terminal
->Run Task
->llvm-lit
)
Installation
sudo apt-get install nodejs-dev node-gyp npm
sudo npm install -g typescript npx vsce
Install From Source
cd <extensions-installation-folder>
cp -r llvm/utils/vscode/llvm .
cd llvm
npm install
npm run vscode:prepublish
<extensions-installation-folder>
is OS dependent.
Please refer to https://code.visualstudio.com/docs/editor/extension-gallery#_where-are-extensions-installed
Install From Package (.vsix)
First package the extension according to https://code.visualstudio.com/api/working-with-extensions/publishing-extension#usage.
Then install the package according to https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix.
Setup
Set cmake.buildDirectory
to your build directory.
https://code.visualstudio.com/docs/getstarted/settings
https://vector-of-bool.github.io/docs/vscode-cmake-tools/settings.html#cmake-builddirectory