Commit
b051cc932782998764d2d297bda1e9a18469a1ce
by Louis Dionne[NFC][libc++] Refactor some future tests to reduce code duplication
The same test was being repeated over and over again. That's what functions are for.
|
 | libcxx/test/std/thread/futures/futures.unique_future/wait.pass.cpp |
 | libcxx/test/std/thread/futures/futures.unique_future/wait_for.pass.cpp |
Commit
3cefebc3fe1e962983fc2c8a06dc7fca074678ce
by ajcbik[mlir] [VectorOps] Add vector.print to EDSC
Summary: This prepares using the operation in model builder runner.
Reviewers: nicolasvasilache, andydavis1
Reviewed By: nicolasvasilache
Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D75147
|
 | mlir/include/mlir/Dialect/VectorOps/EDSC/Intrinsics.h |
Commit
5bf0023b0d706bb8817f1e58145996cccc2f2c58
by qcolombet[GISel][KnownBits] Update a comment regarding the effect of cache on PHIs
Unlike what I claimed in my previous commit. The caching is actually not NFC on PHIs.
When we put a big enough max depth, we end up simulating loops. The cache is effectively cutting the simulation short and we get less information as a result. E.g., ``` v0 = G_CONSTANT i8 0xC0 jump v1 = G_PHI i8 v0, v2 v2 = G_LSHR i8 v1, 1 ```
Let say we want the known bits of v1. - With cache: Set v1 cache to we know nothing v1 is v0 & v2 v0 gives us 0xC0 v2 gives us known bits of v1 >> 1 v1 is in the cache => v1 is 0, thus v2 is 0x80 Finally v1 is v0 & v2 => 0x80
- Without cache and enough depth to do two iteration of the loop: v1 is v0 & v2 v0 gives us 0xC0 v2 gives us known bits of v1 >> 1 v1 is v0 & v2 v0 is 0xC0 v2 is v1 >> 1 Reach the max depth for v1... unwinding v1 is know nothing v2 is 0x80 v0 is 0xC0 v1 is 0x80 v2 is 0xC0 v0 is 0xC0 v1 is 0xC0
Thus now v1 is 0xC0 instead of 0x80.
I've added a unittest demonstrating that.
NFC
|
 | llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp |
 | llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp |
Commit
0e480b39c66143ad142f9a30d8d40e49d7d7b0ce
by thakisRevert "[libTooling] Add function to determine associated text of a declaration."
This reverts commit 9c54f6154f748e707ad2385ddf6d66e812890c6a. Breaks two tests on Windows, see e.g. http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/14505/steps/stage%201%20check/logs/stdio
|
 | clang/unittests/Tooling/SourceCodeTest.cpp |
 | clang/include/clang/Tooling/Transformer/SourceCode.h |
 | clang/lib/Tooling/Transformer/SourceCode.cpp |
Commit
828fb0c51ad63369c1ab6350a4e8e9f941f25831
by Adrian PrantlFix a null dereference in the LLDB data formatters.
|
 | llvm/utils/lldbDataFormatters.py |
Commit
b7aa1cc3a43db83560edb59dcbde7bd5e03683fe
by Lang Hames[ORC] Remove the JITDylib::SymbolTableEntry::isInMaterializingState() method.
It was being used inconsistently. Uses have been replaced with direct checks on the symbol state.
|
 | llvm/include/llvm/ExecutionEngine/Orc/Core.h |
 | llvm/lib/ExecutionEngine/Orc/Core.cpp |
 | llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp |
Commit
28d38a25e963f43cd9f392617ff14ff5cb40a8c6
by zoecarverRemove std::shared_ptr::allocate_shared
std::shared_ptr::allocate_shared isn't in the standard. This commit removes it from libc++. It updates std::allocate_shared to use __create_with_cntrl_block.
Differential Revision: https://reviews.llvm.org/D66178
|
 | libcxx/include/memory |
Commit
735d27dc4065219478a7d314f835961f8517c658
by craig.topper[SelectionDAG][PowerPC][AArch64][X86][ARM] Add chain input and output the ISD::FLT_ROUNDS_
This node reads the rounding control which means it needs to be ordered properly with operations that change the rounding control. So it needs to be chained to maintain order.
This patch adds a chain input and output to the node and connects it to the chain in SelectionDAGBuilder. I've update all in-tree targets to connect their chain through their lowering code.
Differential Revision: https://reviews.llvm.org/D75132
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/lib/Target/PowerPC/PPCInstrInfo.td |
 | llvm/test/CodeGen/X86/flt-rounds.ll |
 | llvm/include/llvm/CodeGen/ISDOpcodes.h |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/include/llvm/IR/IntrinsicsAArch64.td |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
