Commit
4fd8f11901b5bfb13a5fef597626dde31835873b
by paulsson[MachineVerifier] Improve checks of target instructions operands. While working with a patch for instruction selection, the splitting of a large immediate ended up begin treated incorrectly by the backend. Where a register operand should have been created, it instead became an immediate. To my surprise the machine verifier failed to report this, which at the time would have been helpful. This patch improves the verifier so that it will report this type of error. This patch XFAILs CodeGen/SPARC/fp128.ll, which has been reported at https://bugs.llvm.org/show_bug.cgi?id=44091 Review: thegameg, arsenm, fhahn https://reviews.llvm.org/D63973
|
 | llvm/lib/CodeGen/MachineVerifier.cpp |
 | llvm/test/MachineVerifier/verify-regops.mir |
 | llvm/test/CodeGen/SPARC/fp128.ll |
Commit
df943a7a08102ed3d1f632e88b24a024a7c4ba81
by russell.gallop[NFC] Tidy-ups to TimeProfiler.cpp Remove unused include Make fields const where possible Move initialisation to initialiser list Differential Revision: https://reviews.llvm.org/D70904
|
 | llvm/lib/Support/TimeProfiler.cpp |
Commit
6d18e5366c9a0bffe45b179a830483b3f2ec9fa9
by diana.picusMark some tests as xfail on AArch64 Linux I have either opened new bug reports for these tests, or added links to existing bugs. This should help make the lldb-aarch64-ubuntu buildbot green (there will still be some unexpected passes that someone should look into, but those can be handled later).
|
 | lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/require_hw_breakpoints/TestRequireHWBreakpoints.py |
 | lldb/packages/Python/lldbsuite/test/functionalities/inline-stepping/TestInlineStepping.py |
 | lldb/packages/Python/lldbsuite/test/functionalities/show_location/TestShowLocationDwarf5.py |
 | lldb/packages/Python/lldbsuite/test/linux/builtin_trap/TestBuiltinTrap.py |
 | lldb/packages/Python/lldbsuite/test/functionalities/load_unload/TestLoadUnload.py |
 | lldb/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py |
 | lldb/packages/Python/lldbsuite/test/functionalities/step-avoids-no-debug/TestStepNoDebug.py |
 | lldb/packages/Python/lldbsuite/test/lang/cpp/trivial_abi/TestTrivialABI.py |
 | lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/thread_step_out_or_return/TestSteppingOutWithArtificialFrames.py |
 | lldb/packages/Python/lldbsuite/test/commands/expression/static-initializers/TestStaticInitializers.py |
Commit
4cfceb910692f9e894622da1b394324503667e46
by djordje.todorovic[LiveDebugValues] Introduce entry values of unmodified params The idea is to remove front-end analysis for the parameter's value modification and leave it to the value tracking system. Front-end in some cases marks a parameter as modified even the line of code that modifies the parameter gets optimized, that implies that this will cover more entry values even. In addition, extending the support for modified parameters will be easier with this approach. Since the goal is to recognize if a parameter’s value has changed, the idea at very high level is: If we encounter a DBG_VALUE other than the entry value one describing the same variable (parameter), we can assume that the variable’s value has changed and we should not track its entry value any more. That would be ideal scenario, but due to various LLVM optimizations, a variable’s value could be just moved around from one register to another (and there will be additional DBG_VALUEs describing the same variable), so we have to recognize such situation (otherwise, we will lose a lot of entry values) and salvage the debug entry value. Differential Revision: https://reviews.llvm.org/D68209
|
 | llvm/test/DebugInfo/MIR/X86/entry-values-diamond-bbs.mir |
 | llvm/test/DebugInfo/MIR/ARM/dbgcall-site-propagated-value.mir |
 | llvm/test/DebugInfo/MIR/X86/entry-value-of-modified-param.mir |
 | llvm/lib/CodeGen/LiveDebugValues.cpp |
 | lldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/main.cpp |
 | llvm/test/DebugInfo/MIR/X86/propagate-entry-value-cross-bbs.mir |
 | lldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/TestBasicEntryValuesX86_64.py |
 | llvm/test/DebugInfo/MIR/X86/kill-entry-value-after-diamond-bbs.mir |
