Commit
53539bb032d162e0147c0e9650a5d1c7ca77dae0
by akhuang[DebugInfo] Add another level to DebugInfoKind called Constructor The option will limit debug info by only emitting complete class type information when its constructor is emitted. This patch changes comparisons with LimitedDebugInfo to use the new level instead. Differential Revision: https://reviews.llvm.org/D72427
|
 | clang/lib/CodeGen/CGStmtOpenMP.cpp |
 | clang/include/clang/Basic/DebugInfoOptions.h |
 | clang/lib/CodeGen/CodeGenModule.cpp |
 | clang/include/clang/Basic/CodeGenOptions.h |
 | clang/lib/CodeGen/CGStmt.cpp |
 | clang/lib/CodeGen/CGDebugInfo.cpp |
 | clang/lib/CodeGen/CGDecl.cpp |
 | clang/lib/CodeGen/CodeGenFunction.cpp |
 | clang/lib/CodeGen/CGBlocks.cpp |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/lib/Frontend/CompilerInvocation.cpp |
Commit
9b92e4fbdb5bc4fdd21702e0ce104dfcac6a54a7
by riverriddle[mlir] Add support for attaching a visibility to symbols. Summary: The visibility defines the structural reachability of the symbol within the IR. Symbols can define one of three visibilities: * Public The symbol \may be accessed from outside of the visible IR. We cannot assume that we can observe all of the uses of this symbol. * Private The symbol may only be referenced from within the operations in the current symbol table, via SymbolRefAttr. * Nested The symbol may be referenced by operations in symbol tables above the current symbol table, as long as each symbol table parent also defines a non-private symbol. This allows or referencing the symbol from outside of the defining symbol table, while retaining the ability for the compiler to see all uses. These properties help to reason about the properties of a symbol, and will be used in a follow up to implement a dce pass on dead symbols. A few examples of what this would look like in the IR are shown below: module @public_module { // This function can be accessed by 'live.user' func @nested_function() attributes { sym_visibility = "nested" } // This function cannot be accessed outside of 'public_module' func @private_function() attributes { sym_visibility = "private" } } // This function can only be accessed from within this module. func @private_function() attributes { sym_visibility = "private" } // This function may be referenced externally. func @public_function() "live.user"() {uses = [@public_module::@nested_function, @private_function, @public_function]} : () -> () Depends On D72043 Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D72044
|
 | mlir/lib/IR/SymbolTable.cpp |
 | mlir/lib/IR/Module.cpp |
 | mlir/test/IR/traits.mlir |
 | mlir/test/lib/TestDialect/TestOps.td |
 | mlir/include/mlir/IR/SymbolTable.h |
Commit
03edd6d6a693e5bc7b0df488c4d4901cc55d3566
by riverriddle[mlir] NFC: Remove unused variable.
|
 | mlir/test/lib/IR/TestSymbolUses.cpp |
Commit
989bed989a41732d1b70314bd9063ccd6e74fe5c
by richardRe-enable testing of .s tests under test/CodeGen/X86. These were temporarily disabled in 2013 and we apparently forgot to ever turn them back on again. Fix spelling of flag to llvm-mc in recently-added test that wasn't actually being run due to this.
|
 | llvm/test/CodeGen/X86/align-branch-boundary-default.s |
 | llvm/test/CodeGen/X86/lit.local.cfg |
Commit
e68e4cbcc50ba7ab8df5e09023f15e6cc2223bef
by efriedma[GlobalISel] Change representation of shuffle masks in MachineOperand. We're planning to remove the shufflemask operand from ShuffleVectorInst (D72467); fix GlobalISel so it doesn't depend on that Constant. The change to prelegalizercombiner-shuffle-vector.mir happens because the input contains a literal "-1" in the mask (so the parser/verifier weren't really handling it properly). We now treat it as equivalent to "undef" in all contexts. Differential Revision: https://reviews.llvm.org/D72663
|
 | llvm/include/llvm/CodeGen/MachineInstrBuilder.h |
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-shuffle-vector.mir |
 | llvm/lib/CodeGen/MachineVerifier.cpp |
 | llvm/lib/CodeGen/MIRParser/MIParser.cpp |
 | llvm/lib/CodeGen/MachineOperand.cpp |
 | llvm/include/llvm/CodeGen/MachineOperand.h |
 | llvm/lib/CodeGen/MachineFunction.cpp |
 | llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp |
 | llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp |
 | llvm/include/llvm/CodeGen/MachineFunction.h |
 | llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp |
Commit
09db6e320985f2bee22634049857224e0a5e58f8
by Jonas Devlieghere[llvm-exegesis] Initialize const bitvector member This causes an error with older versions of clang: constructor for 'llvm::exegesis::InstructionsCache' must explicitly initialize the const member 'BVC'
|
 | llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp |
Commit
fb51ce10d7dcab9209d0cd059d907810dbd0197d
by ditaliano[LanguageRuntime] Retire an unused member function. NFCI.
|
 | lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h |
 | lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp |
 | lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h |
 | lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp |
Commit
84baf123a5213512e92e7deca2d111e00c2b97da
by thakistry to fix InterfaceStubs/lambda.cpp on Windows after bd8c8827d96f0
|
 | clang/test/InterfaceStubs/lambda.cpp |
Commit
d1e3b23be46ac3ada8f5fe844629ad5bc233c24d
by Jonas Devlieghere[lldb/Utility] Add std::move to make placate clang 3.8 This fixes an error thrown by clang 3.8 that no viable conversion from returned value to the function return type.
|
 | lldb/source/Utility/StructuredData.cpp |
Commit
3818101f7f8a631f4d2e4c639420fa9d6ab325e9
by ajcbik[mlir] [VectorOps] fixed typo in verifier of slice op Reviewers: nicolasvasilache, andydavis1, rriddle Reviewed By: nicolasvasilache, rriddle Subscribers: merge_guards_bot, mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72664
|
 | mlir/lib/Dialect/VectorOps/VectorOps.cpp |
Commit
1ab13f8cc3f79d67c9b337cc0f4ac1dde0460be8
by mgorny[clang] [test] Fix riscv-toolchain-extra to be less picky about paths Fix riscv-toolchain-extra tests to pass when CLANG_RESOURCE_DIR is set to another value than the default. Differential Revision: https://reviews.llvm.org/D72591
|
 | clang/test/Driver/riscv32-toolchain-extra.c |
 | clang/test/Driver/riscv64-toolchain-extra.c |
Commit
1768ed7f8b1f53b5b4b3ff80da6ae2dce22b74a9
by craig.topper[X86] Add test to show that nofpexcept flag is not preserved by stack reload folding.
|
 | llvm/test/CodeGen/X86/stack-folding-fp-nofpexcept.mir |
Commit
b1dcd84c7ea3c97ddd73f629441be24791f23624
by craig.topper[X86] Copy the nofpexcept flag when folding a load into an instruction using the load folding tables./
|
 | llvm/test/CodeGen/X86/stack-folding-fp-nofpexcept.mir |
 | llvm/lib/Target/X86/X86InstrInfo.cpp |
Commit
a7cac2bd4b6812ea6b59b5fa0298eadf3815a3b0
by aminim[MLIR] Fix broken link locations after move to monorepo I used the codemod python tool to do this with the following commands: codemod 'tensorflow/mlir/blob/master/include' 'llvm/llvm-project/blob/master/mlir/include' codemod 'tensorflow/mlir/blob/master' 'llvm/llvm-project/blob/master/mlir' codemod 'tensorflow/mlir' 'llvm-project/llvm' Differential Revision: https://reviews.llvm.org/D72244
|
 | mlir/examples/toy/Ch5/include/toy/Dialect.h |
 | mlir/examples/toy/Ch6/include/toy/Dialect.h |
 | mlir/docs/Dialects/Vector.md |
 | mlir/examples/toy/README.md |
 | mlir/examples/toy/Ch3/include/toy/Dialect.h |
 | mlir/docs/Tutorials/Toy/Ch-7.md |
 | mlir/examples/toy/Ch7/include/toy/Dialect.h |
 | mlir/examples/toy/Ch4/include/toy/Dialect.h |
 | mlir/examples/toy/Ch2/include/toy/Dialect.h |
Commit
671544c25b1215433bc22d475db7eaef51096ea5
by czhengsz[PowerPC] [NFC] set instruction number as 1st priority of lsr cost model.
|
 | llvm/test/CodeGen/PowerPC/lsr-insns-cost.ll |
Commit
0136f226c4e46258ea73fcb994f6559cec4a9aa2
by maskray[MC] Don't resolve relocations referencing STB_LOCAL STT_GNU_IFUNC
|
 | llvm/lib/MC/ELFObjectWriter.cpp |
 | llvm/test/MC/ELF/target-in-same-section.s |
Commit
7cd429f27d4886bb841ed0e3702e970f5f6cccd1
by maskray[ELF] Add -z force-ibt and -z shstk for Intel Control-flow Enforcement Technology This patch is a joint work by Rui Ueyama and me based on D58102 by Xiang Zhang. It adds Intel CET (Control-flow Enforcement Technology) support to lld. The implementation follows the draft version of psABI which you can download from https://github.com/hjl-tools/x86-psABI/wiki/X86-psABI. CET introduces a new restriction on indirect jump instructions so that you can limit the places to which you can jump to using indirect jumps. In order to use the feature, you need to compile source files with -fcf-protection=full. * IBT is enabled if all input files are compiled with the flag. To force enabling ibt, pass -z force-ibt. * SHSTK is enabled if all input files are compiled with the flag, or if -z shstk is specified. IBT-enabled executables/shared objects have two PLT sections, ".plt" and ".plt.sec". For the details as to why we have two sections, please read the comments. Reviewed By: xiangzhangllvm Differential Revision: https://reviews.llvm.org/D59780
|
 | lld/ELF/Options.td |
 | lld/docs/ld.lld.1 |
 | lld/ELF/SyntheticSections.h |
 | lld/test/ELF/i386-feature-cet.s |
 | lld/ELF/Arch/X86_64.cpp |
 | lld/ELF/Driver.cpp |
 | lld/ELF/Writer.cpp |
 | lld/ELF/Target.h |
 | lld/ELF/Config.h |
 | lld/ELF/Arch/X86.cpp |
 | lld/test/ELF/x86-64-cet.s |
 | lld/test/ELF/x86-64-feature-cet.s |
 | lld/ELF/SyntheticSections.cpp |
 | lld/test/ELF/i386-cet.s |
Commit
84637408f2e63821014974dac08dee50bb197c1b
by protze[OpenMP][Tool] Make tests for archer dependent on TSan If the openmp project is built standalone, the test compiler is feature tested for an available -fsanitize=thread flag. If the openmp project is built as part of llvm, the target tsan is needed to test archer. An additional line (requires tsan) was introduced to the tests, this patch updates the line numbers for the race. Follow-up for 77ad98c Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D71914
|
 | openmp/tools/archer/tests/CMakeLists.txt |
 | openmp/tools/archer/tests/races/task-taskwait-nested.c |
 | openmp/cmake/DetectTestCompiler/CMakeLists.txt |
 | openmp/tools/archer/tests/lit.cfg |
 | openmp/tools/archer/tests/races/lock-nested-unrelated.c |
 | openmp/tools/archer/tests/races/task-two.c |
 | openmp/tools/archer/tests/races/lock-unrelated.c |
 | openmp/tools/archer/tests/races/task-taskgroup-unrelated.c |
 | openmp/tools/archer/tests/lit.site.cfg.in |
 | openmp/tools/archer/tests/races/critical-unrelated.c |
 | openmp/tools/archer/tests/races/task-dependency.c |
 | openmp/cmake/OpenMPTesting.cmake |
 | openmp/tools/archer/tests/races/parallel-simple.c |
Commit
d9819f366233e53427d0929729a58f85dc748cfb
by maskray[ELF] Delete unintended --force-bti
|
 | lld/ELF/Options.td |
Commit
ed810da73270267082c347bc2919eebb7978a2fe
by protze[OpenMP][Tool] Improving stack trace for Archer The OpenMP runtime is not instrumented, so entering the runtime leaves no hint on the source line of the pragma on ThreadSanitizer's function stack. This patch adds function entry/exit annotations for OpenMP parallel regions, and synchronization regions (barrier, taskwait, taskgroup). Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D70408
|
 | openmp/tools/archer/ompt-tsan.cpp |
Commit
63c3691f79179db9a16f260f1cf81475fdfef060
by jay.foad[AMDGPU] Add gfx9 assembler and disassembler test cases Summary: This adds assembler tests for cases that were previously only in the disassembler tests, and vice versa. Reviewers: rampitec, arsenm, nhaehnle Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72592
|
 | llvm/test/MC/AMDGPU/gfx9_asm_all.s |
 | llvm/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt |
Commit
0950de264e37264b9f767a898bd839d9fcb7328f
by jay.foad[AMDGPU] Improve error checking in gfx10 assembler tests Summary: This adds checks that the expected error was actually reported against the correct instruction, and fixes a couple of problems that that showed up: one incorrect W32-ERR: v_cmp_class_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD // W64: encoding: [0xf9,0x04,0x1e,0x7d,0x01,0x00,0x06,0x06] -// W32-ERR: error: invalid operand for instruction +// W32-ERR: error: {{instruction not supported on this GPU|invalid operand for instruction}} and one missing W32-ERR: v_cmp_class_f16_sdwa s[6:7], v1, v2 src0_sel:DWORD src1_sel:DWORD // W64: encoding: [0xf9,0x04,0x1e,0x7d,0x01,0x86,0x06,0x06] +// W32-ERR: error: invalid operand for instruction Reviewers: rampitec, arsenm Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72611
|
 | llvm/test/MC/AMDGPU/gfx10_asm_all.s |
Commit
440ce5164f52a6b7cdf70322cc1c95656cac9aa9
by jay.foad[AMDGPU] Remove duplicate gfx10 assembler and disassembler tests Summary: Depends on D72611. Reviewers: rampitec, arsenm Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72616
|
 | llvm/test/MC/Disassembler/AMDGPU/gfx10_dasm_all.txt |
 | llvm/test/MC/AMDGPU/gfx10_asm_all.s |
Commit
61b6a4e82653e1209126404d33ad20a268f55db1
by Raphael Isemann[lldb] Fix that SBThread.GetStopDescription is returning strings with uninitialized memory at the end. Summary: `SBThread.GetStopDescription` is a curious API as it takes a buffer length as a parameter that specifies how many bytes the buffer we pass has. Then we fill the buffer until the specified length (or the length of the stop description string) and return the string length. If the buffer is a nullptr however, we instead return how many bytes we would have written to the buffer so that the user can allocate a buffer with the right size and pass that size to a subsequent `SBThread.GetStopDescription` call. Funnily enough, it is not possible to pass a nullptr via the Python SWIG bindings, so that might be the first API in LLDB that is not only hard to use correctly but impossible to use correctly. The only way to call this function via Python is to throw in a large size limit that is hopefully large enough to contain the stop description (otherwise we only get the truncated stop description). Currently passing a size limit that is smaller than the returned stop description doesn't cause the Python bindings to return the stop description but instead the truncated stop description + uninitialized characters at the end of the string. The reason for this is that we return the result of `snprintf` from the method which returns the amount of bytes that *would* have been written (which is larger than the buffer). This causes our Python bindings to return a string that is as large as full stop description but the buffer that has been filled is only as large as the passed in buffer size. This patch fixes this issue by just recalculating the string length in our buffer instead of relying on the wrong return value. We also have to do this in a new type map as the old type map is also used for all methods with the given argument pair `char *dst, size_t dst_len` (e.g. SBProcess.GetSTDOUT`). These methods have different semantics for these arguments and don't null-terminate the returned buffer (they instead return the size in bytes) so we can't change the existing typemap without breaking them. Reviewers: labath, jingham Reviewed By: labath Subscribers: clayborg, shafik, abidh, JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D72086
|
 | lldb/packages/Python/lldbsuite/test/python_api/thread/TestThreadAPI.py |
 | lldb/bindings/python/python-typemaps.swig |
 | lldb/bindings/interface/SBThread.i |
Commit
f18370fe0e7576fb9947e49d66f7a6962c6822ce
by Raphael Isemann[lldb] Don't defend against internal LLVM errors in IRInterpreter Summary: Whenever we cast an LLVM instruction to one of its subclasses, we do a double check if the RTTI enum value actually allows us to cast the class. I don't see a way this can ever happen as even when LLVM's RTTI system has some corrupt internal state (which we probably should not test in the first place) we just reuse LLVM RTTI to do the second check. This also means that if we ever make an actual programming error in this function (e.g., have a enum value and then cast it to a different subclass), we just silently fall back to the JIT in our tests. We also can't test this code in any reasonable way. This removes the checks and uses `llvm::cast` instead which will raise a fatal error when casting fails. Reviewers: labath, mib Reviewed By: labath Subscribers: abidh, JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D72596
|
 | lldb/source/Expression/IRInterpreter.cpp |