Commit
4abb5cd83902f1351db473c720ee0b95ebdcb338
by llvm-devCGBlocks.cpp - assert non-null CGF pointer. NFCI.
Fixes static analyzer warning.
|
 | clang/lib/CodeGen/CGBlocks.cpp |
Commit
aa1e15dda9e5941611f2183ba34087c2d02beb1a
by llvm-devTokenAnnotator.cpp - remove useless pointer null test. NFCI.
We dereference the Left pointer throughout the parseParens() function apart from this single case - just add an non-null assertion and drop the check.
Fixes clang static analayzer null dereference warning.
|
 | clang/lib/Format/TokenAnnotator.cpp |
Commit
439f5749d978acfa69f1a2d20c797c3fc0d97989
by llvm-dev[AST] ASTReader::ReadModuleMapFileBlock - assert non-null Module. NFCI.
At this stage the Module* shouldn't be null - add an assert to fix a clang static analyzer warning.
|
 | clang/lib/Serialization/ASTReader.cpp |
Commit
f5c7102dbc7223e98ce5c0f02b343ed92062987c
by sam.mccallUpdate dead links to Itanium and ARM ABIs. NFC
|
 | clang/lib/CodeGen/ItaniumCXXABI.cpp |
Commit
0a0abc0ede0ff8015e30aae89a3f89c7dc5b3f0f
by llvm-dev[Sema] isOpenMPCapturedDecl - assert we locate CapturedRegionScopeInfo. NFCI.
Fixes clang static analayzer null dereference warning.
|
 | clang/lib/Sema/SemaOpenMP.cpp |
Commit
1c421046d742102e7016567d41a9db6a1fb61906
by sam.parker[RDA] Fix getUniqueReachingDef for self loops
We've fixed the case where this could return an instruction after the given instruction, but also means that we can falsely return a 'unique' def when they could be one coming from the backedge of a loop.
Differential Revision: https://reviews.llvm.org/D87751
|
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/wrong-vctp-opcode-liveout.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/vctp-add-operand-liveout.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/wlstp.mir |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/wrong-vctp-operand-liveout.mir |
 | llvm/lib/CodeGen/ReachingDefAnalysis.cpp |
Commit
158989184e9c6bfec25cefe55022dd41894a54dd
by spatel[SLP] change poorly named variable; NFC
'V' shadows a function argument.
|
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
Commit
bbad998bab52a1eabbb6a1ca16cc2129b3f99aa5
by spatel[SLP] move loop index variable declaration to its use; NFC
|
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
Commit
0cee1bf5d17dd424c569df7e2604be10906bd515
by spatel[SLP] remove redundant size check; NFC
We bail out on small array size anyway.
|
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
Commit
6a23668e78b05703ccba552e09b09b8055924bb6
by spatel[SLP] remove uses of 'auto' that obscure functionality; NFC
|
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
Commit
3ce9ec0cfa9e3690df8a345636d6fa3e385610c3
by sam.parker[ARM] Reorder some logic
Re-order some checks in ValidateMVEInst.
|
 | llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp |
Commit
4dd9c709ef1b59f0ec8e71100c624ec946b95fe2
by mydeveloperday[clang-format] [NFC] Fix spelling mistake in the documentation
Ensure ClangFormatStyleOptions.rst can be regenerated from Format.h
Patch By: YangZhihui
Reviewed By: MyDeveloperDay
Differential Revision: https://reviews.llvm.org/D87352
|
 | clang/docs/ClangFormatStyleOptions.rst |
 | clang/include/clang/Format/Format.h |
Commit
24238f09edb98b0f460aa41139874ae5d4e5cd8d
by spatel[SLP] fix formatting; NFC
Also move variable declarations closer to usage and add code comments.
|
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
Commit
82687cf47b24a509ecd78e02fbc5666ba667ff4b
by paulAdd section with details about DAGs.
|
 | llvm/docs/TableGen/ProgRef.rst |
Commit
4341c6618decb4014a167bc83aeeed49ab49b34f
by a.bataev[OPENMP]Do not allow threadprivates as base for array-like reduction.
The base must be shared between the threads, threadprivates are not allowed to be bases for array-like reductions.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D85762
|
 | clang/test/OpenMP/parallel_reduction_messages.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
Commit
cb9528a0420e01caf7f3dc8288a11258fcf1425d
by flo[DSE] Add another test cases with loop carried dependence.
|
 | llvm/test/Transforms/DeadStoreElimination/MSSA/multiblock-loop-carried-dependence.ll |
Commit
855ec517a300daee6acb48474b6d3304c0914c60
by zinenko[mlir] Model StringRef in C API
Numerous MLIR functions return instances of `StringRef` to refer to a non-owning fragment of a string (usually owned by the context). This is a relatively simple class that is defined in LLVM. Provide a simple wrapper in the MLIR C API that contains the pointer and length of the string fragment and use it for Standard attribute functions that return StringRef instead of the previous, callback-based mechanism.
Reviewed By: stellaraccident
Differential Revision: https://reviews.llvm.org/D87677
|
 | mlir/include/mlir-c/StandardAttributes.h |
 | mlir/lib/CAPI/IR/CMakeLists.txt |
 | mlir/lib/CAPI/IR/StandardAttributes.cpp |
 | mlir/lib/CAPI/IR/Support.cpp |
 | mlir/include/mlir-c/Support.h |
 | mlir/test/CAPI/ir.c |
 | mlir/include/mlir/CAPI/Support.h |
 | mlir/lib/Bindings/Python/IRModules.cpp |
 | mlir/docs/CAPI.md |
Commit
01e2b394ee16502440dbbb5440502a1e2aaf1477
by flo[Partial Inliner] Compute intrinsic cost through TTI
https://bugs.llvm.org/show_bug.cgi?id=45932
assert(OutlinedFunctionCost >= Cloner.OutlinedRegionCost && "Outlined function cost should be no less than the outlined region") getting triggered in computeBBInlineCost.
Intrinsics like "assume" are considered regular function calls while computing costs. This patch enables computeBBInlineCost to queries TTI for intrinsic call cost.
Reviewed By: fhahn
Differential Revision: https://reviews.llvm.org/D87132
|
 | llvm/lib/Transforms/IPO/PartialInlining.cpp |
 | llvm/test/Transforms/PartialInlining/intrinsic-call-cost.ll |
Commit
8c0dc1e38b6c1a2d35c66ac4b0c1ccd616dd1685
by ntvEnable inlining for Linalg dialect
Enable inlining for Linalg dialect.
Differential Revision: https://reviews.llvm.org/D87567
|
 | mlir/lib/Dialect/Linalg/IR/LinalgTypes.cpp |
 | mlir/test/Dialect/Linalg/inlining.mlir |
Commit
d9953d155493bf11a2276e202800f844a1d02396
by clementval[mlir][openacc] Add missing operands for acc.parallel operation
Add missing operands to represent copin with readonly modifier, copyout with zero modifier, create with zero modifier and default clause.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D87733
|
 | mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td |
 | mlir/test/Dialect/OpenACC/ops.mlir |
 | mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp |
Commit
aa4b0b755a02d69f7f20fddf1d011b0f67a0d207
by llvm-dev[X86][SSE] Move VZEXT_MOVL(INSERT_SUBVECTOR(UNDEF,X,0)) handling into combineTargetShuffle.
Now that we're getting better at combining shuffles of different vector widths, this can now be performed as part of the standard target shuffle combines and isn't required for cleanup.
Exposed a minor issue in combineX86ShufflesRecursively where we failed to check if a shuffle's src ops were simple types.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
54bb9e86498010c631a40dbd82617c433beea712
by jay.foad[AMDGPU] Add -show-mc-encoding to setreg tests
This is a pre-commit for D87446 "[AMDGPU] Enable scheduling around FP MODE-setting instructions"
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.setreg.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.setreg.ll |
Commit
90777e2924ec7f99a3f1b718a636f47036012514
by jay.foad[AMDGPU] Enable scheduling around FP MODE-setting instructions
Pre-gfx10 all MODE-setting instructions were S_SETREG_B32 which is marked as having unmodeled side effects, which makes the machine scheduler treat it as a barrier. Now that we have proper implicit $mode operands we can use a no-side-effects S_SETREG_B32_mode pseudo instead for setregs that only touch the FP MODE bits, to give the scheduler more freedom.
Differential Revision: https://reviews.llvm.org/D87446
|
 | llvm/lib/Target/AMDGPU/SOPInstructions.td |
 | llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp |
 | llvm/test/CodeGen/AMDGPU/frem.ll |
 | llvm/lib/Target/AMDGPU/SIModeRegister.cpp |
 | llvm/lib/Target/AMDGPU/SIInstrInfo.cpp |
 | llvm/lib/Target/AMDGPU/SIFoldOperands.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.setreg.ll |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/fdiv-nofpexcept.ll |
Commit
cd4615120233c54034b42bafc3d2bcc9f29db63d
by llvm-dev[X86] Assert that we've found a terminator instruction. NFCI.
Fixes clang static analayzer null dereference warning.
|
 | llvm/lib/Target/X86/X86SpeculativeExecutionSideEffectSuppression.cpp |
Commit
833b3b0d3a2ff4b8243940eef1a960050ec48682
by sebastian.neubauer[AMDGPU] Add v3f16/v3i16 support to SDag
Fix lowering and instruction selection for v3x16 types and enable InstCombine to emit them.
This patch only implements it for the selection dag. GlobalISel tests in GlobalISel/llvm.amdgcn.image.load.1d.d16.ll and GlobalISel/llvm.amdgcn.image.store.2d.d16.ll still don't work.
Differential Revision: https://reviews.llvm.org/D84420
|
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.d16.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.d16.dim.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.d16.dim.ll |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp |
 | llvm/test/CodeGen/AMDGPU/image-load-d16-tfe.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.store.format.d16.ll |
 | llvm/lib/Target/AMDGPU/SIInstrInfo.td |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.store.format.d16.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.load.d16.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.format.d16.ll |
 | llvm/lib/Target/AMDGPU/BUFInstructions.td |
 | llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll |
 | llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tbuffer.store.d16.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.load.d16.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tbuffer.load.d16.ll |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.store.format.d16.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.format.d16.ll |
Commit
71131db6895430d1c027712677a99a573eb7545f
by arsenm2AMDGPU: Improve <2 x i24> arguments and return value handling
This was asserting for GlobalISel. For SelectionDAG, this was passing this on the stack. Instead, scalarize this as if it were a 32-bit vector.
|
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll |
 | llvm/test/CodeGen/AMDGPU/fshr.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll |
 | llvm/test/CodeGen/AMDGPU/call-return-types.ll |
 | llvm/test/CodeGen/AMDGPU/function-args.ll |
Commit
6e85c3d5c786f0d3878d7f79503e8641d1b7030b
by mtrofin[NFC][Regalloc] accessors for 'reg' and 'weight'
Also renamed the fields to follow style guidelines.
Accessors help with readability - weight mutation, in particular, is easier to follow this way.
Differential Revision: https://reviews.llvm.org/D87725
|
 | llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp |
 | llvm/lib/CodeGen/MachineVerifier.cpp |
 | llvm/lib/CodeGen/LiveRangeEdit.cpp |
 | llvm/lib/CodeGen/RegAllocPBQP.cpp |
 | llvm/lib/CodeGen/RegAllocBase.cpp |
 | llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp |
 | llvm/lib/CodeGen/LiveInterval.cpp |
 | llvm/lib/Target/AMDGPU/GCNRegBankReassign.cpp |
 | llvm/lib/CodeGen/SplitKit.cpp |
 | llvm/lib/Target/WebAssembly/WebAssemblyOptimizeLiveIntervals.cpp |
 | llvm/lib/CodeGen/RegisterCoalescer.cpp |
 | llvm/lib/CodeGen/TargetRegisterInfo.cpp |
 | llvm/lib/CodeGen/RegAllocBasic.cpp |
 | llvm/lib/CodeGen/RegAllocGreedy.cpp |
 | llvm/lib/CodeGen/InlineSpiller.cpp |
 | llvm/include/llvm/CodeGen/LiveRangeEdit.h |
 | llvm/lib/CodeGen/CalcSpillWeights.cpp |
 | llvm/lib/CodeGen/StackSlotColoring.cpp |
 | llvm/lib/CodeGen/LiveDebugVariables.cpp |
 | llvm/lib/CodeGen/LiveIntervalUnion.cpp |
 | llvm/lib/CodeGen/LiveIntervals.cpp |
 | llvm/lib/CodeGen/LiveRegMatrix.cpp |
 | llvm/lib/CodeGen/RenameIndependentSubregs.cpp |
 | llvm/lib/CodeGen/LiveIntervalCalc.cpp |
 | llvm/include/llvm/CodeGen/LiveInterval.h |
Commit
b2c931eff3cd6f88426ef26d233fab1fabaa0b7e
by llvm-dev[X86] EmitInstrWithCustomInserter - remove redundant getDebugLoc() calls. NFCI.
Use the same DebugLoc that is called at the top of the method.
Fixes some Wshadow static analyzer warnings.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
f0546173fa4bdde03ecb21a174fcaa8a6490adbd
by benny.kra[ASTMatchers] Add missing definition for decompositionDecl
Otherwise we'd get a linker error whenever decompositionDecl is ODR used.
|
 | clang/lib/ASTMatchers/ASTMatchersInternal.cpp |
Commit
06d058afecdf54021fbf8fece422dd04766227ea
by dmitry.preobrazhensky[AMDGPU] Corrected directive to use for ELF weak refs
WeakRefDirective should specify a directive to declare "a global as being a weak undefined symbol". The directive used by AMDGPU was incorrect - ".weakref" was intended for other purposes. The correct directive is ".weak" and it is already defined as default for ELF. So the redefinition was removed.
Reviewers: arsenm, rampitec
Differential Revision: https://reviews.llvm.org/D87762
|
 | llvm/test/CodeGen/AMDGPU/hsa-globals.ll |
 | llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp |
Commit
09c342493d89c2f32602f911e5c919742b837e10
by aeubanks[NPM] Translate alias analysis into require<> as well
'require<globals-aa>' is needed to make globals-aa work in NPM, since globals-aa is a module analysis but function passes cannot run module analyses on demand. So don't skip translating alias analyses to 'require<>'.
Reviewed By: asbirlea
Differential Revision: https://reviews.llvm.org/D87743
|
 | llvm/lib/Passes/PassBuilder.cpp |
 | llvm/test/Analysis/GlobalsModRef/no-escape.ll |
 | llvm/tools/opt/NewPMDriver.cpp |
Commit
15e9a6c2118fa3db2c80043e6679da5dcc72b3a7
by francesco.petrogalli[llvm][CodeGen] Do not scalarize `llvm.masked.[gather|scatter]` operating on scalable vectors.
This patch prevents the `llvm.masked.gather` and `llvm.masked.scatter` intrinsics to be scalarized when invoked on scalable vectors.
The change in `Function.cpp` is needed to prevent the warning that is raised when `getNumElements` is used in place of `getElementCount` on `VectorType` instances. The tests guards for regressions on this change.
The tests makes sure that calls to `llvm.masked.[gather|scatter]` are still scalarized when:
# the intrinsics are operating on fixed size vectors, and # the compiler is not targeting fixed length SVE code generation.
Reviewed By: efriedma, sdesmalen
Differential Revision: https://reviews.llvm.org/D86249
|
 | llvm/test/CodeGen/AArch64/llvm-masked-scatter-legal-for-sve.ll |
 | llvm/lib/IR/Function.cpp |
 | llvm/test/CodeGen/AArch64/llvm-masked-gather-legal-for-sve.ll |
 | llvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp |
Commit
cb64455faa36d6ac12759fa4ec4dd05847cb1b90
by jay.foad[AMDGPU] Remove obsolete comment
Obsoleted by e4464bf3d45848461630e3771d66546d389f1ed5 "AMDGPU/GlobalISel: Select scalar v2s16 G_BUILD_VECTOR"
|
 | llvm/lib/Target/AMDGPU/SIInstructions.td |
Commit
b5c3efeb7bc9861dc04a1b00a4c0183bdfa9b582
by sjoerd.meijer[ARM][MVE] Tail-predication: predicate new elementcount checks on force-enabled
Additional sanity checks were added to get.active.lane.mask's second argument, the loop tripcount/elementcount, in rG635b87511ec3. Like the other (overflow) checks, skip this if tail-predication is forced.
Differential Revision: https://reviews.llvm.org/D87769
|
 | llvm/lib/Target/ARM/MVETailPredication.cpp |
Commit
c27b64bbe1bf96642b5b1e0babde7886bb30c84f
by aeubanks[Coro][NewPM] Handle llvm.coro.prepare.retcon in NPM coro-split pass
Reviewed By: rjmccall
Differential Revision: https://reviews.llvm.org/D87731
|
 | llvm/test/Transforms/Coroutines/coro-retcon-frame.ll |
 | llvm/lib/Transforms/Coroutines/CoroSplit.cpp |