Commit
f8c0cfc24eab0f23e3ebc65b10ee4276b1f15eeb
by paulssonImplicitNullChecks: Don't add a dead definition of DepMI as live-in This is one of the fixes needed to reapply D68267 which improves verification of live-in lists. Review: craig.topper https://reviews.llvm.org/D70434
|
 | llvm/lib/CodeGen/ImplicitNullChecks.cpp |
 | llvm/test/CodeGen/X86/implicit-null-checks.mir |
Commit
7b63e27cc0a940a67db84b8b8485dd8b81a2beeb
by paulssonTemporarily run machine-verifier once in test/CodeGen/SPARC/fp128.ll, so that it XFAIL:s also without expensive checks. See https://reviews.llvm.org/D63973
|
 | llvm/test/CodeGen/SPARC/fp128.ll |
Commit
09667bc1920463107684a566c3f2c3cef9b156e7
by aclopte[asan] Remove debug locations from alloca prologue instrumentation Summary: This fixes https://llvm.org/PR26673 "Wrong debugging information with -fsanitize=address" where asan instrumentation causes the prologue end to be computed incorrectly: findPrologueEndLoc, looks for the first instruction with a debug location to determine the prologue end. Since the asan instrumentation instructions had debug locations, that prologue end was at some instruction, where the stack frame is still being set up. There seems to be no good reason for extra debug locations for the asan instrumentations that set up the frame; they don't have a natural source location. In the debugger they are simply located at the start of the function. For certain other instrumentations like -fsanitize-coverage=trace-pc-guard the same problem persists - that might be more work to fix, since it looks like they rely on locations of the tracee functions. This partly reverts aaf4bb239487e0a3b20a8eaf94fc641235ba2c29 "[asan] Set debug location in ASan function prologue" whose motivation was to give debug location info to the coverage callback. Its test only ensures that the call to @__sanitizer_cov_trace_pc_guard is given the correct source location; as the debug location is still set in ModuleSanitizerCoverage::InjectCoverageAtBlock, the test does not break. So -fsanitize-coverage is hopefully unaffected - I don't think it should rely on the debug locations of asan-generated allocas. Related revision: 3c6c14d14b40adfb581940859ede1ac7d8ceae7a "ASAN: Provide reliable debug info for local variables at -O0." Below is how the X86 assembly version of the added test case changes. We get rid of some .loc lines and put prologue_end where the user code starts. ```diff --- 2.master.s 2019-12-02 12:32:38.982959053 +0100 +++ 2.patch.s 2019-12-02 12:32:41.106246674 +0100 @@ -45,8 +45,6 @@ .cfi_offset %rbx, -24 xorl %eax, %eax movl %eax, %ecx - .Ltmp2: - .loc 1 3 0 prologue_end # 2.c:3:0 cmpl $0, __asan_option_detect_stack_use_after_return movl %edi, 92(%rbx) # 4-byte Spill movq %rsi, 80(%rbx) # 8-byte Spill @@ -57,9 +55,7 @@ callq __asan_stack_malloc_0 movq %rax, 72(%rbx) # 8-byte Spill .LBB1_2: - .loc 1 0 0 is_stmt 0 # 2.c:0:0 movq 72(%rbx), %rax # 8-byte Reload - .loc 1 3 0 # 2.c:3:0 cmpq $0, %rax movq %rax, %rcx movq %rax, 64(%rbx) # 8-byte Spill @@ -72,9 +68,7 @@ movq %rax, %rsp movq %rax, 56(%rbx) # 8-byte Spill .LBB1_4: - .loc 1 0 0 # 2.c:0:0 movq 56(%rbx), %rax # 8-byte Reload - .loc 1 3 0 # 2.c:3:0 movq %rax, 120(%rbx) movq %rax, %rcx addq $32, %rcx @@ -99,7 +93,6 @@ movb %r8b, 31(%rbx) # 1-byte Spill je .LBB1_7 # %bb.5: - .loc 1 0 0 # 2.c:0:0 movq 40(%rbx), %rax # 8-byte Reload andq $7, %rax addq $3, %rax @@ -118,7 +111,8 @@ movl %ecx, (%rax) movq 80(%rbx), %rdx # 8-byte Reload movq %rdx, 128(%rbx) - .loc 1 4 3 is_stmt 1 # 2.c:4:3 +.Ltmp2: + .loc 1 4 3 prologue_end # 2.c:4:3 movq %rax, %rdi callq f movq 48(%rbx), %rax # 8-byte Reload ``` Reviewers: eugenis, aprantl Reviewed By: eugenis Subscribers: ormris, aprantl, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70894
|
 | llvm/test/Instrumentation/AddressSanitizer/debug-info-alloca.ll |
 | llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp |
 | llvm/test/Instrumentation/AddressSanitizer/local_stack_base.ll |
