llvm-project/llvm
Leonard Chan 9553d69580 [NFC][HWASan] Refactor hwasan pass
This moves some code for getting PC and SP into their own functions. Since SP
is also retrieved in the prologue and getting the stack tag, we can cache the
SP if we get it once in the prologue. This caching will really only be relevant
in D128387 where StackBaseTag may not be set in the prologue if __hwasan_tls
is not used.

Differential Revision: https://reviews.llvm.org/D128551
2022-06-28 12:09:20 -07:00
..
benchmarks
bindings [IR] Remove support for extractvalue constant expression 2022-06-28 10:40:17 +02:00
cmake [CMake] Don't pass CMAKE_C(XX)_COMPILER to the nested NATIVE build when cross compiling 2022-06-22 09:33:50 +03:00
docs [Propeller] Encode address offsets of basic blocks relative to the end of the previous basic blocks. 2022-06-28 07:42:54 -07:00
examples Add missing (void) for function declarations in C 2022-06-28 00:45:17 +00:00
include [DWARFLinker] mark odr candidates inside the same object file. 2022-06-28 19:48:49 +03:00
lib [NFC][HWASan] Refactor hwasan pass 2022-06-28 12:09:20 -07:00
projects
resources
runtimes
test [RISCV] Teach RISCVMergeBaseOffset to handle read-modify-write of a global. 2022-06-28 11:46:24 -07:00
tools [Propeller] Encode address offsets of basic blocks relative to the end of the previous basic blocks. 2022-06-28 07:42:54 -07:00
unittests [Propeller] Encode address offsets of basic blocks relative to the end of the previous basic blocks. 2022-06-28 07:42:54 -07:00
utils [lit][test] relaxed GTEST_TOTAL_SHARDS checking for some googletests (2) 2022-06-28 10:32:22 -07:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [Clang][C++23] P2071 Named universal character escapes 2022-06-25 19:03:33 +02:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.