Commit
5517d3b80b136b4afc7097147397d03bb840403a
by mmoroz[compiler-rt] Fix a typo in a comment in FuzzedDataProvider.h.
|
 | compiler-rt/include/fuzzer/FuzzedDataProvider.h |
Commit
8a310f40d0a325daf0c81af204c93adc3e885d10
by rnkRemove namespace lld { namespace coff { from COFF LLD cpp files
Instead, use `using namespace lld(::coff)`, and fully qualify the names of free functions where they are defined in cpp files.
This effectively reverts d79c3be618 to follow the new style guide added in 236fcbc21a7a8872.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D74882
|
 | lld/COFF/InputFiles.cpp |
 | lld/COFF/LTO.cpp |
 | lld/COFF/Writer.cpp |
 | lld/COFF/DebugTypes.cpp |
 | lld/COFF/PDB.cpp |
 | lld/COFF/MapFile.cpp |
 | lld/COFF/MinGW.cpp |
Commit
b653ab0e70196420086a7ba16596533f533b3d1f
by n.james93[docs] dump-ast-matchers removes const from Matcher args and handles template functions slightly better
Reviewers: aaron.ballman, gribozavr2, joerg
Reviewed By: aaron.ballman
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D75113
|
 | clang/docs/LibASTMatchersReference.html |
 | clang/docs/tools/dump_ast_matchers.py |
Commit
6fb70c87251708af8fc27b501fd79e26162f7e65
by maskray[Analysis] Fix -Wrange-loop-analysis after D69876
|
 | clang/lib/Analysis/UninitializedValues.cpp |
Commit
d0c4277d388628154b647a45cbc6914a1ea5a822
by maskray[MC][ARM] Don't create multiple .ARM.exidx associated to one .text
Fixed an issue exposed by D74006.
In clang cc1as, MCContext::UseNamesOnTempLabels is true. When parsing a .fnstart directive, FnStart gets redefined to a temporary symbol of a different name (.Ltmp0, .Ltmp1, ...). MCContext::getELFSection() called by SwitchToEHSection() will create a different .ARM.exidx each time.
llvm-mc uses `Ctx.setUseNamesOnTempLabels(false);` and FnStart is unnamed. MCContext::getELFSection() called by SwitchToEHSection() will reuse the same .ARM.exidx .
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D75095
|
 | llvm/lib/MC/MCContext.cpp |
 | llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp |
Commit
b61a4aaca5f8a1e71eeaee74d93cdd6fccbef065
by maskray[MC] Default MCContext::UseNamesOnTempLabels to false and only set it to true for MCAsmStreamer
Only MCAsmStreamer (assembly output) needs to keep names of temporary labels created by MCContext::createTempSymbol().
This change made the rL236642 optimization available for cc2as and probably some other users.
This eliminates a behavior difference between llvm-mc -filetype=obj and cc1as, which caused https://reviews.llvm.org/D74006#1890487
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D75097
|
 | llvm/tools/llvm-mc/llvm-mc.cpp |
 | llvm/include/llvm/MC/MCContext.h |
 | llvm/lib/CodeGen/LLVMTargetMachine.cpp |
 | llvm/tools/llvm-ml/llvm-ml.cpp |
 | llvm/lib/MC/MCAsmStreamer.cpp |
Commit
b083d7a3460d28884a1e2f7dae5a93465cd1099e
by shkzhang[PowerPC] Fix the unexpected modification caused by D62993 in LowerSELECT_CC for power9
Summary: The patch D62993 : `[PowerPC] Emit scalar min/max instructions with unsafe fp math` has modified the functionality when `Subtarget.hasP9Vector() && (!HasNoInfs || !HasNoNaNs)`, this modification is not expected.
Reviewed By: nemanjai
Differential Revision: https://reviews.llvm.org/D74701
|
 | llvm/test/CodeGen/PowerPC/scalar-equal.ll |
 | llvm/test/CodeGen/PowerPC/scalar_cmp.ll |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
Commit
181628b52d390f2136fb5a63fe644d230a9b822d
by aqjune[SimpleLoopUnswitch] Fix introduction of UB when hoisted condition may be undef or poison
Summary: Loop unswitch hoists branches on loop-invariant conditions. However, if this condition is poison/undef and the branch wasn't originally reachable, loop unswitch introduces UB (since the optimized code will branch on poison/undef and the original one didn't)). We fix this problem by freezing the condition to ensure we don't introduce UB.
We will now transform the following: while (...) { if (C) { A } else { B } }
Into: C' = freeze(C) if (C') { while (...) { A } } else { while (...) { B } }
This patch fixes the root cause of the following bug reports (which use the old loop unswitch, but can be reproduced with minor changes in the code and -enable-nontrivial-unswitch): - https://llvm.org/bugs/show_bug.cgi?id=27506 - https://llvm.org/bugs/show_bug.cgi?id=31652
Reviewers: reames, majnemer, chenli, sanjoy, hfinkel
Reviewed By: reames
Subscribers: hiraditya, jvesely, nhaehnle, filcab, regehr, trentxintong, nlopes, llvm-commits, mzolotukhin
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D29015
|
 | llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp |
 | llvm/test/Transforms/SimpleLoopUnswitch/exponential-nontrivial-unswitch-nested.ll |
 | llvm/test/Transforms/SimpleLoopUnswitch/exponential-nontrivial-unswitch-nested2.ll |
 | llvm/test/Transforms/SimpleLoopUnswitch/guards.ll |
 | llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch-cost.ll |
 | llvm/test/Transforms/SimpleLoopUnswitch/nontrivial-unswitch.ll |
 | llvm/test/Transforms/SimpleLoopUnswitch/exponential-switch-unswitch.ll |