Commit
66df98945e08906ce4a057245fda81f631cfd3ae
by mascasa[libfuzzer] Reduce default verbosity when printing large mutation sequences
When using a custom mutator (e.g. thrift mutator, similar to LPM) that calls back into libfuzzer's mutations via `LLVMFuzzerMutate`, the mutation sequences needed to achieve new coverage can get prohibitively large.
Printing these large sequences has two downsides:
1) It makes the logs hard to understand for a human. 2) The performance cost slows down fuzzing.
In this patch I change the `PrintMutationSequence` function to take a max number of entries, to achieve this goal. I also update `PrintStatusForNewUnit` to default to printing only 10 entries, in the default verbosity level (1), requiring the user to set verbosity to 2 if they want the full mutation sequence.
For our use case, turning off verbosity is not an option, as that would also disable `PrintStats()` which is very useful for infrastructure that analyzes the logs in realtime. I imagine most users of libfuzzer always want those logs in the default.
I built a fuzzer locally with this patch applied to libfuzzer.
When running with the default verbosity, I see logs like this:
#65 NEW cov: 4799 ft: 10443 corp: 41/1447Kb lim: 64000 exec/s: 1 rss: 575Mb L: 28658/62542 MS: 196 Custom-CrossOver-ChangeBit-EraseBytes-ChangeBit-ChangeBit-ChangeBit-CrossOver-ChangeBit-CrossOver- DE: "\xff\xff\xff\x0e"-"\xfe\xff\xff\x7f"-"\xfe\xff\xff\x7f"-"\x17\x00\x00\x00\x00\x00\x00\x00"-"\x00\x00\x00\xf9"-"\xff\xff\xff\xff"-"\xfa\xff\xff\xff"-"\xf7\xff\xff\xff"-"@\xff\xff\xff\xff\xff\xff\xff"-"E\x00"- #67 NEW cov: 4810 ft: 10462 corp: 42/1486Kb lim: 64000 exec/s: 1 rss: 577Mb L: 39823/62542 MS: 135 Custom-CopyPart-ShuffleBytes-ShuffleBytes-ChangeBit-ChangeBinInt-EraseBytes-ChangeBit-ChangeBinInt-ChangeBit- DE: "\x01\x00\x00\x00\x00\x00\x01\xf1"-"\x00\x00\x00\x07"-"\x00\x0d"-"\xfd\xff\xff\xff"-"\xfe\xff\xff\xf4"-"\xe3\xff\xff\xff"-"\xff\xff\xff\xf1"-"\xea\xff\xff\xff"-"\x00\x00\x00\xfd"-"\x01\x00\x00\x05"-
Staring hard at the logs it's clear that the cap of 10 is applied.
When running with verbosity level 2, the logs look like the below:
#66 NEW cov: 4700 ft: 10188 corp: 37/1186Kb lim: 64000 exec/s: 2 rss: 509Mb L: 47616/61231 MS: 520 Custom-CopyPart-ChangeBinInt-ChangeBit-ChangeByte-EraseBytes-PersAutoDict-CopyPart-ShuffleBytes-ChangeBit-ShuffleBytes-CopyPart-EraseBytes-CopyPart-ChangeBinInt-CopyPart-ChangeByte-ShuffleBytes-ChangeBinInt-ShuffleBytes-ChangeBit-CMP-ShuffleBytes-ChangeBit-CrossOver-ChangeBinInt-ChangeByte-ShuffleBytes-CrossOver-EraseBytes-ChangeBinInt-InsertRepeatedBytes-PersAutoDict-InsertRepeatedBytes-InsertRepeatedBytes-CrossOver-ChangeByte-ShuffleBytes-CopyPart-ShuffleBytes-CopyPart-CrossOver-ChangeBit-ShuffleBytes-CrossOver-PersAutoDict-ChangeByte-ChangeBit-ShuffleBytes-CrossOver-ChangeByte-EraseBytes-CopyPart-ChangeBinInt-PersAutoDict-CrossOver-ShuffleBytes-CrossOver-CrossOver-EraseBytes-CrossOver-EraseBytes-CrossOver-ChangeBit-ChangeBinInt-ChangeByte-EraseBytes-ShuffleBytes-ShuffleBytes-ChangeBit-EraseBytes-ChangeBinInt-ChangeBit-ChangeBinInt-CopyPart-EraseBytes-PersAutoDict-EraseBytes-CopyPart-ChangeBinInt-ChangeByte-CrossOver-ChangeBinInt-ShuffleBytes-PersAutoDict-PersAutoDict-ChangeBinInt-CopyPart-ChangeBinInt-CrossOver-ChangeBit-ChangeBinInt-CopyPart-ChangeByte-ChangeBit-CopyPart-CrossOver-ChangeByte-ChangeBit-ChangeByte-ShuffleBytes-CMP-ChangeBit-CopyPart-ChangeBit-ChangeByte-ChangeBinInt-PersAutoDict-ChangeBinInt-CrossOver-ChangeBinInt-ChangeBit-ChangeBinInt-ChangeBinInt-PersAutoDict-ChangeBinInt-ChangeBinInt-ChangeByte-CopyPart-ShuffleBytes-ChangeByte-ChangeBit-ChangeByte-ChangeByte-EraseBytes-CrossOver-ChangeByte-ChangeByte-EraseBytes-EraseBytes-InsertRepeatedBytes-ShuffleBytes-CopyPart-CopyPart-ChangeBit-ShuffleBytes-PersAutoDict-ShuffleBytes-ChangeBit-ChangeByte-ChangeBit-ShuffleBytes-ChangeByte-ChangeBinInt-CrossOver-ChangeBinInt-ChangeBit-EraseBytes-CopyPart-ChangeByte-CrossOver-EraseBytes-CrossOver-ChangeByte-ShuffleBytes-ChangeByte-ChangeBinInt-CrossOver-ChangeByte-InsertRepeatedBytes-InsertByte-ShuffleBytes-PersAutoDict-ChangeBit-ChangeByte-ChangeBit-ShuffleBytes-ShuffleBytes-CopyPart-ShuffleBytes-EraseBytes-ShuffleBytes-ShuffleBytes-CrossOver-ChangeBinInt-CopyPart-CopyPart-CopyPart-EraseBytes-EraseBytes-ChangeByte-ChangeBinInt-ShuffleBytes-CMP-InsertByte-EraseBytes-ShuffleBytes-CopyPart-ChangeBit-CrossOver-CopyPart-CopyPart-ShuffleBytes-ChangeByte-ChangeByte-ChangeBinInt-EraseBytes-ChangeByte-ChangeBinInt-ChangeBit-ChangeBit-ChangeByte-ShuffleBytes-PersAutoDict-PersAutoDict-CMP-ChangeBit-ShuffleBytes-PersAutoDict-ChangeBinInt-EraseBytes-EraseBytes-ShuffleBytes-ChangeByte-ShuffleBytes-ChangeBit-EraseBytes-CMP-ShuffleBytes-ChangeByte-ChangeBinInt-EraseBytes-ChangeBinInt-ChangeByte-EraseBytes-ChangeByte-CrossOver-ShuffleBytes-EraseBytes-EraseBytes-ShuffleBytes-ChangeBit-EraseBytes-CopyPart-ShuffleBytes-ShuffleBytes-CrossOver-CopyPart-ChangeBinInt-ShuffleBytes-CrossOver-InsertByte-InsertByte-ChangeBinInt-ChangeBinInt-CopyPart-EraseBytes-ShuffleBytes-ChangeBit-ChangeBit-EraseBytes-ChangeByte-ChangeByte-ChangeBinInt-CrossOver-ChangeBinInt-ChangeBinInt-ShuffleBytes-ShuffleBytes-ChangeByte-ChangeByte-ChangeBinInt-ShuffleBytes-CrossOver-EraseBytes-CopyPart-CopyPart-CopyPart-ChangeBit-ShuffleBytes-ChangeByte-EraseBytes-ChangeByte-InsertRepeatedBytes-InsertByte-InsertRepeatedBytes-PersAutoDict-EraseBytes-ShuffleBytes-ChangeByte-ShuffleBytes-ChangeBinInt-ShuffleBytes-ChangeBinInt-ChangeBit-CrossOver-CrossOver-ShuffleBytes-CrossOver-CopyPart-CrossOver-CrossOver-CopyPart-ChangeByte-ChangeByte-CrossOver-ChangeBit-ChangeBinInt-EraseBytes-ShuffleBytes-EraseBytes-CMP-PersAutoDict-PersAutoDict-InsertByte-ChangeBit-ChangeByte-CopyPart-CrossOver-ChangeByte-ChangeBit-ChangeByte-CopyPart-ChangeBinInt-EraseBytes-CrossOver-ChangeBit-CrossOver-PersAutoDict-CrossOver-ChangeByte-CrossOver-ChangeByte-ChangeByte-CrossOver-ShuffleBytes-CopyPart-CopyPart-ShuffleBytes-ChangeByte-ChangeByte-ChangeBinInt-ChangeBinInt-ChangeBinInt-ChangeBinInt-ShuffleBytes-CrossOver-ChangeBinInt-ShuffleBytes-ChangeBit-PersAutoDict-ChangeBinInt-ShuffleBytes-ChangeBinInt-ChangeByte-CrossOver-ChangeBit-CopyPart-ChangeBit-ChangeBit-CopyPart-ChangeByte-PersAutoDict-ChangeBit-ShuffleBytes-ChangeByte-ChangeBit-CrossOver-ChangeByte-CrossOver-ChangeByte-CrossOver-ChangeBit-ChangeByte-ChangeBinInt-PersAutoDict-CopyPart-ChangeBinInt-ChangeBit-CrossOver-ChangeBit-PersAutoDict-ShuffleBytes-EraseBytes-CrossOver-ChangeByte-ChangeBinInt-ShuffleBytes-ChangeBinInt-InsertRepeatedBytes-PersAutoDict-CrossOver-ChangeByte-Custom-PersAutoDict-CopyPart-CopyPart-ChangeBinInt-ShuffleBytes-ChangeBinInt-ChangeBit-ShuffleBytes-CrossOver-CMP-ChangeByte-CopyPart-ShuffleBytes-CopyPart-CopyPart-CrossOver-CrossOver-CrossOver-ShuffleBytes-ChangeByte-ChangeBinInt-ChangeBit-ChangeBit-ChangeBit-ChangeByte-EraseBytes-ChangeByte-ChangeBit-ChangeByte-ChangeByte-CopyPart-PersAutoDict-ChangeBinInt-PersAutoDict-PersAutoDict-PersAutoDict-CopyPart-CopyPart-CrossOver-ChangeByte-ChangeBinInt-ShuffleBytes-ChangeBit-CopyPart-EraseBytes-CopyPart-CopyPart-CrossOver-ChangeByte-EraseBytes-ShuffleBytes-ChangeByte-CopyPart-EraseBytes-CopyPart-CrossOver-ChangeBinInt-ChangeBinInt-InsertByte-ChangeBinInt-ChangeBit-ChangeByte-CopyPart-ChangeByte-EraseBytes-ChangeByte-ChangeBit-ChangeByte-ShuffleBytes-CopyPart-ChangeBinInt-EraseBytes-CrossOver-ChangeBit-ChangeBit-CrossOver-EraseBytes-ChangeBinInt-CopyPart-CopyPart-ChangeBinInt-ChangeBit-EraseBytes-InsertRepeatedBytes-EraseBytes-ChangeBit-CrossOver-CrossOver-EraseBytes-EraseBytes-ChangeByte-CopyPart-CopyPart-ShuffleBytes-ChangeByte-ChangeBit-ChangeByte-EraseBytes-ChangeBit-ChangeByte-ChangeByte-CrossOver-CopyPart-EraseBytes-ChangeByte-EraseBytes-ChangeByte-ShuffleBytes-ShuffleBytes-ChangeByte-CopyPart-ChangeByte-ChangeByte-ChangeBit-CopyPart-ChangeBit-ChangeBinInt-CopyPart-ShuffleBytes-ChangeBit-ChangeBinInt-ChangeBit-EraseBytes-CMP-CrossOver-CopyPart-ChangeBinInt-CrossOver-CrossOver-CopyPart-CrossOver-CrossOver-InsertByte-InsertByte-CopyPart-Custom- DE: "warn"-"\x00\x00\x00\x80"-"\xfe\xff\xff\xfb"-"\xff\xff"-"\x10\x00\x00\x00"-"\xfe\xff\xff\xff"-"\xff\xff\xff\xf6"-"U\x01\x00\x00\x00\x00\x00\x00"-"\xd9\xff\xff\xff"-"\xfe\xff\xff\xea"-"\xf0\xff\xff\xff"-"\xfc\xff\xff\xff"-"warn"-"\xff\xff\xff\xff"-"\xfe\xff\xff\xfb"-"\x00\x00\x00\x80"-"\xfe\xff\xff\xf1"-"\xfe\xff\xff\xea"-"\x00\x00\x00\x00\x00\x00\x012"-"\xe2\x00"-"\xfb\xff\xff\xff"-"\x00\x00\x00\x00"-"\xe9\xff\xff\xff"-"\xff\xff"-"\x00\x00\x00\x80"-"\x01\x00\x04\xc9"-"\xf0\xff\xff\xff"-"\xf9\xff\xff\xff"-"\xff\xff\xff\xff\xff\xff\xff\x12"-"\xe2\x00"-"\xfe\xff\xff\xff"-"\xfe\xff\xff\xea"-"\xff\xff\xff\xff"-"\xf4\xff\xff\xff"-"\xe9\xff\xff\xff"-"\xf1\xff\xff\xff"- #48 NEW cov: 4502 ft: 9151 corp: 27/750Kb lim: 64000 exec/s: 2 rss: 458Mb L: 50772/50772 MS: 259 ChangeByte-ShuffleBytes-ChangeBinInt-ChangeByte-ChangeByte-ChangeByte-ChangeByte-ChangeBit-CopyPart-CrossOver-CopyPart-ChangeByte-CrossOver-CopyPart-ChangeBit-ChangeByte-EraseBytes-ChangeByte-CopyPart-CopyPart-CopyPart-ChangeBit-EraseBytes-ChangeBinInt-CrossOver-CopyPart-CrossOver-CopyPart-ChangeBit-ChangeByte-ChangeBit-InsertByte-CrossOver-InsertRepeatedBytes-InsertRepeatedBytes-InsertRepeatedBytes-ChangeBinInt-EraseBytes-InsertRepeatedBytes-InsertByte-ChangeBit-ShuffleBytes-ChangeBit-ChangeBit-CopyPart-ChangeBit-ChangeByte-CrossOver-ChangeBinInt-ChangeByte-CrossOver-CMP-ChangeByte-CrossOver-ChangeByte-ShuffleBytes-ShuffleBytes-ChangeByte-ChangeBinInt-CopyPart-EraseBytes-CrossOver-ChangeBit-ChangeBinInt-InsertByte-ChangeBit-CopyPart-ChangeBinInt-ChangeByte-CrossOver-ChangeBit-EraseBytes-CopyPart-ChangeBinInt-ChangeBit-ChangeBit-ChangeByte-CopyPart-ChangeBinInt-CrossOver-PersAutoDict-ChangeByte-ChangeBit-ChangeByte-ChangeBinInt-ChangeBinInt-EraseBytes-CopyPart-CopyPart-ChangeByte-ChangeByte-EraseBytes-PersAutoDict-CopyPart-ChangeByte-ChangeByte-EraseBytes-CrossOver-CopyPart-CopyPart-CopyPart-ChangeByte-ChangeBit-CMP-CopyPart-ChangeBinInt-ChangeBinInt-CrossOver-ChangeBit-ChangeBit-EraseBytes-ChangeByte-ShuffleBytes-ChangeBit-ChangeBinInt-CMP-InsertRepeatedBytes-CopyPart-Custom-ChangeByte-CrossOver-EraseBytes-ChangeBit-CopyPart-CrossOver-CMP-ShuffleBytes-EraseBytes-CrossOver-PersAutoDict-ChangeByte-CrossOver-CopyPart-CrossOver-CrossOver-ShuffleBytes-ChangeBinInt-CrossOver-ChangeBinInt-ShuffleBytes-PersAutoDict-ChangeByte-EraseBytes-ChangeBit-CrossOver-EraseBytes-CrossOver-ChangeBit-ChangeBinInt-EraseBytes-InsertByte-InsertRepeatedBytes-InsertByte-InsertByte-ChangeByte-ChangeBinInt-ChangeBit-CrossOver-ChangeByte-CrossOver-EraseBytes-ChangeByte-ShuffleBytes-ChangeBit-ChangeBit-ShuffleBytes-CopyPart-ChangeByte-PersAutoDict-ChangeBit-ChangeByte-InsertRepeatedBytes-CMP-CrossOver-ChangeByte-EraseBytes-ShuffleBytes-CrossOver-ShuffleBytes-ChangeBinInt-ChangeBinInt-CopyPart-PersAutoDict-ShuffleBytes-ChangeBit-CopyPart-ShuffleBytes-CopyPart-EraseBytes-ChangeByte-ChangeBit-ChangeBit-ChangeBinInt-ChangeByte-CopyPart-EraseBytes-ChangeBinInt-EraseBytes-EraseBytes-PersAutoDict-CMP-PersAutoDict-CrossOver-CrossOver-ChangeBit-CrossOver-PersAutoDict-CrossOver-CopyPart-ChangeByte-EraseBytes-ChangeByte-ShuffleBytes-ChangeByte-ChangeByte-CrossOver-ChangeBit-EraseBytes-ChangeByte-EraseBytes-ChangeBinInt-CrossOver-CrossOver-EraseBytes-ChangeBinInt-CrossOver-ChangeBit-ShuffleBytes-ChangeBit-ChangeByte-EraseBytes-ChangeBit-CrossOver-CrossOver-CrossOver-ChangeByte-ChangeBit-ShuffleBytes-ChangeBit-ChangeBit-EraseBytes-CrossOver-CrossOver-CopyPart-ShuffleBytes-ChangeByte-ChangeByte-CopyPart-CrossOver-CopyPart-CrossOver-CrossOver-EraseBytes-EraseBytes-ShuffleBytes-InsertRepeatedBytes-ChangeBit-CopyPart-Custom- DE: "\xfe\xff\xff\xfc"-"\x00\x00\x00\x00"-"F\x00"-"\xf3\xff\xff\xff"-"St9exception"-"_\x00\x00\x00"-"\xf6\xff\xff\xff"-"\xfe\xff\xff\xff"-"\x00\x00\x00\x00"-"p\x02\x00\x00\x00\x00\x00\x00"-"\xfe\xff\xff\xfb"-"\xff\xff"-"\xff\xff\xff\xff"-"\x01\x00\x00\x07"-"\xfe\xff\xff\xfe"-
These are prohibitively large and of limited value in the default case (when someone is running the fuzzer, not debugging it), in my opinion.
Reviewed By: morehouse
Differential Revision: https://reviews.llvm.org/D86658
|
 | compiler-rt/lib/fuzzer/FuzzerMutate.cpp |
 | compiler-rt/test/fuzzer/fuzzer-custommutator.test |
 | compiler-rt/lib/fuzzer/FuzzerLoop.cpp |
 | compiler-rt/test/fuzzer/CustomMutatorWithLongSequencesTest.cpp |
 | compiler-rt/lib/fuzzer/FuzzerMutate.h |