Commit
2b8db387f2a616f39a077ede18c6366f2ea9f203
by pavel[lldb] Move register info "augmentation" from gdb-remote into ABI Summary: Previously the ABI plugin exposed some "register infos" and the gdb-remote code used those to fill in the missing bits. Now, the "filling in" code is in the ABI plugin itself, and the gdb-remote code just invokes that. The motivation for this is two-fold: a) the "augmentation" logic is useful outside of process gdb-remote. For instance, it would allow us to avoid repeating the register number definitions in minidump code. b) It gives more implementation freedom to the ABI classes. Now that these "register infos" are essentially implementation details, classes can use other methods to obtain dwarf/eh_frame register numbers -- for instance they can consult llvm MC layer. Since the augmentation code was not currently tested anywhere, I took the opportunity to create a simple test for it. Reviewers: jasonmolenda, clayborg, tatyana-krasnukha Subscribers: aprantl, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D70906
|
 | lldb/include/lldb/Target/ABI.h |
 | lldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/basic_eh_frame.yaml |
 | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp |
 | lldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestTargetXMLArch.py |
 | lldb/source/Target/ABI.cpp |
Commit
46d0ec3a803021281c8d868b1487d2d5cd06f274
by Raphael Isemann[lldb] Remove tab from TestReturnValue.py Mixing tabs and spaces makes Python exit with this error: File "llvm/lldb/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py", line 23 return (self.getArchitecture() == "aarch64" and self.getPlatform() == "linux") ^ TabError: inconsistent use of tabs and spaces in indentation
|
 | lldb/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py |
Commit
1fbe8a82e1ea0168ee10079a18140135222d1d2c
by pavel[DWARF] Add support for parsing/dumping section indices in location lists Summary: This does exactly what it says on the box. The only small gotcha is the section index computation for offset_pair entries, which can use either the base address section, or the section from the offset_pair entry. This is to support both the cases where the base address is relocated (points to the base of the CU, typically), and the case where the base address is a constant (typically zero) and relocations are on the offsets themselves. Reviewers: dblaikie, JDevlieghere, aprantl, SouraVX Subscribers: hiraditya, llvm-commits, probinson Tags: #llvm Differential Revision: https://reviews.llvm.org/D70540
|
 | llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp |
 | llvm/lib/DebugInfo/DWARF/DWARFContext.cpp |
 | llvm/lib/DebugInfo/DWARF/DWARFDie.cpp |
 | llvm/test/DebugInfo/X86/dwarfdump-debug-loc-simple.test |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h |
 | llvm/test/tools/llvm-dwarfdump/X86/debug_loclists.s |
Commit
057626b4393836e11712bd694afda121d8309973
by diana.picusFixup 6d18e53: xfail TestShowLocationDwarf5.py properly Forgot to squash this...
|
 | lldb/packages/Python/lldbsuite/test/functionalities/show_location/TestShowLocationDwarf5.py |
Commit
01a26fa74a9b3ab876a7d3bf30d9aca2d5dfcc7d
by kadircet[clang][CodeGen] Make use of cc1 instead of clang in the tests
|
 | clang/test/CodeGen/arm-neon-vcadd.c |
Commit
4821d2a014e02b14223676c98b2ef5244eb91da8
by Raphael Isemann[lldb][NFC] Test going up/down one line in the multiline expression editor
|
 | lldb/packages/Python/lldbsuite/test/commands/expression/multiline-navigation/TestMultilineNavigation.py |