Commit
2f6cc21f44ec9f1c3196555d2ac95dd96c48903f
by gclaytonAdd a llvm-gsymutil tool that can convert object files to GSYM and perform lookups.
Summary: This patch creates the llvm-gsymutil binary that can convert object files to GSYM using the --convert <path> option. It can also dump and lookup addresses within GSYM files that have been saved to disk.
To dump a file:
llvm-gsymutil /path/to/a.gsym
To perform address lookups, like with atos, on GSYM files:
llvm-gsymutil --address 0x1000 --address 0x1100 /path/to/a.gsym
To convert a mach-o or ELF file, including any DWARF debug info contained within the object files:
llvm-gsymutil --convert /path/to/a.out --out-file /path/to/a.out.gsym
Conversion highlights: - convert DWARF debug info in mach-o or ELF files to GSYM - convert symbols in symbol table to GSYM and don't convert symbols that overlap with DWARF debug info - extract UUID from object files - extract .text (read + execute) section address ranges and filter out any DWARF or symbols that don't fall in those ranges. - if .text sections are extracted, and if the last gsym::FunctionInfo object has no size, cap the size to the end of the section the function was contained in
Dumping GSYM files will dump all sections of the GSYM file in textual format.
Reviewers: labath, aadsm, serhiy.redko, jankratochvil, xiaobai, wallace, aprantl, JDevlieghere, jdoerfert
Subscribers: mgorny, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D74883
|
 | llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp |
 | llvm/lib/DebugInfo/GSYM/LookupResult.cpp |
 | llvm/tools/llvm-gsym/llvm-gsymutil.cpp |
 | llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h |
 | llvm/lib/DebugInfo/GSYM/CMakeLists.txt |
 | llvm/lib/DebugInfo/GSYM/GsymReader.cpp |
 | llvm/tools/llvm-gsym/CMakeLists.txt |
 | llvm/include/llvm/DebugInfo/GSYM/Range.h |
 | llvm/test/tools/llvm-gsymutil/fat-macho-dwarf.yaml |
 | llvm/include/llvm/DebugInfo/GSYM/GsymReader.h |
 | llvm/test/tools/llvm-gsymutil/mach-dwarf.yaml |
 | llvm/include/llvm/DebugInfo/GSYM/ObjectFileTransformer.h |
 | llvm/lib/DebugInfo/GSYM/Range.cpp |
 | llvm/test/tools/llvm-gsymutil/elf-dwarf.yaml |
 | llvm/lib/DebugInfo/GSYM/ObjectFileTransformer.cpp |
 | llvm/test/tools/llvm-gsymutil/cmdline.test |
 | llvm/lib/DebugInfo/GSYM/GsymCreator.cpp |