Commit
4cff1b40dacf6a5489b09657d94ea4757b8cd3b0
by elizabeth.andrewsDo not apply calling conventions to MSVC entry points
Fix link error for MSVC entry points when calling conventions are specified. MSVC entry points should have default calling convention.
Differential Revision: https://reviews.llvm.org/D87701
|
 | clang/test/CodeGenCXX/default_calling_conv.cpp |
 | clang/lib/Sema/SemaDecl.cpp |
Commit
8d8a496356dbdf4fcc17caa69fe489d8d87068ac
by Matthew.ArsenaultLocalStackSlotAllocation: Swap order of check
|
 | llvm/lib/CodeGen/LocalStackSlotAllocation.cpp |
Commit
deae5e567d65c49c40abc99d5ad53855c9872d5b
by Matthew.ArsenaultAMDGPU: Add baseline test for incorrect SP access
|
 | llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll |
Commit
367248956e93982a73c0441868a562aeb85af5a0
by Matthew.ArsenaultAMDGPU: Clear offset register when using local stack area
eliminateFrameIndex won't fix up the offset register when the direct frame index reference is moved to a separate move instruction. Switch the offset to a base 0 (which it probably should be to begin with).
|
 | llvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll |
 | llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll |
Commit
e47d2927de79767663f0a0ece0581522fbe40ac4
by rnkInclude (Type|Symbol)Record.h less
Most clients only need CVType and CVSymbol, not structs for every type and symbol. Move CVSymbol and CVType to CVRecord.h to accomplish this. Update some of the common headers that need CVSymbol and CVType to use the new location.
|
 | llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h |
 | llvm/include/llvm/DebugInfo/CodeView/DebugSymbolsSubsection.h |
 | llvm/include/llvm/DebugInfo/CodeView/TypeStreamMerger.h |
 | llvm/include/llvm/DebugInfo/CodeView/TypeRecordHelpers.h |
 | llvm/include/llvm/DebugInfo/CodeView/CVRecord.h |
 | llvm/include/llvm/DebugInfo/CodeView/CodeViewRecordIO.h |
 | llvm/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h |
 | llvm/include/llvm/DebugInfo/CodeView/SymbolRecordHelpers.h |
 | llvm/include/llvm/DebugInfo/CodeView/RecordName.h |
 | llvm/include/llvm/DebugInfo/PDB/Native/TpiStream.h |
 | llvm/include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h |
 | llvm/include/llvm/DebugInfo/CodeView/SymbolDumper.h |
 | llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp |
 | llvm/unittests/DebugInfo/CodeView/TypeHashingTest.cpp |
 | llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h |
 | llvm/include/llvm/DebugInfo/CodeView/TypeCollection.h |
 | llvm/include/llvm/DebugInfo/CodeView/CVSymbolVisitor.h |