Commit
6713670b17324b81cc457f3a37dbc8c1ee229b88
by sven.vanhaastregt[OpenCL] Fix mangling of single-overload builtins Commit 9a8d477a0e0 ("[OpenCL] Add builtin function attribute handling", 2019-11-05) stopped Clang from mangling single-overload builtins, which is incorrect.
|
 | clang/test/CodeGenOpenCL/fdeclare-opencl-builtins.cl |
 | clang/lib/Sema/SemaLookup.cpp |
Commit
bc76dadb3cf16c38564ccb1cc54206279b7c54bc
by sam.parker[CodeGen] Move ARMCodegenPrepare to TypePromotion Convert ARMCodeGenPrepare into a generic type promotion pass by: - Removing the insertion of arm specific intrinsics to handle narrow types as we weren't using this. - Removing ARMSubtarget references. - Now query a generic TLI object to know which types should be promoted and what they should be promoted to. - Move all codegen tests into Transforms folder and testing using opt and not llc, which is how they should have been written in the first place... The pass searches up from icmp operands in an attempt to safely promote types so we can avoid generating unnecessary unsigned extends during DAG ISel. Differential Revision: https://reviews.llvm.org/D69556
|
 | llvm/test/Transforms/TypePromotion/ARM/pointers.ll |
 | llvm/lib/Target/ARM/ARMCodeGenPrepare.cpp |
 | llvm/test/Transforms/TypePromotion/ARM/switch.ll |
 | llvm/include/llvm/CodeGen/Passes.h |
 | llvm/lib/Target/ARM/ARM.h |
 | llvm/test/Transforms/TypePromotion/ARM/icmps.ll |
 | llvm/test/Transforms/TypePromotion/ARM/signed-icmps.ll |
 | llvm/lib/CodeGen/CMakeLists.txt |
 | llvm/test/Transforms/TypePromotion/ARM/calls.ll |
 | llvm/lib/Target/ARM/CMakeLists.txt |
 | llvm/test/CodeGen/ARM/CGP/arm-cgp-overflow.ll |
 | llvm/test/CodeGen/ARM/CGP/arm-cgp-pointers.ll |
 | llvm/tools/opt/opt.cpp |
 | llvm/test/Transforms/TypePromotion/ARM/phis-ret.ll |
 | llvm/test/CodeGen/ARM/CGP/arm-cgp-casts.ll |
 | llvm/test/CodeGen/ARM/CGP/arm-cgp-switch.ll |
 | llvm/test/Transforms/TypePromotion/ARM/casts.ll |
 | llvm/lib/Target/ARM/ARMTargetMachine.cpp |
 | llvm/test/CodeGen/ARM/O3-pipeline.ll |
 | llvm/test/Transforms/TypePromotion/ARM/clear-structures.ll |
 | llvm/test/CodeGen/ARM/CGP/arm-cgp-calls.ll |
 | llvm/lib/CodeGen/TypePromotion.cpp |
 | llvm/test/Transforms/TypePromotion/ARM/wrapping.ll |
 | llvm/lib/CodeGen/CodeGen.cpp |
 | llvm/test/CodeGen/ARM/CGP/arm-cgp-phis-ret.ll |
 | llvm/test/Transforms/TypePromotion/ARM/lit.local.cfg |
 | llvm/include/llvm/InitializePasses.h |
 | llvm/test/CodeGen/ARM/CGP/clear-structures.ll |
 | llvm/test/CodeGen/ARM/CGP/arm-cgp-icmps.ll |
 | llvm/test/CodeGen/ARM/CGP/arm-cgp-signed-icmps.ll |
 | llvm/test/CodeGen/ARM/CGP/arm-cgp-signed.ll |
 | llvm/test/Transforms/TypePromotion/ARM/signed.ll |
Commit
b37a43d93db8c5afb3b95d803638f0536608779d
by Raphael Isemann[lldb] Remove all remaining tabs from TestReturnValue.py I assumed this was just a single typo, but it seems we actually have a whole bunch of tabs in this file which cause Python to complain about mixing tabs and spaces.
|
 | lldb/packages/Python/lldbsuite/test/functionalities/return-value/TestReturnValue.py |