Changes

Summary

  1. Removed abandoned lldb-sphinx-docs builder. (details)
Commit f395d4d0c7d3e9f063d6becd5933d77eb32c1089 by gkistanova
Removed abandoned lldb-sphinx-docs builder.
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)

Summary

  1. [ConstFold] Simplify a load's GEP operand through local aliases (details)
  2. [MCA] Minor changes to the InOrderIssueStage. NFC (details)
  3. [NFC][libObject] clang-format Archive{.h,.cpp} (details)
  4. Fix comment to reflect what the method is doing (NFC) (details)
  5. [dfsan] Add a flag about whether to propagate offset labels at gep (details)
Commit 8086f9d87ee81aacf829bdad94744a75cf692ebc by aeubanks
[ConstFold] Simplify a load's GEP operand through local aliases

MSVC-style RTTI produces loads through a GEP of a local alias which
itself is a GEP. Currently we aren't able to devirtualize any virtual
calls when MSVC RTTI is enabled.

This patch attempts to simplify a load's GEP operand by calling
SymbolicallyEvaluateGEP() with an option to look through local aliases.

Differential Revision: https://reviews.llvm.org/D101100
The file was addedllvm/test/Transforms/InstSimplify/ConstProp/gep-alias-gep-load.ll
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
Commit 57646d38d54c6a52a4fac4b0ac1047b0dbaec94a by andrea.dibiagio
[MCA] Minor changes to the InOrderIssueStage. NFC

The constructor of InOrderIssueStage no longer takes as input a reference to the
target scheduling model. The stage can always query the subtarget to obtain a
reference to the scheduling model.
The ResourceManager is no longer stored internally as a unique_ptr.
Moved a couple of method definitions to the .cpp file.
The file was modifiedllvm/include/llvm/MCA/Stages/InOrderIssueStage.h
The file was modifiedllvm/lib/MCA/Stages/InOrderIssueStage.cpp
The file was modifiedllvm/lib/MCA/Context.cpp
Commit e41aaea26238d0a5cb19163863819786e24f0e02 by rupprecht
[NFC][libObject] clang-format Archive{.h,.cpp}

In preparation for D100651
The file was modifiedllvm/include/llvm/Object/Archive.h
The file was modifiedllvm/lib/Object/Archive.cpp
Commit 80e684b194235c0637c16b4163ed984859980852 by joker.eph
Fix comment to reflect what the method is doing (NFC)
The file was modifiedmlir/lib/IR/MLIRContext.cpp
Commit fc1d39849e8d57ec8cb2ce0e1581faa88ae72fbe by jianzhouzh
[dfsan] Add a flag about whether to propagate offset labels at gep

DFSan has flags to control flows between pointers and objects referred
by pointers. For example,

a = *p;
L(a) = L(*p)        when -dfsan-combine-pointer-labels-on-load = false
L(a) = L(*p) + L(p) when -dfsan-combine-pointer-labels-on-load = true

*p = b;
L(*p) = L(b)        when -dfsan-combine-pointer-labels-on-store = false
L(*p) = L(b) + L(p) when -dfsan-combine-pointer-labels-on-store = true
The question is what to do with p += c.

In practice we found many confusing flows if we propagate labels from c
to p. So a new flag works like this

p += c;
L(p) = L(p)        when -dfsan-propagate-via-pointer-arithmetic = false
L(p) = L(p) + L(c) when -dfsan-propagate-via-pointer-arithmetic = true

Reviewed-by: gbalats

Differential Revision: https://reviews.llvm.org/D103176
The file was addedcompiler-rt/test/dfsan/gep.c
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
The file was addedllvm/test/Instrumentation/DataFlowSanitizer/dont_combine_offset_labels_on_gep.ll

Summary

  1. Removed abandoned lldb-sphinx-docs builder. (details)
Commit f395d4d0c7d3e9f063d6becd5933d77eb32c1089 by gkistanova
Removed abandoned lldb-sphinx-docs builder.
The file was modifiedbuildbot/osuosl/master/config/builders.py