Commit
738c73a454881ca78214816754c1b82941d0cd26
by Matthew.ArsenaultRegAllocFast: Make self loop live-out heuristic more aggressive
This currently has no impact on code, but prevents sizeable code size regressions after D52010. This prevents spilling and reloading all values inside blocks that loop back. Add a baseline test which would regress without this patch.
|
 | llvm/lib/CodeGen/RegAllocFast.cpp |
 | llvm/test/CodeGen/AMDGPU/fastregalloc-self-loop-heuristic.mir |
Commit
39faf428164a28f3652370958ce893d9200927c8
by Louis Dionne[libc++] Ensure streams are initialized early
When statically linking libc++ on some systems, the streams are not initialized early enough, which causes all kinds of issues. This was reported e.g. in http://llvm.org/PR28954, but also in various open source projects that use libc++.
Fixes http://llvm.org/PR28954.
Differential Revision: https://reviews.llvm.org/D31413
|
 | libcxx/src/iostream.cpp |
 | libcxx/test/std/input.output/iostream.objects/init.pass.cpp |
Commit
f9e6d1edc0dad9afb26e773aa125ed62c58f7080
by anhtuyenRe-land: Add new hidden option -print-changed which only reports changes to IR
A new hidden option -print-changed is added along with code to support printing the IR as it passes through the opt pipeline in the new pass manager. Only those passes that change the IR are reported, with others only having the banner reported, indicating that they did not change the IR, were filtered out or ignored. Filtering of output via the -filter-print-funcs is supported and a new supporting hidden option -filter-passes is added. The latter takes a comma separated list of pass names and filters the output to only show those passes in the list that change the IR. The output can also be modified via the -print-module-scope function.
The code introduces a template base class that generalizes the comparison of IRs that takes an IR representation as template parameter. The constructor takes a series of lambdas that provide an event based API for generalized reporting of IRs as they are changed in the opt pipeline through the new pass manager.
The first of several instantiations is provided that prints the IR in a form similar to that produced by -print-after-all with the above mentioned filtering capabilities. This version, and the others to follow will be introduced at the upcoming developer's conference.
Reviewed By: aeubanks (Arthur Eubanks), yrouban (Yevgeny Rouban), ychen (Yuanfang Chen)
Differential Revision: https://reviews.llvm.org/D86360
|
 | llvm/lib/Passes/StandardInstrumentations.cpp |
 | llvm/include/llvm/Passes/StandardInstrumentations.h |
 | llvm/test/Other/change-printer.ll |
 | llvm/lib/IR/LegacyPassManager.cpp |
Commit
50f4c7c785da87679fac1f483ef6a3e53dfca37a
by i[llvm-nm] Use aggregate initialization instead of memset zero
|
 | llvm/tools/llvm-nm/llvm-nm.cpp |
Commit
b011611e373c3d6dfddde5120ce7974cc8719d4a
by spatel[SLP] add tests for reduction ordering; NFC
|
 | llvm/test/Transforms/SLPVectorizer/X86/compare-reduce.ll |
Commit
c6a82fdbf2ea691fdaf70fb07ae1f61d8452e1ac
by llvm-devValueEnumerator.cpp - remove duplicate includes. NFCI.
Remove headers already included in ValueEnumerator.h
|
 | llvm/lib/Bitcode/Writer/ValueEnumerator.cpp |
Commit
69682f993cc0545da30be32fab572a2a56074653
by llvm-devInterferenceCache.cpp - remove duplicate includes. NFCI.
Remove headers already included in InterferenceCache.h
|
 | llvm/lib/CodeGen/InterferenceCache.cpp |