Commit
f6603aed59c6a80cbcb026ea41fbbeeca2d4e0ff
by tclin914[ARC][NFC] Remove trailing space
|
 | llvm/lib/Target/ARC/ARCRegisterInfo.td |
 | llvm/lib/Target/ARC/ARCInstrFormats.td |
 | llvm/lib/Target/ARC/ARCInstrInfo.td |
Commit
1cb7ec870dc5c6b3900bfc832b910010dfac772b
by aqjune[SimpleLoopUnswitch] Canonicalize variable names
|
 | llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp |
Commit
61f538d37b80eb589f8990f0b4513d702704ea38
by michael.hliaoAdd missing dependency to fix shared library build.
|
 | llvm/lib/DebugInfo/GSYM/LLVMBuild.txt |
Commit
d00900801aae04e6dfde7eb4ca2811d9a6887cf8
by sgueltonRemove no un-necessary require for load_extension.ll
Local testing on OSX no longer exhibit the linking error mentioned in https://reviews.llvm.org/D71959#1860286
|
 | llvm/test/Feature/load_extension.ll |
Commit
da236f235028c82c2f0e00eea1f6f9c689bcae4a
by kadircetStrip preceeding -Xclang when stripping -fcolor-diagnostics or -fdiagnostics-color
Summary: Fixes https://github.com/clangd/clangd/issues/279. We were removing the color options but not the preceeding -Xclang which causes errors since the -Xclang would now apply to the next option in the list of options. Now, when removing a color option, we check if there was a preceeding -Xclang and remove it as well.
Patch By @DaanDeMeyer !
Reviewers: sammccall, kadircet
Reviewed By: sammccall
Subscribers: ilya-biryukov, usaxena95
Differential Revision: https://reviews.llvm.org/D75019
|
 | clang/lib/Tooling/ArgumentsAdjusters.cpp |
Commit
34d0e1bd6d05ee11f638ca085f4755e75e18adfc
by hokein.wu[clangd] Expose the rename LimitFiles option to the C++ API, NFC.
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D74834
|
 | clang-tools-extra/clangd/ClangdLSPServer.cpp |
 | clang-tools-extra/clangd/refactor/Rename.h |
 | clang-tools-extra/clangd/ClangdServer.h |
 | clang-tools-extra/clangd/unittests/ClangdTests.cpp |
 | clang-tools-extra/clangd/ClangdLSPServer.h |
 | clang-tools-extra/clangd/tool/ClangdMain.cpp |
 | clang-tools-extra/clangd/ClangdServer.cpp |
 | clang-tools-extra/clangd/refactor/Rename.cpp |
 | clang-tools-extra/clangd/unittests/SyncAPI.cpp |
 | clang-tools-extra/clangd/unittests/SyncAPI.h |
 | clang-tools-extra/clangd/unittests/RenameTests.cpp |
Commit
4feca71df0ca96237342d0e3ef41e3cdbfa0e27c
by hokein.wuFix the clangd-fuzzer build error.
|
 | clang-tools-extra/clangd/fuzzer/clangd-fuzzer.cpp |
