Skip to content

[asan][x86] Abort instrumenting memintrinsics that target registers fs, gs #129284

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 123 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
064e436
[asan][x86] Abort instrumenting memintrinsics that target fs, gs to p…
cheezeburglar Feb 25, 2025
8dfeb5b
[SandboxVec] Add option -sbvec-allow-file for bisection debugging (#1…
vporpo Feb 27, 2025
178a339
[SystemZ] Handle scalar to vector bitcasts. (#128628)
JonPsson1 Feb 27, 2025
5f45771
[CIR] Upstream basic alloca and load support (#128792)
andykaylor Feb 27, 2025
b73a57f
[SandboxIR][Region][NFC] Fix windows build issue (#129082)
vporpo Feb 27, 2025
0b80dda
[flang] Refine handling of NULL() actual to non-optional allocatable …
klausler Feb 27, 2025
ad644df
[flang] Support COSHAPE() intrinsic function (#125286)
klausler Feb 27, 2025
efa8610
[flang] Catch more semantic errors with coarrays (#125536)
klausler Feb 27, 2025
7fbe890
[flang] Don't flag CLASS(*) ASSOCIATED() pointer or target as error (…
klausler Feb 27, 2025
b275887
[flang] Fix bogus error on defined I/O procedure. (#125898)
klausler Feb 27, 2025
13cc44e
[flang] Silence warnings from hermetic module files (#128763)
klausler Feb 27, 2025
6c9681c
[flang] Account for accessibility in extensibility check (#128765)
klausler Feb 27, 2025
8e135f2
[flang] Accept proc ptr function result as actual argument without IN…
klausler Feb 27, 2025
c82fdf1
[flang] Silence spurious error (#128777)
klausler Feb 27, 2025
e496296
[flang] Refine handling of SELECT TYPE associations in analyses (#128…
klausler Feb 27, 2025
58308ef
[flang] Enforce C1503 (#128962)
klausler Feb 27, 2025
3b033de
[flang] Catch usage of : and * lengths in array c'tors (#128974)
klausler Feb 27, 2025
6e42f88
[flang] Catch type-bound generic with inherited indistinguishable spe…
klausler Feb 27, 2025
d2ca655
[flang] Fix a warning
kazutakahirata Feb 27, 2025
201d3a6
[RISCV] Consolidate some DecoderNamespaces for standard extensions. (…
topperc Feb 27, 2025
f210eb0
[RISCV] Reduce dynamic relocations for RISCVOpcodesList table. NFC
topperc Feb 27, 2025
8f34a0f
[JumpThreading] Remove deleted BB from Unreachable (#126984)
weiguozhi Feb 27, 2025
47ec2a3
IR, CodeGen: Add command line flags for dumping instruction addresses…
pcc Feb 27, 2025
1f4303e
[NVPTX] Combine addressing-mode variants of ld, st, wmma (#129102)
AlexMaclean Feb 28, 2025
77b96fe
[MCA][RISCV] Mark one of the internal CustomBehavior functions static…
mshockwave Feb 28, 2025
f9af10a
[BOLT][instr] Avoid WX segment (#128982)
yozhu Feb 28, 2025
f27dec3
[flang][runtime] Detect byte order reversal problems (#129093)
klausler Feb 28, 2025
f0da1cb
[flang] Catch more defined I/O conflicts (#129115)
klausler Feb 28, 2025
d907c9f
[WebAssembly] Generate __clang_call_terminate for Emscripten EH (#129…
aheejin Feb 28, 2025
4fbe56e
[X86][AVX10.2] Add comments for the avx10_2convertintrin.h file (#120…
mikolaj-pirog Feb 28, 2025
16a81e1
[flang][docs][NFC] Fix Markdown `/*comments*/` (#129018)
kawashima-fj Feb 28, 2025
dbab13b
[RISCV] Move RISCVVInversePseudosTable from RISCVMCTargetDesc.cpp to …
topperc Feb 28, 2025
d514701
[asan][win] Fix CreateThread leak (#126738)
GkvJwa Feb 28, 2025
6e039aa
[lldb-dap] Adaptor -> Adapter (NFC) (#129110)
JDevlieghere Feb 28, 2025
a17091d
[mlir] Add two clone methods about encoding to RankedTensorType. (#12…
hanhanW Feb 28, 2025
b623106
[AMDGPU][NFC] Move isXDL and isDGEMM to SIInstrInfo. (#129103)
sstipano Feb 28, 2025
2abd830
[ORC] Make callWrapperAsync forwards explicit in ExecutionSession. NFCI.
lhames Feb 27, 2025
f0a2b1c
[RISCV][TTI] Fix a misuse of the getShuffleCost API [NFC] (#129137)
preames Feb 28, 2025
22c407e
[RISCV][TTI] Add shuffle costing for masked slide lowering (#128537)
preames Feb 28, 2025
f159ee7
[HLSL] Add HLSLResourceBindingAttr to default constant buffer numeric…
hekota Feb 28, 2025
f64daaa
[RISCV] Add VL and VTYPE to implicit uses on MC vector instructions t…
topperc Feb 28, 2025
ade49b8
[RISCV] Move RISCV vector load/store searchable tables from RISCVISel…
topperc Feb 28, 2025
0fb6a40
[libc++] Fix the locale base API on Linux with musl (#128936)
androm3da Feb 28, 2025
ddacd05
[libc][bazel] Add py_binary rule to build hdrgen. (#129161)
vonosmas Feb 28, 2025
abe6e5b
[clang-format] Change BracedInitializerIndentWidth to int (#128988)
owenca Feb 28, 2025
9d9ac21
[JITLink][AArch64] Ensure that nulls remain null during ptrauth signing.
lhames Feb 28, 2025
4af9b19
[Clang][AMDGPU] Use 32-bit index for SWMMAC builtins (#129101)
shiltian Feb 28, 2025
686f4cb
[mlir][math] Rsqrt math expand pass expects static shaped operand (#1…
Lewuathe Feb 28, 2025
f17066e
[flang][OpenMP] Add `reduction` clause support to `loop` directive (#…
ergawy Feb 28, 2025
f327c41
[Attributor][NFC] Clang format (#129163)
jdoerfert Feb 28, 2025
b851284
[MLIR][Tensor] Enhance bufferization of tensor.expand_shape op (#128871)
arnab-polymage Feb 28, 2025
16a11e6
[Driver] [C++20] [Modules] Warning for the surprising useless case fo…
ChuanqiXu9 Feb 28, 2025
7d625cb
AMDGPU: Add baseline tests for simplify elts of readfirstlane (#128645)
arsenm Feb 28, 2025
60224c3
AMDGPU: Simplify demanded vector elts of readfirstlane sources (#128646)
arsenm Feb 28, 2025
a798d7d
Revert "[RISCV][TTI] Add shuffle costing for masked slide lowering (#…
preames Feb 28, 2025
a6fe5ec
[GVN/PRE] Remove triple from GVN/PRE tests (#129073)
madhur13490 Feb 28, 2025
47f63a4
[PowerPC] Simplify ELFStreamer and XCOFFStreamer
MaskRay Feb 28, 2025
6dea545
[AMDGPU] Avoid repeated hash lookups (NFC) (#129189)
kazutakahirata Feb 28, 2025
e1ca5f1
[ProfileData] Avoid repeated hash lookups (NFC) (#129194)
kazutakahirata Feb 28, 2025
81529e3
[MLIR][Affine] Fix affine data copy generate for zero-ranked memrefs …
bondhugula Feb 28, 2025
f9e3c29
[SPIRV] Remove unused variable. NFC
topperc Feb 28, 2025
0116fee
[PowerPC] Avoid repeated hash lookups (NFC) (#129193)
kazutakahirata Feb 28, 2025
c951758
[CodeGen] Avoid repeated hash lookups (NFC) (#129190)
kazutakahirata Feb 28, 2025
71fb66c
[Coroutines] [CodeGen] Don't change AST in CodeGen/Coroutines
ChuanqiXu9 Feb 28, 2025
0899435
[clang] Fix issues with #embed and intializer lists/template argument…
Fznamznon Feb 28, 2025
961b5dd
[flang] update fir.coordinate_of to carry the fields (#127231)
jeanPerier Feb 28, 2025
58b5dc1
[Coroutines] Mark parameter allocas with coro.outside.frame metadata …
zmodem Feb 28, 2025
cfc89e2
[SystemZ] Add header guard macros to vecintrin.h (#129170)
jonathan-albrecht-ibm Feb 28, 2025
f749146
[bazel] fix build after bafd44bff58cff9efe569a221b232bab004d55cd
metaflow Feb 28, 2025
10d99ad
Disable unique-object-duplication warning in templates (#129120)
DKLoehr Feb 28, 2025
95f309c
[NFC][clang] Remove trailing whitespace in Options.td
Pierre-vh Feb 28, 2025
67ab38a
[bazel] port 15c49b9db3f60bdbd320271d5e97f118c00b95dd
metaflow Feb 28, 2025
7104c0a
[flang][test] Fix filecheck annotation typos [2/n] (#126099)
klensy Feb 28, 2025
7249304
[AMDGPU] Cosmetic tweaks in AMDGPUAtomicOptimizer. NFC. (#129081)
jayfoad Feb 28, 2025
f6d7391
[CaptureTracking] Take non-willreturn calls into account
nikic Feb 28, 2025
f0bb41d
AMDGPU/GlobalISel: Restore disabled test (#129001)
arsenm Feb 28, 2025
5c49cd0
[tsan][RISCV] Add Go support for linux/riscv64 (#127295)
mengzhuo Feb 28, 2025
b36187d
[FunctionAttrs] Consider non-willreturn functions during capture infe…
nikic Feb 28, 2025
75947bb
[mlir][tosa][tosa-to-linalg] Ignore Int NaN Mode (#129041)
FranklandJack Feb 28, 2025
a3c123a
[libc++][test] extend -linux-gnu XFAIL to cover all of the -linux tar…
pawosm-arm Feb 28, 2025
91f4622
[LLVM][SVE] Add isel for bfloat based select operations. (#128881)
paulwalker-arm Feb 28, 2025
d0e37ef
[libc++] Enable algorithm vectorization on arm neon (#128873)
philnik777 Feb 28, 2025
c8ba9a2
[modules] Add missing test file for b21ee08e57173102b67bc18237b135550…
hokein Feb 28, 2025
b8e7c0f
[LV] Teach the vectorizer to cost and vectorize modf and sincospi int…
MacDue Feb 28, 2025
0c74ba2
[OpenMP] Missing implicit otherwise clause in metadirective. (#127113)
zahiraam Feb 28, 2025
66ac33f
[X86] Add tests for sspstrong with phi nodes (NFC)
nikic Feb 28, 2025
0ace19b
[MLIR][EmitC][cf] Bugfix: correctly inline emitc.expression op in the…
gdehame Feb 28, 2025
5913058
[SystemZ] Fix regstate of SELRMux operand in selectSLRMux(). (#128555)
JonPsson1 Feb 28, 2025
b3e17ed
[Coroutines] [CodeGen] Don't actually emit an output file from unit test
d0k Feb 28, 2025
edd61eb
[clang] Update SVE load and store intrinsics to have FP8 variants (#1…
virginia-cangelosi Feb 28, 2025
d76a504
AMDGPU: Remove nocapture attribute from is.shared and is.private intr…
arsenm Feb 28, 2025
536684e
[NFC][analyzer] OOB test consolidation III: 'outofbound' tests (#128508)
NagyDonat Feb 28, 2025
962ffe7
[AMDGPU][True16][CodeGen] True16 Add OpSel when optimizing exec mask …
broxigarchen Feb 28, 2025
7e294ad
Fix RegionStore assertion failure after #127602 (#129224)
balazs-benics-sonarsource Feb 28, 2025
e9f08d2
[libc++][ci] Update the Windows toolchains to Clang 19 (#129232)
mstorsjo Feb 28, 2025
3c274bb
[CUDA][HIP] check dtor in deferred diag (#129117)
yxsamliu Feb 28, 2025
57ec9e7
[libc++] Mark _XOPEN_SOURCE test as unsupported on FreeBSD (#128950)
ldionne Feb 28, 2025
05b35cd
[lldb] fix(lldb/**.py): fix invalid escape sequences (#94034)
e-kwsm Feb 28, 2025
ffa0ea2
[SelectionDAG][RISCV] Promote VECREDUCE_{FMAX,FMIN,FMAXIMUM,FMINIMUM}…
tclin914 Feb 28, 2025
dc785ea
Fix fp8-init-list.c test failure (#129259)
virginia-cangelosi Feb 28, 2025
6c4f9a6
[PowerPC] custom lower v1024i1 load/store (#126969)
RolandF77 Feb 28, 2025
83458ae
[gn build] Port 15c49b9db3f6
nico Feb 28, 2025
5d6486c
[lldb] Restore register state if PrepareTrivialCall fails (#129038)
DavidSpickett Feb 28, 2025
63e615b
Reapply "[RISCV][TTI] Add shuffle costing for masked slide lowering (…
preames Feb 28, 2025
86806ba
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#129191)
kazutakahirata Feb 28, 2025
7c9ab98
[MCA] Avoid repeated hash lookups (NFC) (#129192)
kazutakahirata Feb 28, 2025
1a1cc50
[BOLT] Report flow conservation scores (#127954)
ShatianWang Feb 28, 2025
bb6118f
[gn build] Port 7e33bebe7c8c
llvmgnsyncbot Feb 28, 2025
b8ca8d6
[analyzer] Do list initialization for CXXNewExpr with initializer lis…
Flandini Feb 28, 2025
4e4d77c
[libc] Add UEFI headers (#127126)
RossComputerGuy Feb 28, 2025
511e7b7
[clang][HIP] Make some math not not work with AMDGCN SPIR-V (#128360)
AlexVlx Feb 28, 2025
caa7d94
[VPlan] Remove unneeded VPValue::getLiveInIRValue() const (NFC).
fhahn Feb 28, 2025
2ff1b19
[RISCV] Improve assembler error message for Zcmp stack adjustment. (#…
topperc Feb 28, 2025
4f9c695
[llvm-objdump] Rework .gnu.version_d dumping
MaskRay Feb 28, 2025
743d080
[mlir][tosa] Rename the result of MATMUL from `c` to `output` (#129274)
Tai78641 Feb 28, 2025
0e6b7ad
Revert "[clang][HIP] Make some math not not work with AMDGCN SPIR-V" …
AlexVlx Feb 28, 2025
393ef36
[Utils][UnifyLoopExits] Avoid costly updates if nothing changed (#129…
jdoerfert Feb 28, 2025
5f9c172
[clang-tidy] [dataflow] Cache reference accessors for `bugprone-unch…
BaLiKfromUA Feb 28, 2025
06cf340
[-Wunsafe-buffer-usage] Fix a potential overflow bug reported by #126…
ziqingluo-90 Feb 28, 2025
c09cf63
[mlir][tosa] Remove out_shape from transpose_conv2d (#129133)
Jerry-Ge Feb 28, 2025
4338e36
[MLIR][LLVMIR] Add support for empty global ctor/dtor lists (#128969)
bcardosolopes Feb 28, 2025
140a46b
[lldb-dap] Adding server mode support to lldb-dap VSCode extension. (…
ashgti Feb 28, 2025
12941c5
[RISCV] Remove non-portable vsetvli instructions from llvm-mca test. …
topperc Feb 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/workflows/libcxx-build-and-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -255,11 +255,11 @@ jobs:
- name: Install a current LLVM
if: ${{ matrix.mingw != true }}
run: |
choco install -y llvm --version=18.1.6 --allow-downgrade
choco install -y llvm --version=19.1.7 --allow-downgrade
- name: Install llvm-mingw
if: ${{ matrix.mingw == true }}
run: |
curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20240606/llvm-mingw-20240606-ucrt-x86_64.zip
curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20250114/llvm-mingw-20250114-ucrt-x86_64.zip
powershell Expand-Archive llvm-mingw*.zip -DestinationPath .
del llvm-mingw*.zip
mv llvm-mingw* c:\llvm-mingw
Expand Down
61 changes: 0 additions & 61 deletions bolt/include/bolt/Passes/ContinuityStats.h

This file was deleted.

98 changes: 98 additions & 0 deletions bolt/include/bolt/Passes/ProfileQualityStats.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
//===- bolt/Passes/ProfileQualityStats.h ------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// This pass checks the BOLT input profile quality.
//
// Check 1: how well the input profile satisfies the following
// "CFG continuity" property of a perfect profile:
//
// Each positive-execution-count block in the function’s CFG
// is *reachable* from a positive-execution-count function
// entry block through a positive-execution-count path.
//
// More specifically, for each of the hottest 1000 functions, the pass
// calculates the function’s fraction of basic block execution counts
// that is *unreachable*. It then reports the 95th percentile of the
// distribution of the 1000 unreachable fractions in a single BOLT-INFO line.
// The smaller the reported value is, the better the BOLT profile
// satisfies the CFG continuity property.
//
// Check 2: how well the input profile satisfies the "call graph flow
// conservation" property of a perfect profile:
//
// For each function that is not a program entry, the number of times the
// function is called is equal to the net CFG outflow of the
// function's entry block(s).
//
// More specifically, for each of the hottest 1000 functions, the pass obtains
// A = number of times the function is called, B = the function's entry blocks'
// inflow, C = the function's entry blocks' outflow, where B and C are computed
// using the function's weighted CFG. It then computes gap = 1 - MIN(A,C-B) /
// MAX(A, C-B). The pass reports the 95th percentile of the distribution of the
// 1000 gaps in a single BOLT-INFO line. The smaller the reported value is, the
// better the BOLT profile satisfies the call graph flow conservation property.
//
// Check 3: how well the input profile satisfies the "function CFG flow
// conservation property" of a perfect profile:
//
// A non-entry non-exit basic block's inflow is equal to its outflow.
//
// More specifically, for each of the hottest 1000 functions, the pass loops
// over its basic blocks that are non-entry and non-exit, and for each block
// obtains a block gap = 1 - MIN(block inflow, block outflow, block call count
// if any) / MAX(block inflow, block outflow, block call count if any). It then
// aggregates the block gaps into 2 values for the function: "weighted" is the
// weighted average of the block conservation gaps, where the weights depend on
// each block's execution count and instruction count; "worst" is the worst
// (biggest) block gap acorss all basic blocks in the function with an execution
// count of > 500. The pass then reports the 95th percentile of the weighted and
// worst values of the 1000 functions in a single BOLT-INFO line. The smaller
// the reported values are, the better the BOLT profile satisfies the function
// CFG flow conservation property.
//
// The default value of 1000 above can be changed via the hidden BOLT option
// `-top-functions-for-profile-quality-check=[N]`.
// The default reporting of the 95th percentile can be changed via the hidden
// BOLT option `-percentile-for-profile-quality-check=[M]`.
//
// If more detailed stats are needed, `-v=1` can be used: the hottest N
// functions will be grouped into 5 equally-sized buckets, from the hottest
// to the coldest; for each bucket, various summary statistics of the
// profile quality will be reported.
//
//===----------------------------------------------------------------------===//

#ifndef BOLT_PASSES_PROFILEQUALITYSTATS_H
#define BOLT_PASSES_PROFILEQUALITYSTATS_H

#include "bolt/Passes/BinaryPasses.h"
#include <vector>

namespace llvm {

class raw_ostream;

namespace bolt {
class BinaryContext;

/// Compute and report to the user the profile quality
class PrintProfileQualityStats : public BinaryFunctionPass {
public:
explicit PrintProfileQualityStats(const cl::opt<bool> &PrintPass)
: BinaryFunctionPass(PrintPass) {}

bool shouldOptimize(const BinaryFunction &BF) const override;
const char *getName() const override { return "profile-quality-stats"; }
bool shouldPrint(const BinaryFunction &) const override { return false; }
Error runOnFunctions(BinaryContext &BC) override;
};

} // namespace bolt
} // namespace llvm

#endif // BOLT_PASSES_PROFILEQUALITYSTATS_H
3 changes: 3 additions & 0 deletions bolt/include/bolt/Rewrite/RewriteInstance.h
Original file line number Diff line number Diff line change
Expand Up @@ -505,6 +505,9 @@ class RewriteInstance {
/// Number of local symbols in newly written symbol table.
uint64_t NumLocalSymbols{0};

/// Flag indicating runtime library linking just started.
bool StartLinkingRuntimeLib{false};

/// Information on special Procedure Linkage Table sections. There are
/// multiple variants generated by different linkers.
struct PLTSectionInfo {
Expand Down
2 changes: 1 addition & 1 deletion bolt/lib/Passes/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ add_llvm_library(LLVMBOLTPasses
PatchEntries.cpp
PettisAndHansen.cpp
PLTCall.cpp
ContinuityStats.cpp
ProfileQualityStats.cpp
RegAnalysis.cpp
RegReAssign.cpp
ReorderAlgorithm.cpp
Expand Down
Loading
Loading