Commit
73d02064d2533daecf6fe82b8608da8f6eed59a5
by llvm-devraw_ostream.cpp - remove duplicate includes. NFCI.
Remove headers already included in raw_ostream.h
|
 | llvm/lib/Support/raw_ostream.cpp |
Commit
8f7d6b2375618a79f621d5484e44870ede335a13
by llvm-devDwarfUnit.h - remove unnecessary includes. NFCI.
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp |
 | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h |
Commit
c4e589b7954c4e202474ce4a2101f07014792835
by mkitzan[GISel] Add new combines for unary FP instrs with constant operand
https://reviews.llvm.org/D86393
Patch adds five new `GICombinerRules`, one for each of the following unary FP instrs: `G_FNEG`, `G_FABS`, `G_FPTRUNC`, `G_FSQRT`, and `G_FLOG2`. The combine rules perform the FP operation on the constant operand and replace the original instr with the result. Patch additionally adds new combiner tests for the AArch64 target to test these new combiner rules.
|
 | llvm/include/llvm/Target/GlobalISel/Combine.td |
 | llvm/test/CodeGen/AArch64/GlobalISel/combine-fsqrt.mir |
 | llvm/lib/CodeGen/LowLevelType.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/combine-fabs.mir |
 | llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h |
 | llvm/include/llvm/CodeGen/LowLevelType.h |
 | llvm/test/CodeGen/AArch64/GlobalISel/combine-flog2.mir |
 | llvm/test/CodeGen/AArch64/GlobalISel/combine-fptrunc.mir |
 | llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/combine-fneg.mir |
Commit
ebf267b87d4b557dff488f87f66df3628e3da957
by zequanwu[Sema][MSVC] warn at dynamic_cast/typeid when /GR- is given
Differential Revision: https://reviews.llvm.org/D86369
|
 | clang/lib/Sema/SemaExprCXX.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/test/SemaCXX/no-rtti-data.cpp |
 | clang/include/clang/Basic/DiagnosticGroups.td |
 | clang/test/SemaCXX/ms-no-rtti-data.cpp |
 | clang/lib/Sema/SemaCast.cpp |
Commit
f3c2e0bcee64b0905addaefe9cd0c9ad4d20ac6f
by mascasa[libFuzzer] Enable entropic by default.
Entropic has performed at least on par with vanilla scheduling on Clusterfuzz, and has shown a slight coverage improvement on FuzzBench: https://www.fuzzbench.com/reports/2020-08-31/index.html
Reviewed By: Dor1s
Differential Revision: https://reviews.llvm.org/D87476
|
 | compiler-rt/test/fuzzer/keep-seed.test |
 | compiler-rt/lib/fuzzer/FuzzerOptions.h |
 | compiler-rt/lib/fuzzer/FuzzerFlags.def |
 | compiler-rt/test/fuzzer/cross_over_uniform_dist.test |
 | compiler-rt/lib/fuzzer/FuzzerDriver.cpp |
Commit
77a01d9498a79d2e6e3f366fdb363928f188ec11
by Saleem AbdulrasoolSema: add support for `__attribute__((__swift_bridge__))`
This extends semantic analysis of attributes for Swift interoperability by introducing the `swift_bridge` attribute. This attribute enables bridging Objective-C types to Swift specific types.
This is based on the work of the original changes in https://github.com/llvm/llvm-project-staging/commit/8afaf3aad2af43cfedca7a24cd817848c4e95c0c
Differential Revision: https://reviews.llvm.org/D87532 Reviewed By: Aaron Ballman
|
 | clang/test/SemaObjC/attr-swift_bridge.m |
 | clang/include/clang/Basic/Attr.td |
 | clang/include/clang/Basic/AttrDocs.td |
 | clang/test/AST/attr-swift_bridge.m |
 | clang/lib/Sema/SemaDeclAttr.cpp |
Commit
4d437348d24d6342bdeb3ad84a64e57a889a0ea2
by zequanwufix test no-rtti.cpp
|
 | clang/test/SemaCXX/no-rtti.cpp |
Commit
4d4f0922837de3f1aa9862ae8a8d941b3b6e5f78
by michael.hliao[clang][codegen] Skip adding default function attributes on intrinsics.
- After loading builtin bitcode for linking, skip adding default function attributes on LLVM intrinsics as their attributes are well-defined and retrieved directly from internal definitions. Adding extra attributes on intrinsics results in inconsistent result when `-save-temps` is present. Also, that makes few optimizations conservative.
Differential Revision: https://reviews.llvm.org/D87761
|
 | clang/test/CodeGenCUDA/Inputs/device-lib-code.ll |
 | clang/lib/CodeGen/CodeGenAction.cpp |
 | clang/test/CodeGenCUDA/dft-func-attr-skip-intrinsic.hip |
Commit
6ad33d8360335143ef50e7f7b66ae1ce17aaa2a5
by Amara Emerson[AArch64][GlobalISel] Make G_BUILD_VECTOR os <16 x s8> legal.
|
 | llvm/test/CodeGen/AArch64/GlobalISel/legalize-build-vector.mir |
 | llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp |
Commit
b3d33f5e838f8a181feb391fc96e74e3bb6be110
by thakis[gn build] make "all" target build
If you want to build everything, building the default target via just `ninja` is better, but `ninja all` shouldn't give you compile errors -- this fixes that.
|
 | llvm/utils/gn/secondary/compiler-rt/lib/scudo/BUILD.gn |
Commit
88bdcbbf1aaef6ac99877cc511bf4b2a85343773
by Matthew.ArsenaultGlobalISel: Lift store value widening restriction
This doesn't change the memory size and doesn't need to worry about non-power-of-2 sizes.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir |
 | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store.mir |
Commit
14e55f82980cf1342d4d3eea4885a5375e829496
by rahmanl[obj2yaml] - Match ".stack_size" with the original section name, and not the uniquified name.
Without this patch, obj2yaml decodes the content of only one ".stack_size" section. Other sections are dumped with their full contents.
Reviewed By: grimar, MaskRay
Differential Revision: https://reviews.llvm.org/D87727
|
 | llvm/tools/obj2yaml/elf2yaml.cpp |
 | llvm/test/tools/obj2yaml/ELF/stack-sizes.yaml |
Commit
f723d193e2c92ea6903e3debfee32b13354808bc
by jinghamAdd '<' meta command to read in code from external file
Perform all error handling in ReadCode()
Add :help text describing “< path”, add extra line before Commands
Differential Revision: https://reviews.llvm.org/D87640
|
 | lldb/source/Expression/REPL.cpp |
Commit
dbde3969ba8e2b396333dc6b139a0b3a88dfbc80
by johannes[UpdateTestChecks][NFC] Fix spelling
|
 | llvm/utils/UpdateTestChecks/common.py |
Commit
6a02932becaeaeb02eddfaed567f3dad3719dd1c
by johannes[OpenMP][FIX] Do not crash trying to print a missing (demangled) user condition
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D85875
|
 | clang/test/AST/ast-dump-openmp-begin-declare-variant_13.c |
 | clang/lib/AST/OpenMPClause.cpp |