Commit
d4eca120ac0af2a805c19301412bf843a71c14b5
by pavel[lldb/gdb-remote] Add support for the qOffsets packet
Summary: This packet is necessary to make lldb work with the remote-gdb stub in user mode qemu when running position-independent binaries. It reports the relative position (load bias) of the loaded executable wrt. the addresses in the file itself.
Lldb needs to know this information in order to correctly set the load address of the executable. Normally, lldb would be able to find this out on its own by following the breadcrumbs in the process auxiliary vector, but we can't do this here because qemu does not support the qXfer:auxv:read packet.
This patch does not implement full scope of the qOffsets packet (it only supports packets with identical code, data and bss offsets), because it is not fully clear how should the different offsets be handled and I am not aware of a producer which would make use of this feature (qemu will always <https://github.com/qemu/qemu/blob/master/linux-user/elfload.c#L2436> return the same value for code and data offsets). In fact, even gdb ignores the offset for the bss sections, and uses the "data" offset instead. So, until the we need more of this packet, I think it's best to stick to the simplest solution possible. This patch simply rejects replies with non-uniform offsets.
Reviewers: clayborg, jasonmolenda
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D74598
|
 | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp |
 | lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp |
 | lldb/test/API/functionalities/gdb_remote_client/qOffsets.yaml |
 | lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h |
 | lldb/test/API/functionalities/gdb_remote_client/TestqOffsets.py |
 | lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp |
 | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h |
 | lldb/test/API/functionalities/gdb_remote_client/gdbclientutils.py |
Commit
e058667a2e017d3225a9bb067dbac7f2159576f7
by sgueltonSupport -fuse-ld=lld for riscv
Add a configure feature test to filter out tests that explicitly depend on platform linker.
Differential Revision: https://reviews.llvm.org/D74704
|
 | clang/lib/Driver/ToolChains/RISCVToolchain.cpp |
 | clang/test/Driver/riscv32-toolchain.c |
 | clang/test/Driver/riscv64-toolchain.c |
 | clang/test/lit.site.cfg.py.in |
Commit
19c664f71e887111298e49e416511f8be7b2b15f
by sgueltonFix typo in clang lit config
Typo introduced in e058667a2e017d3225a9bb067dbac7f2159576f7
|
 | clang/test/lit.site.cfg.py.in |
Commit
80d7e473e0b3920ba7b36f834337fa8aa94c95a2
by jay.foadAMDGPU: Fix some incorrect FUNC-LABEL checks
|
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.add.gfx10.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.swizzle.ll |
 | llvm/test/CodeGen/AMDGPU/shl_add_constant.ll |
 | llvm/test/CodeGen/AMDGPU/unaligned-load-store.ll |
 | llvm/test/CodeGen/AMDGPU/fptrunc.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sffbh.ll |
 | llvm/test/CodeGen/AMDGPU/uitofp.f16.ll |
 | llvm/test/CodeGen/AMDGPU/fdiv.f16.ll |
 | llvm/test/CodeGen/AMDGPU/sitofp.f16.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.bpermute.ll |
Commit
190707f60e8da3b802a31e35e60c78246204fb93
by james.henderson[docs][llvm-symbolizer] Fix --functions description
"--functions none" and "--functions=none" are not the same. One is the option "--functions" with its default value of "linkage", followed by an input address of "none", and the other is "--functions" with the value "none". This patch fixes the doc to match the actual behaviour by adding an extra '=' sign in the allowed values description.
|
 | llvm/docs/CommandGuide/llvm-symbolizer.rst |
Commit
6b74745c0645bd584cc4ce35b62f4064719687a5
by james.henderson[docs][llvm-symbolizer] Fix indentation of inline option examples
The examples for different options were inconsistently indented in the HTML display. As they are tied to the options, this change normalises to indent them the same as the option description body.
|
 | llvm/docs/CommandGuide/llvm-symbolizer.rst |
Commit
974bce3eddcaced5efd772d01ec8a90d7fa21c10
by james.henderson[docs][llvm-objcopy][llvm-strip] Move --wildcard description earlier
This moves it above the response file description, which should be at the end.
|
 | llvm/docs/CommandGuide/llvm-strip.rst |
 | llvm/docs/CommandGuide/llvm-objcopy.rst |
Commit
a059be72c4f72b5be8d789eece60d53f3f6b9041
by flo[AArch64] Flip default for register renaming in the ld/st optimizier.
Turn on register renaming again after disabling it for the 10.0 release, to help flushing out any issues.
|
 | llvm/test/CodeGen/AArch64/machine-outliner-remarks.ll |
 | llvm/test/CodeGen/AArch64/stp-opt-with-renaming.mir |
 | llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp |
Commit
1d06e75df2a332edae972876e0e2b08dca3ba925
by sam.parker[ARM][RDA] add getUniqueReachingMIDef
Add getUniqueReachingMIDef to RDA which performs a global search for a machine instruction that produces a unique definition of a given register at a given point. Also add two helper functions (getMIOperand) that wrap around this functionality to get the incoming definition uses of a given instruction. These now replace the uses of getReachingMIDef in ARMLowOverheadLoops. getReachingMIDef has been renamed to getReachingLocalMIDef and has been made private along with getInstFromId.
Differential Revision: https://reviews.llvm.org/D74605
|
 | llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp |
 | llvm/lib/CodeGen/ReachingDefAnalysis.cpp |
 | llvm/include/llvm/CodeGen/ReachingDefAnalysis.h |