Skip to content

LLVM bump to green commit #23

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

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
692 commits
Select commit Hold shift + click to select a range
2cfd06b
[BoundsChecking] Don't crash on scalable vector sizes
preames Mar 23, 2023
16b6826
[MergeFuncs] Add tests for D144682 (NFC)
dingxiangfei2009 Mar 23, 2023
ec294d2
[X86] LowerVectorAllZero - lower to CMP(MOVMSK(NOT(X)),0) instead of …
RKSimon Mar 23, 2023
dc2f2d2
[MemProf] Use stable_sort to avoid non-determinism
teresajohnson Mar 23, 2023
2bececb
[clangd] Add provider info on symbol hover.
VitaNuo Feb 28, 2023
9c8bdbc
[libc] Implement memory fences on NVPTX
jhuber6 Mar 23, 2023
5525087
[NFC][AArch64] Sort Hints in armv8.3a-signed-pointer.s test
lenary Mar 23, 2023
e33f8ac
[libc] Fix inline assembly for nvptx quick_exit
jhuber6 Mar 23, 2023
2f5fdbf
[MergeFunc] Don't assume constant metadata operands
nikic Mar 23, 2023
4c5dee7
[flang] Lowering fir.dispatch in the polymorphic op pass
Renaud-K Mar 21, 2023
7739be7
[ArgPromotion] Remove dead code produced by removing dead arguments
jrbyrnes Mar 15, 2023
de939c6
[libc] enable printf using system FILE
michaelrj-google Mar 13, 2023
7d11a59
[libc] Fix some math conversion warnings
abrachet Mar 23, 2023
5f883cd
[docs] Document -fomit-frame-pointer
MaskRay Mar 23, 2023
40e5d21
[clangd] Fix indentation in HoverTests.cpp
VitaNuo Mar 23, 2023
40aaa27
[libc++][ranges] P2711R1 Making multi-param constructors of views exp…
Zingam Mar 22, 2023
101cfe1
[libcxx] Fix build bustage with threads disabled
glandium Mar 23, 2023
6a2a5f0
[CodeGenPrepare] Don't give up if unable to sink first arg to a cold …
momchil-velikov Mar 23, 2023
c70e360
[clang-format] Allow trailing return types in macros
rymiel Mar 23, 2023
8088f5b
[support] Fix PrintNumber Test on AIX
ilovepi Mar 23, 2023
cc8a34b
[X86] Refactor movmsk(icmp_eq(and(x,c1),0)) -> movmsk(not(shl(x,c2)))…
RKSimon Mar 23, 2023
5c9a262
[CodeGenPrepare][NFC] Pre-commit test for memory use count fix
momchil-velikov Mar 23, 2023
73bec2b
[mlir][Vector] Retire one old filter-based test
nicolasvasilache Mar 23, 2023
637048f
[TSan][Darwin] Test fix external-swift-debugging.cpp
Mar 23, 2023
2bc4c3e
[mlir][Vector] NFC - Reorganize vector patterns
nicolasvasilache Mar 23, 2023
a86cc83
[libc] Move fma and fmaf into generic dir
abrachet Mar 23, 2023
30e8916
[X86] combineVectorSizedSetCCEquality - update arguments to use indiv…
RKSimon Mar 23, 2023
e036139
[scudo] Add a Timer class to assist performance measurement
ChiaHungDuan Mar 23, 2023
d10110a
[StackProtector] attribute __stack_chk_fail as NoReturn
nickdesaulniers Mar 23, 2023
0c5cee7
[lldb-server] Use Platform plugin corresponding to the host
bulbazord Mar 22, 2023
4b398ec
[HWASAN] Fix decorate_proc_maps to work with HWASAN
kstoimenov Mar 23, 2023
1d30afd
[PATCH] Enable targeting riscv64-linux-android
colincross Mar 23, 2023
156d966
Remove mips target triple for Android
hiraditya Mar 21, 2023
f23dcb2
Revert "[JITLink] Initial AArch32 backend"
gulfemsavrun Mar 23, 2023
d557384
[LLDB] Fix for D139955 Summary:
ayermolo Mar 23, 2023
088da8a
[lldb][NFC] makeArrayRef -> ArrayRef
aeubanks Mar 23, 2023
805f51f
Remove Android-mips related tests
hiraditya Mar 23, 2023
1c91733
Fix highlighting issue with _complex and initialization list with mor…
chaitanyav Mar 23, 2023
3111784
[lld][WebAssembly] Initial support for stub libraries
sbc100 Dec 7, 2022
af54d1e
[NVPTX] Set the atomic inling threshold when targeting NVPTX directly
jhuber6 Mar 23, 2023
d11e49f
[libc][NFC] Fix misspelled variable name in cmake message
jhuber6 Mar 23, 2023
9ddc03a
[OpenMP] Fix test after updating NVPTX atomic inlines
jhuber6 Mar 23, 2023
53a9175
[llvm] Handle duplicate call bases when applying branch funneling
PiJoules Mar 23, 2023
2e9bcad
Revert "[scudo] Add a Timer class to assist performance measurement"
ChiaHungDuan Mar 23, 2023
ec2333d
[JITLink] Add a jitlink::Section::empty operation.
lhames Mar 23, 2023
3974865
[llvm][TextAPI] Handle implicitly upgraded deployment versions
cyndyishida Mar 23, 2023
c13ccf1
[clang][ExtractAPI]Fix Declaration fragments for instancetype in the …
chaitanyav Mar 23, 2023
999643f
[WebAssembly] Tidy up DebugValueManager (NFC)
aheejin Mar 23, 2023
bb0ecb7
[Driver][test] Remove remnant mips*-linux-android tests after 805f51f…
MaskRay Mar 23, 2023
ccc2f36
Android.rules: remove mips* rules
MaskRay Mar 23, 2023
399f313
[Driver] Remove remnant mips64el-linux-android code after D146565
MaskRay Mar 23, 2023
07ef7b1
[Builtins] Add __builtin_assume_separate_storage
bcardosolopes Mar 23, 2023
c828030
[mlir][linalg] Refactor convolution to img2col conversion to use gath…
qedawkins Feb 23, 2023
24847a9
[LegalizeTypes][RISCV] Add a special case for (add X, -1) to ExpandIn…
ChunyuLiao Mar 24, 2023
ccd96b3
[builtins][test] Fix divmodti4_test.c on Windows
aeubanks Mar 24, 2023
24657a9
[NFC] Fix Windows builds that use MSVC 14.x
jurahul Mar 23, 2023
5f48b86
[SelectionDAG] Use isOneConstant (NFC)
kazutakahirata Mar 24, 2023
231fa27
[InstCombine] Generate better code for std::bit_ceil
kazutakahirata Mar 24, 2023
4950104
[NFC][X86]remove trailing space in X86InstrArithmetic.td
XinWang10 Mar 24, 2023
3ca6e69
Precommit tests for #60690
junaire Mar 24, 2023
cea9383
[InstCombine] Try to recognize bswap pattern when calling funnel shifts
junaire Mar 24, 2023
1167414
[LoongArch] Enable LoopDataPrefetch pass
XiaodongLoong Mar 24, 2023
d8efbcf
[AArch64] Add tests for umax(x, 1u)
kazutakahirata Mar 24, 2023
cc86e6b
[BugFix] Fix VSELECT ISel fail
xiangzh1 Mar 21, 2023
abddb83
[lldb] Fix type of --apply-fixits (NFC)
kastiglione Mar 24, 2023
1e4325f
[X86] Precommit a test
kazutakahirata Mar 24, 2023
d30bc9e
[Driver] Change multilib selection algorithm
mplatings Mar 14, 2023
f957b8f
[clang-tidy][NFC] Improve naming convention in google-readability-avo…
carlosgalvezp Mar 23, 2023
b0cd5b2
[mlir][llvm] Switch remaining LLVM dialect tests to opaque pointers.
gysit Mar 24, 2023
3048c9e
Revert "Recommit [Modules] Remove unnecessary check when generating n…
Mar 23, 2023
558b33c
[NFC] Regenerate test NewGVN/metadata-nonnull.ll
Mar 24, 2023
09aa3f7
[LLD] [test] Add a missing REQUIRES: x86 in a new test
mstorsjo Mar 24, 2023
a94d2bd
[MLIR][LLVM] Add debug output to the LLVM inliner.
definelicht Mar 24, 2023
4a5bc79
[CMake] Respect variables for specifying host tools even without LLVM…
mstorsjo Mar 22, 2023
0858b53
[Test] Regenerate checks in test file
xortator Mar 24, 2023
6a7d04c
[NFC] Regenerate test of InstCombine/load-combine-metadata-dominance.ll
Mar 24, 2023
cf60d3f
[mlir][arith] Extend the `floordivsi` converter
banach-space Mar 23, 2023
410a239
[RISCV] Add test for shuffles that could be done as vmerges
lukel97 Mar 23, 2023
5c1d160
Reland "[JITLink] Initial AArch32 backend"
weliveindetail Mar 23, 2023
b94175b
[clang-format] NFC Format.h and ClangFormatStyleOptions.rst are out o…
mydeveloperday Mar 24, 2023
0c36ab1
[NFC] Fix auto usage to avoid copies
akshaykhadse Mar 24, 2023
bd0c281
[NFC][LoopVectorize] Change trip counts for some tests to guarantee a…
david-arm Mar 16, 2023
2a6e39d
[AVR] Do not emit 'LPM Rd, Z' on devices without FeatureLPMX
benshi001 Jan 9, 2023
ff426a6
[compiler-rt] Fix signed integer overflow in int_mulo_impl.inc
karka228 Mar 24, 2023
03101e1
[include-cleaner] Attribute references to explicit specializations
kadircet Mar 23, 2023
f454a7c
[OpenCL] Emit EOL at end of generated header
svenvh Mar 24, 2023
a35e4d2
[JITLink] Fix MSVC build error: fully qualify llvm::object::ELFFile
weliveindetail Mar 24, 2023
90d9c1c
[Flang][OpenMP] Add TODO message for common block privatisation
kiranchandramohan Mar 24, 2023
ef310c6
Fix Clang sphinx build
AaronBallman Mar 24, 2023
90eab48
[Test] Use autogenerated checks in uglygep.ll test for LSR (NFC)
d-makogon Mar 24, 2023
4923b4d
[Local] Check for null VH in RecursivelyDeleteTriviallyDeadInstructio…
nikic Mar 24, 2023
3108998
[gn] somewhat port 0c5cee779929 (lldb-server platform plugin)
nico Mar 24, 2023
ea064ee
[AMDGPU] Create Subtarget Features for some of 16 bits atomic fadd in…
mariusz-sikora-at-amd Mar 9, 2023
cde1c3c
[AggressiveInstCombine] use m_Deferred on funnel shift(NFC)
khei4 Mar 24, 2023
84717a7
[GlobalOpt] Fix dead const handling in pointer root user cleanup (PR6…
nikic Mar 24, 2023
65c4ace
[flang][Driver] Fix lto-flags.f90 on Solaris
rorth Mar 24, 2023
1131310
[SimplifyCFG] Don't merge invoke if this makes immarg non-constant (P…
nikic Mar 23, 2023
8b51340
[mlir][Vector][Transforms] Improve the control over individual vector…
nicolasvasilache Mar 24, 2023
2ac5bf2
[Test] Add test to check that LCSSA is preserved by LSR (NFC)
d-makogon Mar 24, 2023
8e85bed
[Test] Regenerate test checks for some LSR tests (NFC)
d-makogon Mar 24, 2023
04f61fb
[LICM] Add tests for GEP reassociation (NFC)
nikic Mar 24, 2023
467ed27
[clang] Extend pragma dump to support expressions
Endilll Mar 24, 2023
c0d28d5
[AArch64][SME] SelectSMETileSlice should also match to 'reg+0' when s…
sdesmalen-arm Mar 22, 2023
53627ff
[libc] Change RPC outbox stores to be relaxed
jhuber6 Mar 24, 2023
e7c35d7
[SelectionDAG] Correctly reduce BV to shuffle with zero on big endian
nemanjai Mar 24, 2023
125a37e
[LoongArch] Add Scalar link component
XiaodongLoong Mar 24, 2023
b1871ce
[sanitizer][win] Change cmdline check to allow double backslashs
alvinhochun Mar 22, 2023
172094c
[LICM] Require MSSA in SinkAndHoistLICMFlags (NFC)
nikic Mar 24, 2023
69061f9
[AMDGPU] Add clang builtin for __builtin_amdgcn_ds_atomic_fadd_v2f16
mariusz-sikora-at-amd Mar 10, 2023
4e209a9
[libc] Update bazel build rules for 9c8bdbcbc502fac7d7d8da5c848cec448…
durin42 Mar 24, 2023
f5150ee
[mlir][linalg] Use affine apply in im2col gather index calculations
qedawkins Mar 24, 2023
3884f07
[extract_symbols.py] Export unique symbols
tmatheson-arm Mar 23, 2023
6d5845c
[support] Attempt to fix PrintNumber test for Solaris
ilovepi Mar 24, 2023
8f78d95
Make test more explicit on failure.
doru1004 Mar 24, 2023
7370e45
Fix warnings
kazutakahirata Mar 24, 2023
70022e5
Remove unused header file in VectorTransformOps.h
yijia1212 Mar 24, 2023
e74834f
[scudo] Use bytes-in-freelist as a hint of page release
ChiaHungDuan Mar 24, 2023
33be834
[flang][driver][openmp] Write MLIR for -save-temps
skatrak Mar 14, 2023
6e9c24e
[RISCV] Lower insert subvector shuffles as vslideups
lukel97 Mar 24, 2023
d3e8bd9
[RISCV][NFC] Rename some test cases
lukel97 Mar 24, 2023
33d24fe
[RISCV] Add test cases for modeling more shuffle kinds
lukel97 Mar 24, 2023
40b408c
[RISCV] Enable SLP in RISC-V SLP reduction tests
lukel97 Mar 24, 2023
1c9094a
[RISCV] Add test case for two equivalent reductions
lukel97 Mar 24, 2023
f23ea4c
[RISCV] Model select and insertsubvector shuffle kinds
lukel97 Mar 23, 2023
6a423ee
[NVPTX] Fix integer overflow affecting array size calculation.
Artem-B Mar 23, 2023
75ca15f
Fix backtick handling in parsed commands.
jimingham Mar 24, 2023
e7654a7
[lldb] Explicitly mark PlatformFreeBSD's dependency on PlatformPOSIX
bulbazord Mar 24, 2023
70511e6
[M68k] Fix CConvs for pointer type return values
mshockwave Mar 24, 2023
3ac5a12
[ARM] Add Thumb Attributes for thumb thunks created in SLSHarding
davemgreen Mar 24, 2023
beafd23
[TSan] Refactor ExternalAccess() to avoid unnecessary pop/push tag [NFC]
Mar 22, 2023
737291f
Add support for critical regions in device code.
doru1004 Mar 10, 2023
fa56e36
[support] Temporarily disable Inf/NaN testing in PrintNumber
ilovepi Mar 24, 2023
d820772
Revert "[Serialization] Place command line defines in the correct file"
felipepiovezan Mar 24, 2023
b4b4950
[SystemZ] Allow fp/int casting with inline assembly operands.
JonPsson Mar 14, 2023
22a4aaf
[BOLT] Don't use section relocations when computing hash for data fro…
treapster Mar 24, 2023
02885ef
[ConstraintElim] Use GEPOperator instead of GetElementPtrInst.
fhahn Mar 24, 2023
0f6fd1b
[libc] Add support for setjmp and longjmp in riscv
mikhailramalho Mar 24, 2023
3bff90e
[clang-tools-extra] Fix linking ClangdTests when using libclang-cpp
mgorny Mar 20, 2023
1c43be0
[Libomptarget] Update CMake messages if the tests aren't build
jhuber6 Mar 24, 2023
0999996
Don't expect what newlines look like - never works on Windows.
jimingham Mar 24, 2023
9009875
[linalg] Fixed tosa-to-linalg-named for tosa.conv2d i8 with i8 bias
Mar 24, 2023
29a5c3c
[NVPTX] Introduce attribute to mark kernels without a language mode
jhuber6 Mar 24, 2023
44650a9
[lldb] Add header REPL.h to lldb_Expression
bulbazord Mar 24, 2023
8ab9eeb
[Pseudo Probe] Add the test for probe desc
wlei-llvm Mar 24, 2023
1fce1d3
[libc] Use `nvptx_kernel` attribute in NVPTX startup code
jhuber6 Mar 24, 2023
110c1b6
[mlir][tosa] Improve performance of tosa.transpose constant folding
sabauma Mar 24, 2023
4cb0b7c
[JITLink] Fix MSVC build error: formatv can't handle support::ulittle…
weliveindetail Mar 24, 2023
5a9bad1
[Support] Fix warnings
kazutakahirata Mar 24, 2023
2f086f2
[APFloat] Add E4M3B11FNUZ
majnemer Mar 9, 2023
7a74869
Fix mlir/lib/Bindings/Python/IRTypes.cpp for Float8E4M3B11FNUZType
majnemer Mar 24, 2023
9fee241
[libc][Obvious] Remove a compile opt to x86_64 longjmp in a previous …
Mar 24, 2023
23349d8
[lldb] Add ability to hide the root name of a value
kastiglione Mar 24, 2023
7c7c10a
[mlir][sparse] Updating the `Merger::{exp,lat,set}` methods to return…
wrengr Mar 24, 2023
b337953
[mlir][sparse] Misc cleanup in Merger.h
wrengr Mar 24, 2023
0280681
[mlir][sparse] Updating TensorExp ctor to catch unknown TensorExp::Kind
wrengr Mar 24, 2023
74c5420
[mlir][sparse] moving kInvalidId into "detail" namespace
wrengr Mar 24, 2023
6d0de19
[mlir][vector] Hoist redundant singleton vector transfer reads
harsh-nod Mar 24, 2023
4c79766
[mlir][linalg] Convert input type to accumulator type in im2col patterns
qedawkins Mar 19, 2023
d0acc6f
[lldb][NFC] Remove outdated TODOs from API headers
bulbazord Mar 24, 2023
755285f
[mlir][sparse] Factoring out LoopEmitter::isValidLevel
wrengr Mar 24, 2023
0430324
[Fuchsia] Add FUCHSIA_USE_MULTIPLE_DISTRIBUTIONS.
mysterymath Mar 22, 2023
01bdd8c
[llvm-jitlink] Rename -show-graph option to -show-graphs, make it a r…
lhames Mar 24, 2023
1703ff7
[llvm-jitlink] Remove unnecessary header include left in 01bdd8cffca.
lhames Mar 24, 2023
51e5846
[RISCV][NFC] Renamed [Read/Write]VGather* -> [Read/Write]VRGatherV*
nitinjohnraj Mar 6, 2023
85e0d48
[RISCV][NFC] Broke ReadVRGatherVV into ReadVRGatherVV_data and ReadVR…
nitinjohnraj Mar 6, 2023
08be5e2
[RISCV][NFC] Added possible SEWs associated with a given LMUL
nitinjohnraj Feb 24, 2023
5a0c27d
[RISCV][NFC] Remove SEW suffix from pseudoinstructions
nitinjohnraj Feb 24, 2023
a075ac0
[RISCV] Made vcompress pseudoinstruction SEW-aware
nitinjohnraj Feb 24, 2023
5ab9ae1
[RISCV] Made vrgather.vv and vrgatherei16 pseudoinstructions SEW-aware
nitinjohnraj Feb 24, 2023
3cf7e35
[RISCV] Made division pseudoinstructions SEW-aware
nitinjohnraj Feb 24, 2023
7b39f16
[RISCV] Made fsqrtv pseudoinstruction SEW-aware
nitinjohnraj Feb 24, 2023
0016f47
[lldb] Remove errant call to SBReproducer.SetWorkingDirectory
JDevlieghere Mar 25, 2023
5fb4147
[lldb][NFC] Update and re-organize lldb-types.h
bulbazord Mar 25, 2023
5831206
[lldb][NFC] Remove outdated TODO in Log.h
bulbazord Mar 25, 2023
2bef46d
[libc] Add a loader utility for NVPTX architectures for testing
jhuber6 Mar 23, 2023
58f5e5e
[libc] Implement the RPC client / server for NVPTX
jhuber6 Mar 24, 2023
36d6217
[OpenMP] Ensure memory fences are created with barriers for AMDGPUs
ye-luo Mar 25, 2023
ead2d86
Revert "[OpenMP] Ensure memory fences are created with barriers for A…
ye-luo Mar 25, 2023
d630134
[dataflow] handle missing case in value debug strings
sam-mccall Mar 22, 2023
cc4e774
[Analysis] Fix use-after-scope in CFGElement dump
sam-mccall Mar 25, 2023
ca62139
[RISCV] Make RISCVMergeBaseOffsetOpt a class instead of a struct. NFC
topperc Mar 25, 2023
0be1fba
[libc] Remove unused aarch64 sqrt and sqrtf implementations
frobtech Mar 25, 2023
30b141a
[X86] Fix the incorrect displacement for prolog/epilog
LuoYuanke Mar 25, 2023
553cebd
[mlir][Vector] Use a RewriterBase for IR rewrites in VectorTransferOp…
nicolasvasilache Mar 25, 2023
7da272a
[RISCV][RISCVISelLowering] Add tail agnostic policy operand to VECRED…
nitinjohnraj Mar 23, 2023
7e5d300
[mlir][Analysis] Fix assertion in FlatLinearConstraints
matthias-springer Mar 25, 2023
9795aa0
[RISCV] Support vector crypto extension ISA string and assembly
4vtomat Oct 26, 2022
254a71b
[Clang] Update DR status page to reflect Core Issues List 111.
cor3ntin Mar 25, 2023
9c6b690
[lldb] Move #include out of namespace lldb. NFC.
d0k Mar 25, 2023
7bda9ff
[Docs][llvm-mc] Add documentation on --filetype flag
boomanaiden154 Mar 25, 2023
2eab585
[libc++][NFC] Improve documentation for running BuildKite agent locally
ldionne Mar 25, 2023
d30de98
[libc] Define LLVM_LIBC_FUNCTION with a layer of macro expansion
frobtech Mar 25, 2023
3b00bae
[libc++] Add UNSUPPORTED annotations to more <format> tests on GCC 12
ldionne Mar 25, 2023
731264b
[clang][NFC] Fix location of 2>&1 in a few -print tests
ldionne Mar 15, 2023
b48e7c2
[AMDGPUUnifyDivergentExitNodes] Add NewPM support
gandhi56 Mar 25, 2023
0e01c3d
[clang-format] More work on space around operators in Verilog
eywdck2l Mar 25, 2023
f90668c
[clang-format] Handle Verilog assign statements
eywdck2l Mar 25, 2023
18353d2
[Matrix] Split up dot product tests into integer and float variants.
fhahn Mar 25, 2023
22ebb49
[Matrix] Extend test coverage for dot product lowering.
fhahn Mar 25, 2023
721defb
[MLIR][Affine] Fix/improve affine sibling fusion
bondhugula Mar 25, 2023
69a0924
[libc] Add missing cast in fputil sqrt code
frobtech Mar 25, 2023
bae6f8f
[ARM] Add some tests for non-zero VCTP generation. NFC
davemgreen Mar 25, 2023
e35fbf5
[MachineCopyPropagation] Pass DestSourcePair to isBackwardPropagatabl…
topperc Mar 26, 2023
cd67bbd
[MLIR][Affine] add memory effect traits for dmaOp
lipracer Mar 26, 2023
5409fb3
[clang-format] Annotate lambdas with requires clauses.
rymiel Mar 26, 2023
a8d2bff
[clang-format] Don't wrap struct return types as structs
rymiel Mar 26, 2023
bb4f6c4
[clang-format] Treat NTTP default values as expressions
rymiel Mar 26, 2023
474f5ef
Revert "[llvm] Teach whole program devirtualization about relative vt…
PiJoules Mar 26, 2023
1c604a9
Revert "[llvm] Teach GlobalDCE about dso_local_equivalent"
PiJoules Mar 26, 2023
943df86
[RISCV] Move PseudoRVVInitUndef pseudos to RISCVInstrInfoVPseudos.td.…
topperc Mar 26, 2023
377e131
[ThinLTO] Only import for non-prevailing interposable global variables
smeenai Mar 25, 2023
3245bcd
[flang][nfc] Remove unused codes in idioms.h
Mar 23, 2023
52296f5
[clang-tidy] Add readability-avoid-unconditional-preprocessor-if check
PiotrZSL Mar 26, 2023
eb87e55
[clang-tidy] Correct union & macros handling in modernize-use-equals-…
PiotrZSL Mar 26, 2023
3b44109
InstCombine: Introduce new is.fpclass from logic of fcmp
arsenm Feb 3, 2023
f5f752e
AMDGPU: Convert test to generated checks
arsenm Mar 24, 2023
051112a
AMDGPU: Add baseline test for SWDEV-380865
arsenm Mar 6, 2023
bc31ff3
[gn build] Port 52296f5ed88b
llvmgnsyncbot Mar 26, 2023
9630a99
[Local] Preserve !nonnull only when K dominate J and K has a !noundef
Mar 26, 2023
f5b6e9b
[include-cleaner] Fix crash on unresolved headers
kadircet Mar 26, 2023
af602ed
[RISCV] Make RISCVISAInfo::toFeatureVector ignore unsupported extensions
asb Mar 26, 2023
a742511
[clang][RISCV][test] Add test cases for empty structs and the FP call…
asb Mar 26, 2023
938deaa
[clang][RISCV] Fix ABI lowering for _Float16 for FP ABIs
asb Mar 26, 2023
556600a
[clang-tidy] Add option to ignore user-defined literals in readabilit…
carlosgalvezp Mar 26, 2023
2ad8e6e
[examples] Add export_executable_symbols to HowToUseLLJIT example.
lhames Mar 26, 2023
5b5c49a
[clang-format] Don't format already formatted integer literals
owenca Mar 21, 2023
6cef325
[clang-format] Don't squash Verilog escaped identifiers
eywdck2l Mar 26, 2023
d02ef70
[LLJIT] Add convenience methods for loading dylibs and linking static…
lhames Mar 27, 2023
12e8463
[X86][NFC]Remove dead code in X86ISelLowering.cpp
XinWang10 Mar 27, 2023
0b103ed
[clangd] Fix a hover crash on unsigned 64bit value
zyn0217 Mar 25, 2023
41eafdf
[TableGen] Format document
pcwang-thead Mar 27, 2023
0620658
[RISCV] Enable tools such as llvm-objdump to process objects with unr…
asb Mar 27, 2023
91c6174
[RISCV] Allow llvm-objdump to disassemble objects with unrecognised v…
asb Mar 27, 2023
9a9827d
[Driver][NetBSD] Simplify NetBSD version handling
brad0 Mar 27, 2023
9cffb2f
[LLJIT] Allow multiple loadPlatformDynamicLibrary calls with the same…
lhames Mar 27, 2023
3a04995
[AArch64][CodeGen] Add few more tests for fused operations (NFC)
sushgokh Mar 27, 2023
1a8668c
[Target] Use isAllOnesConstant (NFC)
kazutakahirata Mar 27, 2023
946d29e
[RISCV] Support vector type strict_fsqrt.
Mar 26, 2023
62c38ff
[Target] Use isNullConstant (NFC)
kazutakahirata Mar 27, 2023
9d80f17
[mlir][bufferize] Fix tracking of erased ops
matthias-springer Mar 27, 2023
e884e00
[dataflow] Delete legacy aliases
sam-mccall Mar 25, 2023
30e7cd4
[clang] Remove legacy -m(no)-code-object-v3 options
Pierre-vh Mar 9, 2023
215cfa0
[AMDGPU][printf] Run AMDGPUPrintfRuntimeBindingPass in -O0
jmmartinez Mar 24, 2023
4a9dc94
[clang] Test for AST Dumping of the template variables
Mar 24, 2023
389bf5d
[llvm-exegesis] Refactor InstructionBenchmark to Benchmark
boomanaiden154 Mar 27, 2023
8d3a09d
[Docs][llvm-exegesis] Refactor snippet annotations in documentation
boomanaiden154 Mar 27, 2023
1c4fedf
[LoopVectorize] Don't tail-fold for scalable VFs when there is no sca…
david-arm Mar 15, 2023
9c4611f
[mlir] Implement pass utils for 1:N type conversions.
ingomueller-net Feb 21, 2023
eb68d9e
Merge commit '9c4611f9c7a7' into tiagot.FXML-1406.llvm_bump_120423
ttjost Apr 12, 2023
683817f
Fixes Unfuse.cpp pass after bump
ttjost Apr 14, 2023
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
  •  
  •  
  •  
11 changes: 7 additions & 4 deletions bolt/lib/Core/BinarySection.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,17 +39,20 @@ BinarySection::hash(const BinaryData &BD,
if (Itr != Cache.end())
return Itr->second;

Cache[&BD] = 0;
hash_code Hash =
hash_combine(hash_value(BD.getSize()), hash_value(BD.getSectionName()));

Cache[&BD] = Hash;

if (!containsRange(BD.getAddress(), BD.getSize()))
return Hash;

uint64_t Offset = BD.getAddress() - getAddress();
const uint64_t EndOffset = BD.getEndAddress() - getAddress();
auto Begin = Relocations.lower_bound(Relocation{Offset, 0, 0, 0, 0});
auto End = Relocations.upper_bound(Relocation{EndOffset, 0, 0, 0, 0});
const StringRef Contents = getContents();

hash_code Hash =
hash_combine(hash_value(BD.getSize()), hash_value(BD.getSectionName()));

while (Begin != End) {
const Relocation &Rel = *Begin++;
Hash = hash_combine(
Expand Down
10 changes: 10 additions & 0 deletions bolt/lib/Rewrite/RewriteInstance.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1050,6 +1050,16 @@ void RewriteInstance::discoverFileObjects() {
LLVM_DEBUG(dbgs() << "BOLT-DEBUG: considering symbol " << UniqueName
<< " for function\n");

if (Address == Section->getAddress() + Section->getSize()) {
assert(SymbolSize == 0 &&
"unexpect non-zero sized symbol at end of section");
LLVM_DEBUG(
dbgs()
<< "BOLT-DEBUG: rejecting as symbol points to end of its section\n");
registerName(SymbolSize);
continue;
}

if (!Section->isText()) {
assert(SymbolType != SymbolRef::ST_Function &&
"unexpected function inside non-code section");
Expand Down
83 changes: 83 additions & 0 deletions bolt/test/AArch64/Inputs/symbol-hashes.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_EXEC
Machine: EM_AARCH64
Entry: 0x90
ProgramHeaders:
- Type: PT_LOAD
Flags: [ PF_X, PF_R ]
FirstSec: .rodata
LastSec: .text
Align: 0x10000
Offset: 0x0
Sections:
- Name: .rodata
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC ]
Address: 0x78
AddressAlign: 0x1
Content: '7800000000000000'
- Name: .dummy
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC ]
Address: 0x80
AddressAlign: 0x1
Content: '78000000000000009000000000000000'
- Name: .text
Type: SHT_PROGBITS
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
Address: 0x90
AddressAlign: 0x4
Content: FF4300D11F2003D508FFFF10080140F9E80700F9A80B8052010000D4FF430091C0035FD6
- Name: .rela.text
Type: SHT_RELA
Flags: [ SHF_INFO_LINK ]
Link: .symtab
AddressAlign: 0x8
Info: .text
Relocations:
- Offset: 0x94
Symbol: Symbol
Type: R_AARCH64_ADR_GOT_PAGE
- Offset: 0x98
Symbol: Symbol
Type: R_AARCH64_LD64_GOT_LO12_NC
- Name: .rela.dummy
Type: SHT_RELA
Flags: [ SHF_INFO_LINK ]
Link: .symtab
AddressAlign: 0x8
Info: .dummy
Relocations:
- Offset: 0x80
Symbol: Symbol
Type: R_AARCH64_ABS64
- Offset: 0x88
Symbol: _start
Type: R_AARCH64_ABS64
Symbols:
- Name: tmp.c
Type: STT_FILE
Index: SHN_ABS
- Name: '$x.0'
Section: .text
Value: 0x90
- Name: '$d.1'
Index: SHN_ABS
- Name: .text
Type: STT_SECTION
Section: .text
Value: 0x90
- Name: _start
Type: STT_FUNC
Section: .text
Binding: STB_GLOBAL
Value: 0x90
Size: 0x24
- Name: Symbol
Section: .rodata
Binding: STB_GLOBAL
Value: 0x78
...
6 changes: 6 additions & 0 deletions bolt/test/AArch64/symbol-hashes.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// This test checks that we don't try to use symbols outside of section when
// generating symbol hashes

RUN: yaml2obj %p/Inputs/symbol-hashes.yaml -o %t.exe
RUN: llvm-bolt %t.exe -force-data-relocations -o %t.exe.bolt

29 changes: 29 additions & 0 deletions bolt/test/X86/section-end-sym.s
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
## Check that BOLT doesn't consider end-of-section symbols (e.g., _etext) as
## functions.

# REQUIRES: system-linux, asserts

# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-linux %s -o %t.o
# RUN: ld.lld %t.o -o %t.exe -q
# RUN: llvm-bolt %t.exe -o /dev/null --print-cfg --debug-only=bolt 2>&1 \
# RUN: | FileCheck %s

# CHECK: considering symbol etext for function
# CHECK-NEXT: rejecting as symbol points to end of its section
# CHECK-NOT: Binary Function "etext{{.*}}" after building cfg


.text
.globl _start
.type _start,@function
_start:
retq
.size _start, .-_start

.align 0x1000
.globl etext
etext:

.data
.Lfoo:
.word 0
82 changes: 54 additions & 28 deletions clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,11 @@ class UseAfterMoveFinder {
public:
UseAfterMoveFinder(ASTContext *TheContext);

// Within the given function body, finds the first use of 'MovedVariable' that
// Within the given code block, finds the first use of 'MovedVariable' that
// occurs after 'MovingCall' (the expression that performs the move). If a
// use-after-move is found, writes information about it to 'TheUseAfterMove'.
// Returns whether a use-after-move was found.
bool find(Stmt *FunctionBody, const Expr *MovingCall,
bool find(Stmt *CodeBlock, const Expr *MovingCall,
const ValueDecl *MovedVariable, UseAfterMove *TheUseAfterMove);

private:
Expand Down Expand Up @@ -104,7 +104,7 @@ static StatementMatcher inDecltypeOrTemplateArg() {
UseAfterMoveFinder::UseAfterMoveFinder(ASTContext *TheContext)
: Context(TheContext) {}

bool UseAfterMoveFinder::find(Stmt *FunctionBody, const Expr *MovingCall,
bool UseAfterMoveFinder::find(Stmt *CodeBlock, const Expr *MovingCall,
const ValueDecl *MovedVariable,
UseAfterMove *TheUseAfterMove) {
// Generate the CFG manually instead of through an AnalysisDeclContext because
Expand All @@ -118,12 +118,11 @@ bool UseAfterMoveFinder::find(Stmt *FunctionBody, const Expr *MovingCall,
Options.AddImplicitDtors = true;
Options.AddTemporaryDtors = true;
std::unique_ptr<CFG> TheCFG =
CFG::buildCFG(nullptr, FunctionBody, Context, Options);
CFG::buildCFG(nullptr, CodeBlock, Context, Options);
if (!TheCFG)
return false;

Sequence =
std::make_unique<ExprSequence>(TheCFG.get(), FunctionBody, Context);
Sequence = std::make_unique<ExprSequence>(TheCFG.get(), CodeBlock, Context);
BlockMap = std::make_unique<StmtToBlockMap>(TheCFG.get(), Context);
Visited.clear();

Expand Down Expand Up @@ -398,20 +397,28 @@ static void emitDiagnostic(const Expr *MovingCall, const DeclRefExpr *MoveArg,
}

void UseAfterMoveCheck::registerMatchers(MatchFinder *Finder) {
// try_emplace is a common maybe-moving function that returns a
// bool to tell callers whether it moved. Ignore std::move inside
// try_emplace to avoid false positives as we don't track uses of
// the bool.
auto TryEmplaceMatcher =
cxxMemberCallExpr(callee(cxxMethodDecl(hasName("try_emplace"))));
auto CallMoveMatcher =
callExpr(callee(functionDecl(hasName("::std::move"))), argumentCountIs(1),
callExpr(argumentCountIs(1), callee(functionDecl(hasName("::std::move"))),
hasArgument(0, declRefExpr().bind("arg")),
unless(inDecltypeOrTemplateArg()),
unless(hasParent(TryEmplaceMatcher)), expr().bind("call-move"),
anyOf(hasAncestor(compoundStmt(
hasParent(lambdaExpr().bind("containing-lambda")))),
hasAncestor(functionDecl().bind("containing-func"))),
unless(inDecltypeOrTemplateArg()),
// try_emplace is a common maybe-moving function that returns a
// bool to tell callers whether it moved. Ignore std::move inside
// try_emplace to avoid false positives as we don't track uses of
// the bool.
unless(hasParent(cxxMemberCallExpr(
callee(cxxMethodDecl(hasName("try_emplace")))))))
.bind("call-move");
hasAncestor(functionDecl(anyOf(
cxxConstructorDecl(
hasAnyConstructorInitializer(withInitializer(
expr(anyOf(equalsBoundNode("call-move"),
hasDescendant(expr(
equalsBoundNode("call-move")))))
.bind("containing-ctor-init"))))
.bind("containing-ctor"),
functionDecl().bind("containing-func"))))));

Finder->addMatcher(
traverse(
Expand All @@ -434,6 +441,10 @@ void UseAfterMoveCheck::registerMatchers(MatchFinder *Finder) {
}

void UseAfterMoveCheck::check(const MatchFinder::MatchResult &Result) {
const auto *ContainingCtor =
Result.Nodes.getNodeAs<CXXConstructorDecl>("containing-ctor");
const auto *ContainingCtorInit =
Result.Nodes.getNodeAs<Expr>("containing-ctor-init");
const auto *ContainingLambda =
Result.Nodes.getNodeAs<LambdaExpr>("containing-lambda");
const auto *ContainingFunc =
Expand All @@ -445,23 +456,38 @@ void UseAfterMoveCheck::check(const MatchFinder::MatchResult &Result) {
if (!MovingCall || !MovingCall->getExprLoc().isValid())
MovingCall = CallMove;

Stmt *FunctionBody = nullptr;
if (ContainingLambda)
FunctionBody = ContainingLambda->getBody();
else if (ContainingFunc)
FunctionBody = ContainingFunc->getBody();
else
return;

// Ignore the std::move if the variable that was passed to it isn't a local
// variable.
if (!Arg->getDecl()->getDeclContext()->isFunctionOrMethod())
return;

UseAfterMoveFinder Finder(Result.Context);
UseAfterMove Use;
if (Finder.find(FunctionBody, MovingCall, Arg->getDecl(), &Use))
emitDiagnostic(MovingCall, Arg, Use, this, Result.Context);
// Collect all code blocks that could use the arg after move.
llvm::SmallVector<Stmt *> CodeBlocks{};
if (ContainingCtor) {
CodeBlocks.push_back(ContainingCtor->getBody());
if (ContainingCtorInit) {
// Collect the constructor initializer expressions.
bool BeforeMove{true};
for (CXXCtorInitializer *Init : ContainingCtor->inits()) {
if (BeforeMove && Init->getInit()->IgnoreImplicit() ==
ContainingCtorInit->IgnoreImplicit())
BeforeMove = false;
if (!BeforeMove)
CodeBlocks.push_back(Init->getInit());
}
}
} else if (ContainingLambda) {
CodeBlocks.push_back(ContainingLambda->getBody());
} else if (ContainingFunc) {
CodeBlocks.push_back(ContainingFunc->getBody());
}

for (Stmt *CodeBlock : CodeBlocks) {
UseAfterMoveFinder Finder(Result.Context);
UseAfterMove Use;
if (Finder.find(CodeBlock, MovingCall, Arg->getDecl(), &Use))
emitDiagnostic(MovingCall, Arg, Use, this, Result.Context);
}
}

} // namespace clang::tidy::bugprone
Original file line number Diff line number Diff line change
Expand Up @@ -47,16 +47,19 @@ class AvoidUnderscoreInGoogletestNameCallback : public PPCallbacks {
if (!isGoogletestTestMacro(MacroName) || !Args ||
Args->getNumMacroArguments() < 2)
return;
const Token *TestCaseNameToken = Args->getUnexpArgument(0);
const Token *TestSuiteNameToken = Args->getUnexpArgument(0);
const Token *TestNameToken = Args->getUnexpArgument(1);
if (!TestCaseNameToken || !TestNameToken)
if (!TestSuiteNameToken || !TestNameToken)
return;
std::string TestCaseName = PP->getSpelling(*TestCaseNameToken);
if (TestCaseName.find('_') != std::string::npos)
Check->diag(TestCaseNameToken->getLocation(),
"avoid using \"_\" in test case name \"%0\" according to "
std::string TestSuiteNameMaybeDisabled =
PP->getSpelling(*TestSuiteNameToken);
StringRef TestSuiteName = TestSuiteNameMaybeDisabled;
TestSuiteName.consume_front(KDisabledTestPrefix);
if (TestSuiteName.contains('_'))
Check->diag(TestSuiteNameToken->getLocation(),
"avoid using \"_\" in test suite name \"%0\" according to "
"Googletest FAQ")
<< TestCaseName;
<< TestSuiteName;

std::string TestNameMaybeDisabled = PP->getSpelling(*TestNameToken);
StringRef TestName = TestNameMaybeDisabled;
Expand Down
26 changes: 16 additions & 10 deletions clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -235,19 +235,19 @@ void UseEqualsDefaultCheck::registerMatchers(MatchFinder *Finder) {

// Destructor.
Finder->addMatcher(
cxxDestructorDecl(unless(hasParent(IsUnionLikeClass)), isDefinition())
cxxDestructorDecl(isDefinition(), unless(ofClass(IsUnionLikeClass)))
.bind(SpecialFunction),
this);
// Constructor.
Finder->addMatcher(
cxxConstructorDecl(
unless(
hasParent(decl(anyOf(IsUnionLikeClass, functionTemplateDecl())))),
isDefinition(),
isDefinition(), unless(ofClass(IsUnionLikeClass)),
unless(hasParent(functionTemplateDecl())),
anyOf(
// Default constructor.
allOf(unless(hasAnyConstructorInitializer(isWritten())),
unless(isVariadic()), parameterCountIs(0),
IsPublicOrOutOfLineUntilCPP20),
allOf(parameterCountIs(0),
unless(hasAnyConstructorInitializer(isWritten())),
unless(isVariadic()), IsPublicOrOutOfLineUntilCPP20),
// Copy constructor.
allOf(isCopyConstructor(),
// Discard constructors that can be used as a copy
Expand All @@ -258,9 +258,9 @@ void UseEqualsDefaultCheck::registerMatchers(MatchFinder *Finder) {
this);
// Copy-assignment operator.
Finder->addMatcher(
cxxMethodDecl(unless(hasParent(
decl(anyOf(IsUnionLikeClass, functionTemplateDecl())))),
isDefinition(), isCopyAssignmentOperator(),
cxxMethodDecl(isDefinition(), isCopyAssignmentOperator(),
unless(ofClass(IsUnionLikeClass)),
unless(hasParent(functionTemplateDecl())),
// isCopyAssignmentOperator() allows the parameter to be
// passed by value, and in this case it cannot be
// defaulted.
Expand Down Expand Up @@ -299,6 +299,12 @@ void UseEqualsDefaultCheck::check(const MatchFinder::MatchResult &Result) {
if (!SpecialFunctionDecl->isCopyAssignmentOperator() && !Body->body_empty())
return;

// If body contain any preprocesor derictives, don't warn.
if (IgnoreMacros && utils::lexer::rangeContainsExpansionsOrDirectives(
Body->getSourceRange(), *Result.SourceManager,
Result.Context->getLangOpts()))
return;

// If there are comments inside the body, don't do the change.
bool ApplyFix = SpecialFunctionDecl->isCopyAssignmentOperator() ||
bodyEmpty(Result.Context, Body);
Expand Down
Loading