Commit
05fd04eda4b22b09e33753132cbf037a1265c7e2
by johannes[OpenMP][FIX] Do not drop a '$' while demangling declare variant names
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D85876
|
 | clang/test/AST/ast-dump-openmp-declare-variant-extensions.c |
 | clang/lib/AST/OpenMPClause.cpp |
Commit
5c63ae156e96a20ce96570d4bd2c48a9c8170a9d
by johannes[OpenMP] Support nested OpenMP context selectors (declare variant)
Due to `omp begin/end declare variant`, OpenMP context selectors can be nested. This patch adds initial support for this so we can use it for target math variants. We should improve the detection of "equivalent" scores and user conditions, we should also revisit the data structures of the OMPTraitInfo object, however, both are not pressing issues right now.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D85877
|
 | clang/lib/Parse/ParseOpenMP.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/include/clang/Sema/Sema.h |
 | clang/include/clang/Parse/Parser.h |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/test/AST/ast-dump-openmp-begin-declare-variant_nested.c |
 | clang/test/OpenMP/declare_variant_messages.c |
 | clang/include/clang/Basic/DiagnosticParseKinds.td |
Commit
c4b7a1da9d872ed075ce99c80a90b11a135577a0
by johannes[OpenMP] Context selector extensions for return value overloading
This extension allows to declare variants in between `omp begin/end declare variant` that do not match the type of the existing function with that name. Without this extension we would not find a base function (with a compatible type), therefore create a new one, which would cause conflicting declarations. With this extension we will not create "missing" base functions, which basically renders these specializations harmless. They will be generated but never called.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D85878
|
 | clang/include/clang/Basic/AttrDocs.td |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/test/AST/ast-dump-openmp-begin-declare-variant-varying-return.c |
 | llvm/include/llvm/Frontend/OpenMP/OMPKinds.def |
 | clang/include/clang/AST/OpenMPClause.h |
 | clang/lib/Parse/ParseOpenMP.cpp |
Commit
97652202d1e6964d5d7a1c03a257452c7ad95233
by johannes[OpenMP] Overload `std::isnan` and friends multiple times for the GPU
`std::isnan` and friends can be found in two variants in the wild, one returns `bool`, as the standard defines it, one returns `int`, as the C macros do. So far we kinda hoped the system versions of these functions will work for people, e.g. they are definitions that can be compiled for the target. We know that is not the case always so we leverage the `disable_implicit_base` OpenMP context extension to specialize both versions of these functions without causing an invalid redeclaration.
Reviewed By: JonChesterfield, tra
Differential Revision: https://reviews.llvm.org/D85879
|
 | clang/test/Headers/Inputs/include/cmath |
 | clang/test/Headers/openmp_device_math_isnan.cpp |
 | clang/lib/Headers/__clang_cuda_cmath.h |
Commit
5c1084e8840b02d410ba125cbba466465242d820
by johannes[OpenMP] Context selector extensions for template functions
With this extension the effects of `omp begin declare variant` will be applied to template function declarations. The behavior is opt-in and controlled by the `extension(allow_templates)` trait. While generally useful, this will enable us to implement complex math function calls by overloading the templates of the standard library with the ones in libc++.
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D85735
|
 | clang/include/clang/Sema/Sema.h |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp |
 | llvm/include/llvm/Frontend/OpenMP/OMPKinds.def |
 | clang/lib/Headers/openmp_wrappers/cmath |
 | clang/test/AST/ast-dump-openmp-begin-declare-variant_template_2.cpp |
 | clang/lib/Parse/ParseOpenMP.cpp |
 | clang/include/clang/Basic/AttrDocs.td |
 | clang/lib/Sema/SemaDecl.cpp |
Commit
56069b5c71ca78749aa983c1e9de6f1e4c049f4b
by johannes[OpenMP] Support `std::complex` math functions in target regions
The last (big) missing piece to get "math" working in OpenMP target regions (that I know of) was complex math functions, e.g., `std::sin(std::complex<double>)`. With this patch we overload the system template functions for these operations with versions that have been distilled from `libcxx/include/complex`. We use the same `omp begin/end declare variant` mechanism we use for other math functions before, except that we this time overload templates (via D85735).
Reviewed By: JonChesterfield
Differential Revision: https://reviews.llvm.org/D85777
|
 | clang/lib/Headers/openmp_wrappers/complex_cmath.h |
 | clang/lib/Headers/openmp_wrappers/complex |
 | clang/lib/Headers/CMakeLists.txt |
 | clang/test/Headers/Inputs/include/type_traits |
 | clang/test/Headers/Inputs/include/complex |
 | clang/test/Headers/nvptx_device_math_complex.cpp |
Commit
91f503c3af190e19974f8832871e363d232cd64c
by Stanislav.Mekhanoshin[AMDGPU] gfx1030 RT support
Differential Revision: https://reviews.llvm.org/D87782
|
 | llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp |
 | llvm/include/llvm/IR/IntrinsicsAMDGPU.td |
 | llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp |
 | llvm/lib/Target/AMDGPU/SIAddIMGInit.cpp |
 | llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/test/MC/AMDGPU/gfx1030_new.s |
 | llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp |
 | llvm/lib/Target/AMDGPU/MIMGInstructions.td |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll |
 | llvm/test/MC/Disassembler/AMDGPU/gfx1030_dasm_new.txt |
 | llvm/test/MC/AMDGPU/gfx1011_err.s |
Commit
f80f2516a2697218eeb7af80de3b13c38f342987
by rahmanlRevert "[obj2yaml] - Match ".stack_size" with the original section name, and not the uniquified name."
This reverts commit 14e55f82980cf1342d4d3eea4885a5375e829496.
|
 | llvm/tools/obj2yaml/elf2yaml.cpp |
 | llvm/test/tools/obj2yaml/ELF/stack-sizes.yaml |
Commit
2240ca0bd1502d7baa098da7cb4aca64a6f979d4
by Abhina.Sreeskantharajan[SystemZ][z/OS] Set aligned allocation unavailable by default for z/OS
Aligned allocation is not supported on z/OS. This patch sets -faligned-alloc-unavailable as default in z/OS toolchain.
Reviewed By: abhina.sreeskantharajan, hubert.reinterpretcast
Differential Revision: https://reviews.llvm.org/D87611
|
 | clang/lib/Sema/SemaExprCXX.cpp |
 | clang/include/clang/Basic/Attr.td |
 | clang/test/Driver/unavailable_aligned_allocation.cpp |
 | clang/test/Lexer/aligned-allocation.cpp |
 | clang/lib/Driver/ToolChains/ZOS.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/lib/Basic/Targets/OSTargets.h |
 | clang/include/clang/Basic/AlignedAllocation.h |
 | clang/test/SemaCXX/unavailable_aligned_allocation.cpp |
 | clang/lib/Driver/ToolChains/ZOS.h |
Commit
15c378f6e641f34bb9fd3582f9cb83ff686101dc
by thakis[gn build] unconfuse sync script about "sources = []" in clang/lib/Headers/BUILD.gn
|
 | llvm/utils/gn/build/sync_source_lists_from_cmake.py |
Commit
6859d95ea2d0f3fe0de2923a3f642170e66a1a14
by michael.hliaoFix build.
|
 | llvm/lib/Passes/StandardInstrumentations.cpp |