Commit
7bed2cb8535085cf041f6f5d0c65135a898c302e
by david.green[InstCombine] Add extra tests for overflow_to_sat.ll. NFC
|
 | llvm/test/Transforms/InstCombine/overflow_to_sat.ll |
Commit
03fce6b12e677144968045288df60da92fea2968
by david.green[InstCombine] Canonicalize sadd.with.overflow with clamp to sadd.sat This adds to D69245, adding extra signed patterns for folding from a sadd_with_overflow to a sadd_sat. These are more complex than the unsigned patterns, as the overflow can occur in either direction. For the add case, the positive overflow can only occur if both of the values are positive (same for both the values being negative). So there is an extra select on whether to use the positive or negative overflow limit. Differential Revision: https://reviews.llvm.org/D69252
|
 | llvm/test/Transforms/InstCombine/overflow_to_sat.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp |
Commit
08390c52a2902502cd9b25472aa4c6380230c18e
by david.green[InstCombine] Canonicalize ssub.with.overflow with clamp to ssub.sat Working on top of D69252, this adds canonicalisation patterns for ssub.with.overflow to ssub.sats. Differential Revision: https://reviews.llvm.org/D69753
|
 | llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp |
 | llvm/test/Transforms/InstCombine/overflow_to_sat.ll |
Commit
f5870b0f36bec3579e54994abcca9b809c056e1b
by spatel[SimplifyCFG] add tests for possible FP speculative select; NFC It doesn't seem that there are any perf/param knobs that can be turned to create selects for the FP variants of the tests, but that may not always be true in the future. If it changes, we should propagate FMF.
|
 | llvm/test/Transforms/SimplifyCFG/SpeculativeExec.ll |
Commit
23f736059c704b95643dfc63425444044b57a973
by spatel[SimplifyCFG] add fast-math-flags to tests for better coverage; NFC The conversion to select fails to propagate FMF.
|
 | llvm/test/Transforms/SimplifyCFG/speculate-math.ll |
Commit
ebf9bf2cbc8fa68d536e481e370c4ba40ce61a8a
by spatel[SimplifyCFG] propagate fast-math-flags (FMF) from phi to select Similar to/extension of D70208 (rGee0882bdf866), but this one may finally allow closing motivating bugs. This is another step towards having FMF apply only to FP values rather than those + fcmp. See PR38086 for one of the original discussions/motivations: https://bugs.llvm.org/show_bug.cgi?id=38086 And the test here is derived from PR39535: https://bugs.llvm.org/show_bug.cgi?id=39535 Currently, we lose FMF when converting any phi to select in SimplifyCFG. There are a small number of similar changes needed to correct within SimplifyCFG, so it should be quick to patch this pass up. FMF was extended to select and phi with: D61917 D67564
|
 | llvm/test/Transforms/SimplifyCFG/speculate-math.ll |
 | llvm/lib/Transforms/Utils/SimplifyCFG.cpp |
Commit
a516fbac520287307e909761dc7a083065d16049
by sstipanovic[Attributor] Use nofree argument attribute for heap-to-stack conversion Reviewers: jdoerfert, uenoku Subscribers: Differential Revision: https://reviews.llvm.org/D70140
|
 | llvm/lib/Transforms/IPO/Attributor.cpp |
 | llvm/test/Transforms/FunctionAttrs/heap_to_stack.ll |
Commit
28c183859ae0e92b638721a738019fe7265910a5
by flo[ConstantFold] Add some tests for binops with constants and undefs. Precommit tests for D70169.
|
 | llvm/test/Analysis/ConstantFolding/binop-identity-undef.ll |
Commit
8eeabbaf5da31f44b42f0ef7d625640570b0a620
by flo[ConstantFold] Handle identity folds at top of ConstantFoldBinaryInst Currently we miss folds with undef and identity values for binary ops that do not fold to undef in general. We can generalize the identity simplifications and do them before checking for undef in particular. Alive checks: * OR - https://rise4fun.com/Alive/8OsK * AND - https://rise4fun.com/Alive/e3tE This will also allow us to remove some now redundant cases throughout the function, but I would like to do this as follow-up. That should make tracking down potential issues easier. Reviewers: spatel, RKSimon, lebedev.ri Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D70169
|
 | llvm/lib/IR/ConstantFold.cpp |
 | llvm/test/Analysis/ConstantFolding/binop-identity-undef.ll |
 | llvm/test/Transforms/InstCombine/vec_shuffle.ll |
Commit
d4ba11ae3261bb0dc805d33fbe15e9591e926a33
by craig.topper[LegalizeTypes] Merge ExpandIntRes_LLROUND and ExpandIntRes_LLRINT into one function that handles both. NFC These too functions are were the same except for which libcall gets emitted. Just merge them into one. This is prep work for some other work including strict fp support.
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp |
Commit
9b515b6dd919cbd67ba12c01530708c5617e288f
by craig.topper[LegalizeTypes] Remove PromoteFloat support form ExpandIntRes_LLROUND_LLRINT. This code isn't exercised, and was in the wrong place. If we need this, we would need to promote the type before figuring out which libcall to use. I'm choosing to remove it rather than fixing since we don't support PromoteFloat for LRINT/LROUND/LLRINT/LLROUND when the result type is legal so I don't see much reason to support it for the case where the result type isn't legal.
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp |
Commit
1b0efe2b1778e821aade88667b1cb82d1c93f7e9
by craig.topper[LegalizeTypes] When expanding the integer result of LLROUND/LLRINT, also call GetSoftenedFloat if the floating point input needs to be softened. Before this we were emitting a bitcast to integer from the lowering code that itself will need to be legalized. By calling GetSoftenedFloat we get the integer conversion in one step without needing to relegalize a bitcast.
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp |
Commit
5d67d81f484f935b709918ad99462e32efa3b17a
by spatel[InstCombine] prevent crashing/assert on shift constant expression (PR44028) The binary operator cast implies an instruction, but the matcher for shift does not: https://bugs.llvm.org/show_bug.cgi?id=44028
|
 | llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp |
 | llvm/test/Transforms/InstCombine/shift-logic.ll |
Commit
b11386f9be9b2dc7276a758d64f66833da10bdea
by ruiuMake it possible to redirect not only errs() but also outs() This change is for those who use lld as a library. Context: https://reviews.llvm.org/D70287 This patch adds a new parmeter to lld::*::link() so that we can pass an raw_ostream object representing stdout. Previously, lld::*::link() took only an stderr object. Justification for making stdoutOS and stderrOS mandatory: I wanted to make link() functions to take stdout and stderr in that order. However, if we change the function signature from bool link(ArrayRef<const char *> args, bool canExitEarly, raw_ostream &stderrOS = llvm::errs()); to bool link(ArrayRef<const char *> args, bool canExitEarly, raw_ostream &stdoutOS = llvm::outs(), raw_ostream &stderrOS = llvm::errs()); , then the meaning of existing code that passes stderrOS silently changes (stderrOS would be interpreted as stdoutOS). So, I chose to make existing code not to compile, so that developers can fix their code. Differential Revision: https://reviews.llvm.org/D70292
|
 | lld/unittests/MachOTests/MachONormalizedFileBinaryWriterTests.cpp |
 | lld/ELF/DriverUtils.cpp |
 | lld/lib/Driver/DarwinLdDriver.cpp |
 | lld/Common/ErrorHandler.cpp |
 | lld/ELF/Driver.cpp |
 | lld/wasm/Driver.cpp |
 | lld/MinGW/Driver.cpp |
 | lld/COFF/DriverUtils.cpp |
 | lld/include/lld/Common/Driver.h |
 | lld/include/lld/Common/LLVM.h |
 | lld/lib/Core/SymbolTable.cpp |
 | lld/COFF/Writer.cpp |
 | lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp |
 | lld/include/lld/Common/ErrorHandler.h |
 | lld/lib/ReaderWriter/MachO/LayoutPass.cpp |
 | lld/lib/Core/Resolver.cpp |
 | lld/lib/ReaderWriter/FileArchive.cpp |
 | lld/COFF/Driver.cpp |
 | lld/tools/lld/lld.cpp |
 | lld/ELF/MapFile.cpp |
 | lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp |
Commit
a937a588dd29fa77018561e2eab5dc760c766229
by Duncan P. N. Exon Smithllvm/ObjCARC: Use continue to reduce some nesting, NFC
|
 | llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp |
Commit
5864cb38da701793171c8a8a69ae5410af08e181
by modocache[docs] Fix broken links in Kaleidoscope chapter 3 Several links in this document referred to `LangImpl4.html` or `LangImpl7.html`. However, now these pages use two digits, so for these links to function they need to be modified to `LangImpl04.html`, and so on -- note the extra `0`.
|
 | llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.rst |
Commit
a0337d269b7c3305d4e0a729d39d389a0aaec928
by czhengsz[PowerPC] extend PPCPreIncPrep Pass for ds/dq form Now, PPCPreIncPrep pass changes a loop to update form and update all load/store with same base accordingly. We can do more for load/store with same base, for example, convert load/store with same base to ds/dq form. Reviewed by: jsji Differential Revision: https://reviews.llvm.org/D67088
|
 | llvm/test/CodeGen/PowerPC/swaps-le-1.ll |
 | llvm/lib/Target/PowerPC/PPCLoopPreIncPrep.cpp |
 | llvm/test/CodeGen/PowerPC/loop-instr-form-prepare.ll |
Commit
af435286e53d769d14d7a7fff6b1e3a075bfefca
by craig.topper[LegalizeTypes][X86] Add support for expanding the result type of STRICT_LLROUND and STRICT_LLRINT. This doesn't handle softening the input type, but we don't handle softening any of the strict nodes yet. Skipping that made it easy to reuse an existing function for creating a libcall from a node with a chain.
|
 | llvm/test/CodeGen/X86/fp-intrinsics.ll |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp |
Commit
783cb86b616d9de59213ea17649d6e2df8c1ebbb
by Duncan P. N. Exon Smithllvm/ObjCARC: Split OptimizeIndividualCallImpl out of OptimizeIndividualCalls, NFC Split out a helper function for the individual call optimizations and skip useless calls to it (where the instruction is not an ARC intrinsic). Besides reducing indentation (and possibly speeding up compile time in some small way), an upcoming patch will add additional calls and expand out the `switch`.
|
 | llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp |
Commit
f82dba019253ced73ceadfde10e5f150bdb182f3
by ericRename __is_foo_iterator traits to reflect their Cpp17 nature. With the upcoming introduction of iterator concepts in ranges, the meaning of "__is_contiguous_iterator" changes drastically. Currently we intend it to mean "does it have this iterator category", but it could now also mean "does it meet the requirements of this concept", and these can be different.
|
 | libcxx/test/libcxx/iterators/trivial_iterators.pass.cpp |
 | libcxx/include/deque |
 | libcxx/include/string |
 | libcxx/include/forward_list |
 | libcxx/include/regex |
 | libcxx/include/__tree |
 | libcxx/include/algorithm |
 | libcxx/include/queue |
 | libcxx/include/list |
 | libcxx/include/vector |
 | libcxx/include/filesystem |
 | libcxx/include/__split_buffer |
 | libcxx/include/iterator |
Commit
909d7bf9a7c5eb728f4660541ab33089132409fe
by ruiuFix Windows buildbots `stdout` and `stderr` might be defined as macros, so we needed to avoid using them as variable names.
|
 | lld/include/lld/Common/Driver.h |
Commit
5a56d2aa33c6f6280a07cc0ef81ea0d74d081d68
by craig.topper[LegalizeTypes] Remove unnecessary conversion from EVT to MVT to MVT::SimpleValueType just to assign back to EVT. NFC
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp |
Commit
bfbbf0aba81a84da8b53d4d159d080e77ad8ee70
by craig.topper[LegalizeTypes] Remove SoftenFloat handling from ExpandIntRes_LLROUND_LLRINT and remove assert from the strict fp path. These were both recently added. While the call to GetSoftenedFloat is a little more optimal, we don't do it in the expand for FP_TO_SINT/UINT so there's no real reason to do it here. This avoids a FIXME for strict fp.
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp |
Commit
816ff985f51ea984139c0b141d402e0143bd9f2d
by jrtc27[Sparc] Fix "Cannot select" error for AtomicFence on 32-bit V9 Summary: This also adds testing of 32-bit V9 atomic lowering, splitting the 64-bit-only tests out into their own file. Reviewers: venkatra, jyknight Reviewed By: jyknight Subscribers: hiraditya, fedor.sergeev, jfb, llvm-commits, glaubitz Tags: #llvm Differential Revision: https://reviews.llvm.org/D69352
|
 | llvm/lib/Target/Sparc/SparcInstr64Bit.td |
 | llvm/test/CodeGen/SPARC/64atomics.ll |
 | llvm/lib/Target/Sparc/SparcInstrInfo.td |
 | llvm/test/CodeGen/SPARC/atomics.ll |
Commit
c0f6ad7d1f3ccb9d0b9ce9ef8dfa06409ccf1b3e
by pavelDWARF location lists: Add section index dumping Summary: As discussed in D70081, this adds the ability to dump section names/indices to the location list dumper. It does this by moving the range specific logic from DWARFDie.cpp:dumpRanges into the DWARFAddressRange class. The trickiest part of this patch is the backflip in the meanings of the two dump flags for the location list sections. The dumping of "raw" location list data is now controlled by "DisplayRawContents" flag. This frees up the "Verbose" flag to be used to control whether we print the section index. Additionally, the DisplayRawContents flag is set for section-based dumps whenever the --verbose option is passed, but this is not done for the "inline" dumps. Also note that the index dumping currently does not work for the DWARF v5 location lists, as the parser does not fill out the appropriate fields. This will be done in a separate patch. Reviewers: dblaikie, probinson, JDevlieghere, SouraVX Subscribers: sdardis, hiraditya, jrtc27, atanasyan, arphaman, aprantl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70227
|
 | llvm/test/DebugInfo/X86/debug-loc-offset.mir |
 | llvm/test/DebugInfo/X86/DW_AT_location-reference.ll |
 | llvm/lib/DebugInfo/DWARF/DWARFAddressRange.cpp |
 | llvm/test/CodeGen/X86/debug-loclists.ll |
 | llvm/test/DebugInfo/X86/debug-loc-frame.ll |
 | llvm/lib/DebugInfo/DWARF/DWARFContext.cpp |
 | llvm/lib/DebugInfo/DWARF/DWARFDie.cpp |
 | llvm/test/DebugInfo/X86/dbg-value-frame-index.ll |
 | llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp |
 | llvm/test/DebugInfo/Mips/dsr-fixed-objects.ll |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h |
 | llvm/test/DebugInfo/ARM/PR26163.ll |
 | llvm/test/DebugInfo/X86/dbg-value-regmask-clobber.ll |
Commit
2d739f98d8a53e38bf9faa88cdb6b0c2a363fb77
by anna.welker[ARM] Allocatable Global Register Variables for ARM Provides support for using r6-r11 as globally scoped register variables. This requires a -ffixed-rN flag in order to reserve rN against general allocation. If for a given GRV declaration the corresponding flag is not found, or the the register in question is the target's FP, we fail with a diagnostic. Differential Revision: https://reviews.llvm.org/D68862
|
 | llvm/lib/Target/ARM/ARMSubtarget.cpp |
 | llvm/lib/Target/ARM/ARMFrameLowering.cpp |
 | llvm/test/CodeGen/ARM/reg-alloc-with-fixed-reg-r6.ll |
 | llvm/test/CodeGen/ARM/reg-alloc-wout-fixed-regs.ll |
 | llvm/lib/Target/ARM/ARMAsmPrinter.cpp |
 | clang/include/clang/Basic/DiagnosticDriverKinds.td |
 | clang/lib/Basic/Targets/ARM.h |
 | clang/include/clang/Driver/Options.td |
 | clang/test/Driver/arm-reserved-reg-options.c |
 | llvm/lib/Target/ARM/ARMTargetTransformInfo.h |
 | clang/docs/ClangCommandLineReference.rst |
 | clang/lib/Basic/Targets/ARM.cpp |
 | clang/test/Sema/arm-global-regs.c |
 | clang/lib/Sema/SemaDecl.cpp |
 | clang/include/clang/Basic/TargetInfo.h |
 | llvm/lib/Target/ARM/ARM.td |
 | llvm/test/CodeGen/ARM/reg-alloc-fixed-r6-vla.ll |
 | clang/lib/Driver/ToolChains/Arch/ARM.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | llvm/lib/Target/ARM/ARMSubtarget.h |
 | llvm/test/CodeGen/ARM/reg-alloc-with-fixed-reg-r6-modified.ll |
 | llvm/test/CodeGen/Thumb/callee_save_reserved.ll |
 | llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp |
 | llvm/test/Feature/reserve_global_reg.ll |
 | clang/include/clang/Basic/DiagnosticGroups.td |
Commit
a433e7141fb3f697e6430437ee73b19076603c1b
by sam.mccall[AST] Attach comment in `/** doc */ typedef struct A {} B` to B as well as A. Summary: Semantically they're the same thing, and it's important when the underlying struct is anonymous. There doesn't seem to be a problem attaching the same comment to multiple things as it already happens with `/** doc */ int a, b;` This affects an Index test but the results look better (name present, USR points to the typedef). Fixes https://github.com/clangd/clangd/issues/189 Reviewers: kadircet, lh123 Subscribers: ilya-biryukov, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70203
|
 | clang/test/Sema/warn-documentation.cpp |
 | clang-tools-extra/clangd/unittests/XRefsTests.cpp |
 | clang/lib/AST/ASTContext.cpp |
 | clang/test/Index/annotate-comments-typedef.m |
Commit
e8924d6403eba06438f669e434eee11016f20a67
by mgorny[lldb] [test] Enable lldb-server tests on NetBSD, and set XFAILs Differential Revision: https://reviews.llvm.org/D70335
|
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteThreadsInStopReply.py |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteAuxvSupport.py |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/signal-filtering/TestGdbRemote_QPassSignals.py |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/thread-name/TestGdbRemoteThreadName.py |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemote_qThreadStopInfo.py |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteProcessInfo.py |
 | lldb/packages/Python/lldbsuite/test/dotest.py |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteKill.py |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/register-reading/TestGdbRemoteGPacket.py |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestGdbRemoteAttach.py |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py |
Commit
23a766dcad47993f632ab22ab3a8f3dc977bd838
by mgorny[lldb] [Process/NetBSD] Implement thread name getting Implement thread name getting sysctl() on NetBSD. Also fix the incorrect type in pthread_setname_np() in the relevant test. Differential Revision: https://reviews.llvm.org/D70363
|
 | lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/thread-name/TestGdbRemoteThreadName.py |
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/thread-name/main.cpp |
Commit
4a4dd85e5ab51aa8c01c690cd14205af157178e7
by simon.tatham[ARM,MVE] Add intrinsics for vector comparisons. This adds the `vcmp` family of ACLE MVE intrinsics: vector/vector, vector/scalar, and the predicated forms of both. All are represented using standard existing IR: vector/scalar comparisons are represented by making a vector out of the scalar first, and predicated forms are represented by taking the bitwise AND of the input predicate and the output of the comparison. Existing LLVM-side tests demonstrate that ISel will pattern-match all of that back down to single MVE VCMPs. The idiom of handling a vector/scalar operation by generating IR to expand the scalar into a second vector is going to be needed for a lot of MVE intrinsics, so to make that easy, I've provided a helper function that automatically works out the element count. The comparison intrinsics are the first ones that have to //return// a predicate, in the user-facing `mve_pred16_t` format. This means we have to use the `arm_mve_pred_v2i` low-level intrinsic to convert it back from the logical `<n x i1>` form used in IR. I've done that explicitly in the code gen specification for the builtins, because it happens much more rarely in the ACLE API than passing a Predicate as input, so it didn't seem worth automating in MveEmitter. Reviewers: ostannard, MarkMurrayARM, dmgreen Reviewed By: dmgreen Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D70297
|
 | clang/include/clang/Basic/arm_mve_defs.td |
 | clang/test/CodeGen/arm-mve-intrinsics/compare.c |
 | clang/include/clang/Basic/arm_mve.td |
 | clang/lib/CodeGen/CGBuiltin.cpp |
Commit
f4f77aa53e5b872bd8a93c3a193714d8eba9578c
by simon.tatham[ARM,MVE] Add InstCombine rules for pred_i2v / pred_v2i. If you're writing C code using the ACLE MVE intrinsics that passes the result of a vcmp as input to a predicated intrinsic, e.g. mve_pred16_t pred = vcmpeqq(v1, v2); v_out = vaddq_m(v_inactive, v3, v4, pred); then clang's codegen for the compare intrinsic will create calls to `@llvm.arm.mve.pred.v2i` to convert the output of `icmp` into an `mve_pred16_t` integer representation, and then the next intrinsic will call `@llvm.arm.mve.pred.i2v` to convert it straight back again. This will be visible in the generated code as a `vmrs`/`vmsr` pair that move the predicate value pointlessly out of `p0` and back into it again. To prevent that, I've added InstCombine rules to remove round trips of the form `v2i(i2v(x))` and `i2v(v2i(x))`. Also I've taught InstCombine about the known and demanded bits of those intrinsics. As a result, you now get just the generated code you wanted: vpt.u16 eq, q1, q2 vaddt.u16 q0, q3, q4 Reviewers: ostannard, MarkMurrayARM, dmgreen Reviewed By: dmgreen Subscribers: kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70313
|
 | llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp |
 | llvm/test/CodeGen/Thumb2/mve-vpt-from-intrinsics.ll |
 | llvm/test/Transforms/InstCombine/ARM/mve-v2i2v.ll |
Commit
03e7fb2e075e2cfca7a0c9e3730a48d52101dec2
by qshanz[NFC][Test] Add the vavg test for PowerPC
|
 | llvm/test/CodeGen/PowerPC/vavg.ll |
Commit
c00e5cf29d49e51701b00382a3f41a4dfe1c0c0f
by simon.cook[RISCV] Set triple based on -march flag For RISC-V the value provided to -march should determine whether to compile for 32- or 64-bit RISC-V irrespective of the target provided to the Clang driver. This adds a test for this flag for RISC-V and sets the Target architecture correctly in these cases. Differential Revision: https://reviews.llvm.org/D54214
|
 | clang/lib/Driver/Driver.cpp |
 | clang/docs/ReleaseNotes.rst |
 | clang/test/Driver/riscv-arch.c |
Commit
eedb9648229ff14bf8d5a526099f765ea23f3777
by simon.cook[RISCV] Add assembly mnemonic spell checking Summary: This allows the assembler to suggest alternative assembly mnemonics when an invalid one has been provided. Reviewers: asb, lenary, lewis-revill Reviewed By: asb Subscribers: hiraditya, rbar, johnrusso, apazos, sabuasal, niosHD, kito-cheng, shiva0217, jrtc27, MaskRay, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, Jim, s.egerton, pzheng, sameer.abuasal, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69894
|
 | llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp |
 | llvm/test/MC/RISCV/invalid-instruction-spellcheck.s |
Commit
9df9dec926e2782e4f62b5a39f18619c7d928eba
by llvm-devFix signed/unsigned comparison warning. NFCI.
|
 | llvm/lib/Target/PowerPC/PPCLoopPreIncPrep.cpp |
Commit
b68191e729e0059c4edf7a3dbfde2bf38f419240
by llvm-dev[X86][SSE] Add test for extractelement with multiple uses Mentioned in D70267
|
 | llvm/test/CodeGen/X86/extractelement-load.ll |
Commit
1e3cc06d986dd04b0973ade251e9f2e129315509
by llvm-devFix "not all control paths return a value" warning. NFCI.
|
 | clang/lib/Sema/SemaOpenMP.cpp |
Commit
5181adab6183d058509ca6da7c1306ced3a61e1c
by hokein.wu[clangd] Expose the xref's incomplete flag to clangdServer API. Summary: so that clangd C++ API users (via ClangdServer) can access it. Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70380
|
 | clang-tools-extra/clangd/XRefs.h |
 | clang-tools-extra/clangd/ClangdLSPServer.cpp |
 | clang-tools-extra/clangd/ClangdServer.cpp |
 | clang-tools-extra/clangd/XRefs.cpp |
 | clang-tools-extra/clangd/ClangdServer.h |
 | clang-tools-extra/clangd/unittests/XRefsTests.cpp |
Commit
3f08ad611aa26db2e719705b8fb60f4661d97b98
by graham.hunter[SVE][CodeGen] Scalable vector MVT size queries * Implements scalable size queries for MVTs, split out from D53137. * Contains a fix for FindMemType to avoid using scalable vector type to contain non-scalable types. * Explicit casts for several places where implicit integer sign changes or promotion from 32 to 64 bits caused problems. * CodeGenDAGPatterns will treat scalable and non-scalable vector types as different. Reviewers: greened, cameron.mcinally, sdesmalen, rovka Reviewed By: rovka Differential Revision: https://reviews.llvm.org/D66871
|
 | llvm/include/llvm/CodeGen/ValueTypes.h |
 | llvm/lib/Target/AArch64/AArch64StackOffset.h |
 | llvm/lib/CodeGen/ValueTypes.cpp |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp |
 | llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp |
 | llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/include/llvm/Support/TypeSize.h |
 | llvm/include/llvm/Support/MachineValueType.h |
 | llvm/include/llvm/CodeGen/SelectionDAGNodes.h |
 | llvm/unittests/CodeGen/ScalableVectorMVTsTest.cpp |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
 | llvm/utils/TableGen/CodeGenDAGPatterns.cpp |
 | llvm/lib/Target/Hexagon/HexagonISelLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp |
 | llvm/lib/Target/Mips/MipsISelLowering.cpp |
Commit
1ce5fcda17e6683bcbec8585349afcad02a9c98a
by czhengsz[PowerPC] [NFC] add IR testcases for folding rlwinma.
|
 | llvm/test/CodeGen/PowerPC/fold-rlwinm-1.ll |
Commit
dbb64b39b8bc137bb88b9f847ab8adf25a8c8583
by aaron.smithFix a print error found while testing llvm-objcopy A value was not printed as hex. This updates the output and test cases.
|
 | llvm/include/llvm/Object/ELF.h |
 | llvm/test/Object/invalid.test |
Commit
869d904df76c9e74e040b072b4bc8114fd20f5bc
by Raphael Isemann[lldb][NFC] Cleanup comments in ClangASTSource.h The current file doesn't follow the 80 character limit and uses this cramped comment style that is hard to read.
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h |
Commit
49406fa9f46214c22489c60099d03a0c307cb460
by llvm-devFix uninitialized variable warning. NFC.
|
 | llvm/unittests/tools/llvm-cfi-verify/FileAnalysis.cpp |
Commit
9976287219cd05ec02770c22b68344b431d2e3b1
by llvm-devllvm-rc - fix uninitialized variable warnings. NFC.
|
 | llvm/tools/llvm-rc/ResourceScriptToken.cpp |
 | llvm/tools/llvm-rc/ResourceFileWriter.h |
Commit
7207dae5c7f205c551036362c8b9872afbd94d58
by llvm-devFix uninitialized variable warning. NFC.
|
 | llvm/unittests/Support/ThreadPool.cpp |
Commit
ae31c7299ba60f909f718d6cc8a2b4114d506127
by llvm-devDwarfGenerator - fix uninitialized variable warnings. NFC.
|
 | llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp |
Commit
c070a27acc474a2e4a159d8797d4506bcbe71a30
by llvm-devRevert rGc0f6ad7d1f3c : "DWARF location lists: Add section index dumping" This reverts commit c0f6ad7d1f3ccb9d0b9ce9ef8dfa06409ccf1b3e to fix the buildbots.
|
 | llvm/test/CodeGen/X86/debug-loclists.ll |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h |
 | llvm/test/DebugInfo/X86/DW_AT_location-reference.ll |
 | llvm/lib/DebugInfo/DWARF/DWARFAddressRange.cpp |
 | llvm/lib/DebugInfo/DWARF/DWARFContext.cpp |
 | llvm/test/DebugInfo/Mips/dsr-fixed-objects.ll |
 | llvm/test/DebugInfo/X86/dbg-value-regmask-clobber.ll |
 | llvm/test/DebugInfo/ARM/PR26163.ll |
 | llvm/test/DebugInfo/X86/debug-loc-frame.ll |
 | llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp |
 | llvm/lib/DebugInfo/DWARF/DWARFDie.cpp |
 | llvm/test/DebugInfo/X86/dbg-value-frame-index.ll |
 | llvm/test/DebugInfo/X86/debug-loc-offset.mir |
Commit
2b8115b10b03013b9f8ae0aa56b0cd6a6a6dd4fd
by protze[OpenMP] Add implementation and tests of Archer tool The tool provides TSAN annotations for OpenMP synchronization. The tool is activated if no other OMPT tool is loaded. The tool detects whether the application was built with TSan and rejects activation according to the OMPT protocol if there is no TSan-rt. Differential Revision: https://reviews.llvm.org/D45890
|
 | openmp/tools/archer/tests/critical/lock.c |
 | openmp/tools/archer/tests/races/critical-unrelated.c |
 | openmp/tools/archer/tests/lit.site.cfg.in |
 | openmp/runtime/src/ompt-general.cpp |
 | openmp/tools/archer/tests/reduction/parallel-reduction-nowait.c |
 | openmp/tools/archer/tests/task/task-taskwait.c |
 | openmp/runtime/src/CMakeLists.txt |
 | openmp/tools/archer/tests/races/lock-unrelated.c |
 | openmp/tools/archer/tests/deflake.bash |
 | openmp/tools/archer/tests/races/task-two.c |
 | openmp/tools/archer/tests/CMakeLists.txt |
 | openmp/tools/archer/tests/races/lock-nested-unrelated.c |
 | openmp/CMakeLists.txt |
 | openmp/tools/archer/tests/task/task-create.c |
 | openmp/tools/CMakeLists.txt |
 | openmp/tools/archer/tests/parallel/parallel-simple.c |
 | openmp/tools/archer/tests/worksharing/ordered.c |
 | openmp/tools/archer/tests/ompt/ompt-signal.h |
 | openmp/tools/archer/tests/races/task-taskwait-nested.c |
 | openmp/tools/archer/tests/parallel/parallel-simple2.c |
 | openmp/tools/archer/tests/reduction/parallel-reduction.c |
 | openmp/tools/archer/tests/task/task-taskgroup.c |
 | openmp/tools/archer/tests/task/task-taskwait-nested.c |
 | openmp/tools/archer/tests/races/parallel-simple.c |
 | openmp/tools/archer/tests/lit.cfg |
 | openmp/tools/archer/tests/parallel/parallel-firstprivate.c |
 | openmp/tools/archer/tests/task/task-barrier.c |
 | openmp/runtime/CMakeLists.txt |
 | openmp/tools/archer/tests/races/task-dependency.c |
 | openmp/tools/archer/tests/task/task-taskgroup-nested.c |
 | openmp/tools/archer/CMakeLists.txt |
 | openmp/tools/archer/tests/barrier/barrier.c |
 | openmp/tools/archer/tests/critical/critical.c |
 | openmp/tools/archer/ompt-tsan.cpp |
 | openmp/tools/archer/README.md |
 | openmp/tools/archer/tests/races/task-taskgroup-unrelated.c |
 | openmp/tools/archer/tests/critical/lock-nested.c |
 | openmp/tools/archer/tests/task/task-dependency.c |
Commit
b462cdff05b82071190e8bfd1078a2c76933b19b
by emasteAvoid duplicate exe_path definition on recent FreeBSD
|
 | llvm/lib/Support/Unix/Path.inc |
Commit
606c189215d1c78681e8020b6393019b0c0ea181
by llvm-devllvm-objcopy - fix uninitialized variable warnings. NFC.
|
 | llvm/tools/llvm-objcopy/ELF/Object.h |
 | llvm/tools/llvm-objcopy/COFF/Object.h |
Commit
5edf964fccfae77353ef944bf749a8e2a1f5380e
by llvm-devFix cppcheck shadow variable warning. NFC.
|
 | llvm/tools/llvm-objcopy/ELF/Object.cpp |
Commit
f21b2d8e42f87ad6958599a385ed7bbc4df86de6
by hokein.wu[clangd] Fix diagnostic warnings in the RenameTests, NFC.
|
 | clang-tools-extra/clangd/unittests/RenameTests.cpp |
Commit
8c8c941844080625fd2989bd4045cdd5db4bb908
by llvm-devRemove useless param tag to fix Wdocumentation warning. NFCI.
|
 | clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h |
Commit
10b851434324f82e9ad11d39f501f2d8b921642a
by Raphael Isemann[lldb] Fix JSON parser to allow empty arrays Summary: Bugzilla: https://bugs.llvm.org/show_bug.cgi?id=39405 ``` alexc@kitty:~/work/wiredtiger/build_posix$ cat breakpoint.json [{"Breakpoint" : {"BKPTOptions" : {"AutoContinue" : false,"ConditionText" : "","EnabledState" : true,"IgnoreCount" : 0,"OneShotState" : false},"BKPTResolver" : {"Options" : {"NameMask" : [56],"Offset" : 0,"SkipPrologue" : true,"SymbolNames" : ["__wt_btcur_search"]},"Type" : "SymbolName"},"Hardware" : false,"SearchFilter" : {"Options" : {},"Type" : "Unconstrained","Foo" : []}}}] ``` **Before** ``` (lldb) breakpoint read --file breakpoint.json error: Invalid JSON from input file: /home/alexc/work/wiredtiger/build_posix/breakpoint.json. ``` **After** ``` (lldb) breakpoint read --file breakpoint.json New breakpoints: Breakpoint 1: where = libwiredtiger-3.2.2.so`__wt_btcur_search + 15 at bt_cursor.c:522:5, address = 0x00007ffff576ab2f ``` Reviewers: xbolva00, davide, labath Reviewed By: davide, labath Subscribers: mgorny, jingham, labath, davide, JDevlieghere, lldb-commits Tags: #llvm, #lldb Differential Revision: https://reviews.llvm.org/D68179
|
 | lldb/tools/debugserver/source/JSON.h |
 | lldb/tools/debugserver/source/JSON.cpp |
 | lldb/unittests/debugserver/JSONTest.cpp |
 | lldb/unittests/debugserver/CMakeLists.txt |
Commit
b622ff39c0c482494a7400ac0256b543025cd449
by hokein.wu[clangd] Fix some clang-tidy warnings on SourceCodeTests.cpp, NFC.
|
 | clang-tools-extra/clangd/unittests/SourceCodeTests.cpp |
Commit
edd9f701638e28c4419658c1daed25ea0c6e8841
by dmitry.preobrazhensky[AMDGPU][MC][GFX10] Enabled v_movrel*[sdwa|dpp|dpp8] opcodes See https://bugs.llvm.org/show_bug.cgi?id=43712 Reviewers: arsenm, rampitec Differential Revision: https://reviews.llvm.org/D70170
|
 | llvm/lib/Target/AMDGPU/VOP1Instructions.td |
 | llvm/test/MC/Disassembler/AMDGPU/gfx10_dasm_all.txt |
 | llvm/test/MC/Disassembler/AMDGPU/gfx10_dasm_dpp8.txt |
 | llvm/test/MC/AMDGPU/gfx10_asm_dpp8.s |
 | llvm/test/MC/Disassembler/AMDGPU/gfx10_dasm_dpp16.txt |
 | llvm/test/MC/AMDGPU/gfx10_asm_all.s |
 | llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp |
 | llvm/test/MC/AMDGPU/gfx10_asm_dpp16.s |
Commit
dca2b36ba097085663ae8473f01f0353c33f7ff0
by pavelRe-commit "DWARF location lists: Add section index dumping" This reapplies c0f6ad7d1f3ccb9d0b9ce9ef8dfa06409ccf1b3e with an additional fix in test/DebugInfo/X86/constant-loclist.ll, which had a slightly different output on windows targets. The test now accounts for this difference. The original commit message follows. Summary: As discussed in D70081, this adds the ability to dump section names/indices to the location list dumper. It does this by moving the range specific logic from DWARFDie.cpp:dumpRanges into the DWARFAddressRange class. The trickiest part of this patch is the backflip in the meanings of the two dump flags for the location list sections. The dumping of "raw" location list data is now controlled by "DisplayRawContents" flag. This frees up the "Verbose" flag to be used to control whether we print the section index. Additionally, the DisplayRawContents flag is set for section-based dumps whenever the --verbose option is passed, but this is not done for the "inline" dumps. Also note that the index dumping currently does not work for the DWARF v5 location lists, as the parser does not fill out the appropriate fields. This will be done in a separate patch. Reviewers: dblaikie, probinson, JDevlieghere, SouraVX Subscribers: sdardis, hiraditya, jrtc27, atanasyan, arphaman, aprantl, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70227
|
 | llvm/test/DebugInfo/X86/debug-loc-offset.mir |
 | llvm/lib/DebugInfo/DWARF/DWARFContext.cpp |
 | llvm/test/DebugInfo/Mips/dsr-fixed-objects.ll |
 | llvm/test/DebugInfo/X86/constant-loclist.ll |
 | llvm/test/DebugInfo/ARM/PR26163.ll |
 | llvm/test/DebugInfo/X86/debug-loc-frame.ll |
 | llvm/test/DebugInfo/X86/DW_AT_location-reference.ll |
 | llvm/lib/DebugInfo/DWARF/DWARFAddressRange.cpp |
 | llvm/test/DebugInfo/X86/dbg-value-regmask-clobber.ll |
 | llvm/lib/DebugInfo/DWARF/DWARFDie.cpp |
 | llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h |
 | llvm/test/DebugInfo/X86/dbg-value-frame-index.ll |
 | llvm/test/CodeGen/X86/debug-loclists.ll |
Commit
dea8f3b0a4eabb930f605343ff5e3e39a1791f86
by Tim Northoverarm64_32: support function return in FastISel.
|
 | llvm/test/CodeGen/AArch64/arm64_32-fastisel.ll |
 | llvm/lib/Target/AArch64/AArch64FastISel.cpp |
 | llvm/test/CodeGen/AArch64/arm64_32.ll |
Commit
d27a16eb392f39f9ee04ff5194b1eff3e189e6f8
by sam.mccallRevert "[DWARF5]Addition of alignment atrribute in typedef DIE." This reverts commit 423f541c1a322963cf482683fe9777ef0692082d, which breaks llvm-c ABI.
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp |
 | llvm/lib/IR/DebugInfo.cpp |
 | clang/lib/CodeGen/CGDebugInfo.cpp |
 | llvm/test/DebugInfo/X86/debug-info-template-align.ll |
 | llvm/tools/llvm-c-test/debuginfo.c |
 | llvm/include/llvm-c/DebugInfo.h |
 | llvm/lib/IR/DIBuilder.cpp |
 | llvm/include/llvm/IR/DIBuilder.h |
 | clang/test/CodeGenCXX/debug-info-template-align.cpp |
Commit
aea7578fade2563cb5ea60548914667b515c457a
by russell.gallop[NFC] Fix test reserve_global_reg.ll after 2d739f9
|
 | llvm/test/Feature/reserve_global_reg.ll |
Commit
4f80fc2491cc35730a9a84b86975278b7daa8522
by hokein.wu[clangd] Implement rename by using SelectionTree and findExplicitReferences. Summary: With the new implemenation, we will have better coverage of various AST nodes, and fix some known/potential bugs. Also added the existing clang-renamae tests. Known changed behavior: - "~Fo^o()" will not trigger the rename, will fix afterwards - references in macro bodies are not renamed now This fixes: - https://github.com/clangd/clangd/issues/167 - https://github.com/clangd/clangd/issues/169 - https://github.com/clangd/clangd/issues/171 Reviewers: ilya-biryukov Subscribers: MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69934
|
 | clang-tools-extra/clangd/unittests/RenameTests.cpp |
 | clang-tools-extra/clangd/refactor/Rename.cpp |
Commit
fa541860564ba3a82bf085613ebc1376f641e966
by pavel[NFC] Clean up debug-names-verify-completeness.s test This patch replaces the tabs by spaces and avoid the need for a debug_str section by moving all strings inline. It also removes the hardcoded DIE offsets in the test, which will simplify a follow-up patch.
|
 | llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify-completeness.s |
Commit
2054ed052f15b584e1bce57c8f765991eab2da7d
by usx[clangd] Store xref for Macros in ParsedAST. This patch adds the cross references for Macros in the MainFile. We add references for the main file to the ParsedAST. We query the references from it using the SymbolID. Xref outside main file will be added to the index in a separate patch.
|
 | clang-tools-extra/clangd/CollectMacros.h |
 | clang-tools-extra/clangd/unittests/ParsedASTTests.cpp |
 | clang-tools-extra/clangd/XRefs.cpp |
 | clang-tools-extra/clangd/unittests/CMakeLists.txt |
 | clang-tools-extra/clangd/unittests/CollectMacrosTests.cpp |
 | clang-tools-extra/clangd/SemanticHighlighting.cpp |
Commit
7e45b5864f1881ba0e6ca45286a746979b56b17c
by llvmgnsyncbotgn build: Merge 2054ed052f1
|
 | llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn |
Commit
b0567be2b48a8f55e8fe747bd21f24745f9bf9c9
by julian.lettner[ASan] Mark test as UNSUPPORTED for iOS simulator coverage-fork.cpp uses `fork()` which requires additional permissions in the iOS simulator sandbox. We cannot use `sandbox-exec` to grant these permissions since this is a Posix (not Darwin) test.
|
 | compiler-rt/test/asan/TestCases/Posix/coverage-fork.cpp |
Commit
c3eded068c64bfe614d25359927a2917ff8e4a35
by a.bataev[OPENMP50]Fix PR44024: runtime assert in distribute construct. If the code is emitted for distribute construct, the nonmonotonic modifier should not be added.
|
 | clang/lib/CodeGen/CGOpenMPRuntime.cpp |
 | clang/test/OpenMP/distribute_codegen.cpp |
Commit
015b2e699f0c7205564e51dd73a0d619571640bf
by francesco.petrogalli[dwarfgen] Fix initialization order error. [NFCI] This commit fixes the `-Werror=reorder` builds.
|
 | llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp |
Commit
c85fa79d3663ecb3117e178b2a79ffa721d18e32
by jdenny.ornl[Attr] Fix `-ast-print` for `asm` attribute Without this fix, the tests introduced here produce the following assert fail: ``` clang: /home/jdenny/llvm/clang/include/clang/Basic/AttributeCommonInfo.h:163: unsigned int clang::AttributeCommonInfo::getAttributeSpellingListIndex() const: Assertion `(isAttributeSpellingListCalculated() || AttrName) && "Spelling cannot be found"' failed. ``` The bug was introduced by D67368, which caused `AsmLabelAttr`'s spelling index to be set to `SpellingNotCalculated`. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D70349
|
 | clang/test/AST/ast-print-attr.c |
 | clang/lib/Sema/SemaDecl.cpp |
Commit
63f0f54c89fba0dec12d4e169313d4b527348b52
by maskray[yaml2obj][test] Move tests to binary format specific subdirectories Create COFF/, ELF/, and Minidump and move tests there. Also * Rename `*.test` to `*.yaml` * For yaml2obj RUN lines, use `-o %t` instead of `> %t` for consistency. We still have tests that check stdout is the default output, e.g. multi-doc.test * Update tests to consistently use `##` for comments. `#` is for RUN and CHECK lines. * Merge symboless-relocation.yaml and invalid-symboless-relocation.yaml to ELF/relocation-implicit-symbol-index.test Reviewed By: grimar, jhenderson Differential Revision: https://reviews.llvm.org/D70264
|
 | llvm/test/tools/yaml2obj/ELF/program-header-align.yaml |
 | llvm/test/tools/yaml2obj/multi-doc.test |
 | llvm/test/tools/yaml2obj/ELF/abiversion.yaml |
 | llvm/test/tools/yaml2obj/symtab-implicit-sections-flags.yaml |
 | llvm/test/tools/yaml2obj/ELF/dynamic-section-i386.yaml |
 | llvm/test/tools/yaml2obj/elf-comdat-broken-members.yaml |
 | llvm/test/tools/yaml2obj/empty-symbols.yaml |
 | llvm/test/tools/yaml2obj/elf-custom-null-section.yaml |
 | llvm/test/tools/yaml2obj/dynsymtab-implicit-sections-size-content.yaml |
 | llvm/test/tools/yaml2obj/ELF/section-type.yaml |
 | llvm/test/tools/yaml2obj/symtab-implicit-sections-size-content.yaml |
 | llvm/test/tools/yaml2obj/elf-override-shoffset.yaml |
 | llvm/test/tools/yaml2obj/ELF/sh-addralign.yaml |
 | llvm/test/tools/yaml2obj/elf-symbol-binding.yaml |
 | llvm/test/tools/yaml2obj/explicit-dynsym-no-dynstr.yaml |
 | llvm/test/tools/yaml2obj/program-header.yaml |
 | llvm/test/tools/yaml2obj/elf-header-sh-fields.yaml |
 | llvm/test/tools/yaml2obj/ELF/symtab-implicit-sections-flags.yaml |
 | llvm/test/tools/yaml2obj/elf-sh-addralign.yaml |
 | llvm/test/tools/yaml2obj/elf-stack-sizes.yaml |
 | llvm/test/tools/yaml2obj/Minidump/systeminfo-other-short.yaml |
 | llvm/test/tools/yaml2obj/elf-override-shname.yaml |
 | llvm/test/tools/yaml2obj/ELF/empty-symbols.yaml |
 | llvm/test/tools/yaml2obj/ELF/symbol-binding.yaml |
 | llvm/test/tools/yaml2obj/linker-options.yaml |
 | llvm/test/tools/yaml2obj/ELF/dynamic-section-raw-content.yaml |
 | llvm/test/tools/yaml2obj/symtab-shlink.yaml |
 | llvm/test/tools/yaml2obj/ELF/symtab-shtype.yaml |
 | llvm/test/tools/yaml2obj/ELF/dynamic-symbols.yaml |
 | llvm/test/tools/yaml2obj/elf-gnu-unique-symbols.yaml |
 | llvm/test/tools/yaml2obj/Minidump/exception-missing-parameter.yaml |
 | llvm/test/tools/yaml2obj/ELF/comdat-broken-members.yaml |
 | llvm/test/tools/yaml2obj/relocation-missing-symbol.yaml |
 | llvm/test/tools/yaml2obj/ELF/comdat-broken.yaml |
 | llvm/test/tools/yaml2obj/local-symbols.yaml |
 | llvm/test/tools/yaml2obj/section-ordering.yaml |
 | llvm/test/tools/yaml2obj/dynamic-section-i386.test |
 | llvm/test/tools/yaml2obj/elf-emachine.yaml |
 | llvm/test/tools/yaml2obj/elf-llvm-addrsig-section.yaml |
 | llvm/test/tools/yaml2obj/ELF/strtab-implicit-sections-size-content.yaml |
 | llvm/test/tools/yaml2obj/section-size-content.yaml |
 | llvm/test/tools/yaml2obj/ELF/override-shname.yaml |
 | llvm/test/tools/yaml2obj/symbol-index-invalid.yaml |
 | llvm/test/tools/yaml2obj/elf-symtab-shinfo.yaml |
 | llvm/test/tools/yaml2obj/ELF/relocation-implicit-symbol-index.yaml |
 | llvm/test/tools/yaml2obj/ELF/duplicate-section-names.yaml |
 | llvm/test/tools/yaml2obj/elf-ent-size.yaml |
 | llvm/test/tools/yaml2obj/ELF/header-elfdatanone.yaml |
 | llvm/test/tools/yaml2obj/relocation-unsupported-machine.yaml |
 | llvm/test/tools/yaml2obj/dynamic-symbols.yaml |
 | llvm/test/tools/yaml2obj/verdef-section.yaml |
 | llvm/test/tools/yaml2obj/elf-header-elfdatanone.yaml |
 | llvm/test/tools/yaml2obj/Minidump/systeminfo-other-long.yaml |
 | llvm/test/tools/yaml2obj/invalid_output_file.test |
 | llvm/test/tools/yaml2obj/ELF/hash-section.yaml |
 | llvm/test/tools/yaml2obj/ELF/relocation-explicit-symbol-index.yaml |
 | llvm/test/tools/yaml2obj/program-header-size-offset.yaml |
 | llvm/test/tools/yaml2obj/dynamic-section.yaml |
 | llvm/test/tools/yaml2obj/ELF/dynsymtab-implicit-sections-size-content.yaml |
 | llvm/test/tools/yaml2obj/COFF/invalid-alignment.yaml |
 | llvm/test/tools/yaml2obj/ELF/class-endianness.yaml |
 | llvm/test/tools/yaml2obj/ELF/stack-sizes.yaml |
 | llvm/test/tools/yaml2obj/ELF/section-unnamed.yaml |
 | llvm/test/tools/yaml2obj/Minidump/systeminfo-other-not-hex.yaml |
 | llvm/test/tools/yaml2obj/minidump-systeminfo-other-long.yaml |
 | llvm/test/tools/yaml2obj/implicit-sections-info.yaml |
 | llvm/test/tools/yaml2obj/ELF/symbol-visibility.yaml |
 | llvm/test/tools/yaml2obj/ELF/dynsymtab-shlink.yaml |
 | llvm/test/tools/yaml2obj/invalid-docnum.test |
 | llvm/test/tools/yaml2obj/ELF/symbol-type.yaml |
 | llvm/test/tools/yaml2obj/symboless-relocation.yaml |
 | llvm/test/tools/yaml2obj/ELF/explicit-dynsym-no-dynstr.yaml |
 | llvm/test/tools/yaml2obj/elf-abiversion.yaml |
 | llvm/test/tools/yaml2obj/invalid-symboless-relocation.yaml |
 | llvm/test/tools/yaml2obj/ELF/program-header.yaml |
 | llvm/test/tools/yaml2obj/coff-symbol-index.yaml |
 | llvm/test/tools/yaml2obj/section-link.yaml |
 | llvm/test/tools/yaml2obj/duplicate-symbol-names.test |
 | llvm/test/tools/yaml2obj/section-type.yaml |
 | llvm/test/tools/yaml2obj/ELF/section-size-content.yaml |
 | llvm/test/tools/yaml2obj/elf-symtab-shtype.yaml |
 | llvm/test/tools/yaml2obj/minidump-systeminfo-x86-short.yaml |
 | llvm/test/tools/yaml2obj/elf-class-endianness.test |
 | llvm/test/tools/yaml2obj/ELF/implicit-sections-types.yaml |
 | llvm/test/tools/yaml2obj/ELF/section-link.yaml |
 | llvm/test/tools/yaml2obj/implicit-sections-types.test |
 | llvm/test/tools/yaml2obj/ELF/override-shsize.yaml |
 | llvm/test/tools/yaml2obj/Minidump/systeminfo-x86-short.yaml |
 | llvm/test/tools/yaml2obj/dynamic-relocations.yaml |
 | llvm/test/tools/yaml2obj/ELF/section-ordering.yaml |
 | llvm/test/tools/yaml2obj/ELF/header-sh-fields.yaml |
 | llvm/test/tools/yaml2obj/reloc-sec-info.yaml |
 | llvm/test/tools/yaml2obj/coff-invalid-alignment.test |
 | llvm/test/tools/yaml2obj/elf-no-phdrs.yaml |
 | llvm/test/tools/yaml2obj/elf-symbol-stother.yaml |
 | llvm/test/tools/yaml2obj/verneed-section.yaml |
 | llvm/test/tools/yaml2obj/elf-hash-section.yaml |
 | llvm/test/tools/yaml2obj/ELF/comdat-broken-info.yaml |
 | llvm/test/tools/yaml2obj/ELF/symtab-shinfo.yaml |
 | llvm/test/tools/yaml2obj/ELF/gnu-unique-symbols.yaml |
 | llvm/test/tools/yaml2obj/ELF/override-shoffset.yaml |
 | llvm/test/tools/yaml2obj/ELF/program-header-size-offset.yaml |
 | llvm/test/tools/yaml2obj/ELF/symtab-shlink.yaml |
 | llvm/test/tools/yaml2obj/ELF/llvm-addrsig-section.yaml |
 | llvm/test/tools/yaml2obj/ELF/strtab-implicit-sections-flags.yaml |
 | llvm/test/tools/yaml2obj/elf-sht-symtab-shndx.yaml |
 | llvm/test/tools/yaml2obj/elf-override-shsize.yaml |
 | llvm/test/tools/yaml2obj/minidump-systeminfo-x86-long.yaml |
 | llvm/test/tools/yaml2obj/COFF/symbol-index.yaml |
 | llvm/test/tools/yaml2obj/custom-fill.yaml |
 | llvm/test/tools/yaml2obj/unnamed-section.yaml |
 | llvm/test/tools/yaml2obj/dynamic-section-raw-content.yaml |
 | llvm/test/tools/yaml2obj/minidump-systeminfo-other-not-hex.yaml |
 | llvm/test/tools/yaml2obj/implicit-sections.test |
 | llvm/test/tools/yaml2obj/ELF/program-header-nobits.yaml |
 | llvm/test/tools/yaml2obj/strtab-implicit-sections-flags.yaml |
 | llvm/test/tools/yaml2obj/ELF/implicit-sections-info.yaml |
 | llvm/test/tools/yaml2obj/symbol-index.yaml |
 | llvm/test/tools/yaml2obj/minidump-systeminfo-other-short.yaml |
 | llvm/test/tools/yaml2obj/ELF/symbol-stother.yaml |
 | llvm/test/tools/yaml2obj/ELF/custom-fill.yaml |
 | llvm/test/tools/yaml2obj/ELF/symbol-name.yaml |
 | llvm/test/tools/yaml2obj/ELF/implicit-sections.yaml |
 | llvm/test/tools/yaml2obj/elf-symbols-binding-order.yaml |
 | llvm/test/tools/yaml2obj/relocation-explicit-symbol-index.yaml |
 | llvm/test/tools/yaml2obj/ELF/emachine.yaml |
 | llvm/test/tools/yaml2obj/ELF/local-symbols.yaml |
 | llvm/test/tools/yaml2obj/ELF/dynamic-section.yaml |
 | llvm/test/tools/yaml2obj/dynsymtab-shlink.yaml |
 | llvm/test/tools/yaml2obj/coff-arm64.yaml |
 | llvm/test/tools/yaml2obj/strtab-implicit-sections-size-content.yaml |
 | llvm/test/tools/yaml2obj/implicit-sections-addr.yaml |
 | llvm/test/tools/yaml2obj/Minidump/systeminfo-x86-long.yaml |
 | llvm/test/tools/yaml2obj/ELF/duplicate-symbol-names.yaml |
 | llvm/test/tools/yaml2obj/ELF/verdef-section.yaml |
 | llvm/test/tools/yaml2obj/minidump-raw-stream-small-size.yaml |
 | llvm/test/tools/yaml2obj/elf-comdat-broken-info.yaml |
 | llvm/test/tools/yaml2obj/ELF/custom-null-section.yaml |
 | llvm/test/tools/yaml2obj/program-header-nobits.yaml |
 | llvm/test/tools/yaml2obj/duplicate-section-names.test |
 | llvm/test/tools/yaml2obj/ELF/relocation-unsupported-machine.yaml |
 | llvm/test/tools/yaml2obj/ELF/symtab-implicit-sections-size-content.yaml |
 | llvm/test/tools/yaml2obj/minidump-exception-missing-parameter.yaml |
 | llvm/test/tools/yaml2obj/ELF/symbols-binding-order.yaml |
 | llvm/test/tools/yaml2obj/symbol-name.yaml |
 | llvm/test/tools/yaml2obj/ELF/linker-options.yaml |
 | llvm/test/tools/yaml2obj/Minidump/raw-stream-small-size.yaml |
 | llvm/test/tools/yaml2obj/ELF/gnu-hash-section.yaml |
 | llvm/test/tools/yaml2obj/ELF/no-phdrs.yaml |
 | llvm/test/tools/yaml2obj/ELF/relocation-missing-symbol.yaml |
 | llvm/test/tools/yaml2obj/ELF/symbol-index-invalid.yaml |
 | llvm/test/tools/yaml2obj/elf-symbol-visibility.yaml |
 | llvm/test/tools/yaml2obj/symbol-type.yaml |
 | llvm/test/tools/yaml2obj/ELF/implicit-sections-addr.yaml |
 | llvm/test/tools/yaml2obj/elf-comdat-broken.yaml |
 | llvm/test/tools/yaml2obj/ELF/invalid-docnum.yaml |
 | llvm/test/tools/yaml2obj/ELF/ent-size.yaml |
 | llvm/test/tools/yaml2obj/program-header-align.yaml |
 | llvm/test/tools/yaml2obj/ELF/reloc-sec-info.yaml |
 | llvm/test/tools/yaml2obj/ELF/dynamic-relocations.yaml |
 | llvm/test/tools/yaml2obj/ELF/verneed-section.yaml |
 | llvm/test/tools/yaml2obj/ELF/versym-section.yaml |
 | llvm/test/tools/yaml2obj/invalid-output-file.yaml |
 | llvm/test/tools/yaml2obj/ELF/sht-symtab-shndx.yaml |
 | llvm/test/tools/yaml2obj/COFF/basic-arm64.yaml |
 | llvm/test/tools/yaml2obj/versym-section.yaml |
 | llvm/test/tools/yaml2obj/elf-gnu-hash-section.yaml |
 | llvm/test/tools/yaml2obj/multi-doc.yaml |
 | llvm/test/tools/yaml2obj/ELF/symbol-index.yaml |
Commit
0aed648649775bfe29b01f7ad9b072f92df7c448
by Jonas Devlieghere[Docs] Add Python caveats under the development section This adds a page named Caveats with a section on some of the things to be aware of related to Python. It's a question we've seen more than once pop up and I think it's good to have it documentation on the website. Even though some of it might be useful to users, I still put it under "development" because it requires some understanding of how LLDB is built. Differential revision: https://reviews.llvm.org/D70252
|
 | lldb/docs/resources/build.rst |
 | lldb/docs/resources/caveats.rst |
 | lldb/docs/index.rst |
Commit
b87fc09dceeff9cb838884961d817c0ab0257176
by julian.lettnerBump sanitizer macOS deployment target to 10.10 Bump default value for `SANITIZER_MIN_OSX_VERSION` to 10.10 (from 10.9). TSan does not work on macOS 10.9 and a nice error message is preferable to an "unreferenced symbol" error when loading the TSan runtime. We could try to only bump the deployment target for TSan, but we would have to invest into adding support for this to our CMake build and it does not seem worth it. macOS 10.10 was released in 2014. rdar://31335781
|
 | compiler-rt/cmake/config-ix.cmake |
Commit
4d4066a52013768118f736bc6582c2c43c780507
by julian.lettnerBump sanitizer iOS deployment target to 9.0 Bump default value for `-miphoneos-version-min=x` to 9.0 (from 8.0). TSan tests that use thread local storage `__thread` (e.g., tls_race.cpp) are failing to link for the iOS simulator (arch=x86_64 and -miphoneos-version-min=8.0) on internal/master (will be submitted to Glacier train): ``` ld: targeted OS version does not support use of thread local variables in _main for architecture x86_64 ``` iOS 9.0 was released 2015.
|
 | compiler-rt/cmake/config-ix.cmake |
Commit
7e4d386b77f982b260156fc6016ea9c33f466e0b
by julian.lettner[cmake] Factor out DEFAULT_SANITIZER_MIN_OSX_VERSION
|
 | compiler-rt/cmake/config-ix.cmake |
Commit
d4f18f11d372bd02127424ae6a8f8a30f77a0426
by Adrian PrantlReplace bitfield in lldb::Type with byte-sized members. (NFC) Due to alginment and packing using separate members takes up the same amount of space, but makes it far less cumbersome to deal with it in constructors etc.
|
 | lldb/source/Symbol/Type.cpp |
 | lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp |
 | lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp |
 | lldb/include/lldb/Symbol/Type.h |
 | lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp |
Commit
17e37ba57a696198c9744eeba4f8f293f155587a
by michael.hliaoFix shared lib build.
|
 | lld/lib/ReaderWriter/CMakeLists.txt |
 | lld/lib/Core/CMakeLists.txt |
Commit
5a4a05d776d3adacad344b2b5e15cf594c906bce
by jonathanchesterfield[libomptarget][nfc] Move some source into common from nvptx Summary: [libomptarget][nfc] Move some source into common from nvptx Moves some source that compiles cleanly under amdgcn into a common subdirectory Includes some non-trivial files and some headers. Keeps the cuda file extension. The build systems for different architectures seem unlikely to have much in common. The idea is therefore to set include paths such that files under common/src compile as if they were under arch/src as the mechanism for sharing. In particular, files under common/src need to be able to include target_impl.h. The corresponding -Icommon is left out in favour of explicit includes on the basis that the it makes it clearer which files under common are used by a given architecture. Reviewers: jdoerfert, ABataev, grokos Reviewed By: ABataev Subscribers: jfb, mgorny, openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D70328
|
 | openmp/libomptarget/deviceRTLs/nvptx/src/debug.h |
 | openmp/libomptarget/deviceRTLs/nvptx/src/support.cu |
 | openmp/libomptarget/deviceRTLs/nvptx/src/loop.cu |
 | openmp/libomptarget/deviceRTLs/common/src/critical.cu |
 | openmp/libomptarget/deviceRTLs/nvptx/src/state-queue.h |
 | openmp/libomptarget/deviceRTLs/common/state-queuei.h |
 | openmp/libomptarget/deviceRTLs/common/debug.h |
 | openmp/libomptarget/deviceRTLs/nvptx/src/critical.cu |
 | openmp/libomptarget/deviceRTLs/nvptx/src/omptarget-nvptx.h |
 | openmp/libomptarget/deviceRTLs/common/src/loop.cu |
 | openmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt |
 | openmp/libomptarget/deviceRTLs/nvptx/src/task.cu |
 | openmp/libomptarget/deviceRTLs/common/state-queue.h |
 | openmp/libomptarget/deviceRTLs/nvptx/src/cancel.cu |
 | openmp/libomptarget/deviceRTLs/common/src/cancel.cu |
 | openmp/libomptarget/deviceRTLs/nvptx/src/state-queuei.h |
 | openmp/libomptarget/deviceRTLs/common/src/task.cu |
Commit
4624e83ce7b124545b55e45ba13f2d900ed65654
by Vedant Kumar[Signal] Allow llvm clients to opt into one-shot SIGPIPE handling Allow clients of the llvm library to opt-in to one-shot SIGPIPE handling, instead of forcing them to undo llvm's SIGPIPE handler registration (which is brittle). The current behavior is preserved for all llvm-derived tools (except lldb) by means of a default-`true` flag in the InitLLVM constructor. This prevents "IO error" crashes in long-lived processes (lldb is the motivating example) which both a) load llvm as a dynamic library and b) *really* need to ignore SIGPIPE. As llvm signal handlers can be installed when calling into libclang (say, via RemoveFileOnSignal), thereby overriding a previous SIG_IGN for SIGPIPE, there is no clean way to opt-out of "exit-on-SIGPIPE" in the current model. Differential Revision: https://reviews.llvm.org/D70277
|
 | llvm/include/llvm/Support/InitLLVM.h |
 | llvm/include/llvm/Support/Signals.h |
 | llvm/lib/Support/Windows/Signals.inc |
 | lldb/tools/driver/Driver.cpp |
 | lldb/tools/lldb-server/lldb-server.cpp |
 | llvm/lib/Support/Unix/Signals.inc |
 | llvm/lib/Support/InitLLVM.cpp |
Commit
1689ad27af5c5712f42542807eb4ecdfe84c2eca
by yikong[builtins] Implement rounding mode support for i386/x86_64 Differential Revision: https://reviews.llvm.org/D69870
|
 | compiler-rt/lib/builtins/CMakeLists.txt |
 | compiler-rt/test/builtins/Unit/addtf3_test.c |
 | compiler-rt/lib/builtins/i386/fp_mode.c |
 | compiler-rt/test/builtins/Unit/subtf3_test.c |
Commit
b4e2b112b58154a89171df39dae80044865ff4ff
by francisvm[Remarks][Driver] Use different remark files when targeting multiple architectures When the driver is targeting multiple architectures at once, for things like Universal Mach-Os, we need to emit different remark files for each cc1 invocation to avoid overwriting the files from a different invocation. For example: $ clang -c -o foo.o -fsave-optimization-record -arch x86_64 -arch x86_64h will create two remark files: * foo-x86_64.opt.yaml * foo-x86_64h.opt.yaml
|
 | clang/test/Driver/opt-record.c |
 | clang/lib/Driver/ToolChains/Clang.cpp |
Commit
a77b66a05625ea4271c2d76f65428cce02e4699e
by rnkAllocate builtins table earlier to fix bug found by ubsan Follow up to 979da9a4c3ba
|
 | clang/lib/Lex/Preprocessor.cpp |
Commit
30e7ee3c4bac4a12ea584a879aa320bd4e035cc2
by echristoTemporarily Revert "Add support for options -frounding-math, ftrapping-math, -ffp-model=, and -ffp-exception-behavior=" and a follow-up NFC rearrangement as it's causing a crash on valid. Testcase is on the original review thread. This reverts commits af57dbf12e54f3a8ff48534bf1078f4de104c1cd and e6584b2b7b2de06f1e59aac41971760cac1e1b79
|
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | llvm/lib/IR/IntrinsicInst.cpp |
 | clang/include/clang/Basic/LangOptions.h |
 | clang/test/Driver/fast-math.c |
 | clang/include/clang/Driver/Options.td |
 | llvm/lib/IR/FPEnv.cpp |
 | llvm/unittests/IR/IRBuilderTest.cpp |
 | clang/test/Driver/fp-model.c |
 | llvm/include/llvm/IR/FPEnv.h |
 | clang/lib/CodeGen/CodeGenFunction.cpp |
 | llvm/lib/IR/CMakeLists.txt |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | clang/docs/UsersManual.rst |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/test/CodeGen/fpconstrained.c |
 | clang/include/clang/Basic/LangOptions.def |
 | llvm/include/llvm/Target/TargetOptions.h |
 | clang/test/Driver/clang_f_opts.c |
 | llvm/include/llvm/IR/IntrinsicInst.h |
 | clang/lib/CodeGen/CodeGenFunction.h |
 | llvm/include/llvm/IR/IRBuilder.h |
Commit
1ff5f0ced3163e457c799bd3bd838153806d6320
by rnkRevert "[Remarks][Driver] Use different remark files when targeting multiple architectures" This reverts commit b4e2b112b58154a89171df39dae80044865ff4ff. Test doesn't appear to pass on Windows, maybe all non-Mac.
|
 | clang/test/Driver/opt-record.c |
 | clang/lib/Driver/ToolChains/Clang.cpp |
Commit
9d93893914086738c577a4f4f1089f6a004a2261
by stefanp[PowerPC] Test case for vector float gather on ppc64le and ppc64 Test case to verify that the expected code is generated for a vector float gather based on the patterns in tablegen for big and little endian cases. Patch by: Kamau Bridgeman Differential Revision: https://reviews.llvm.org/D69443
|
 | llvm/test/CodeGen/PowerPC/float-vector-gather.ll |
Commit
e15b26fbbd901315a1402f97e83abf29bdce9a9f
by francisvmReland: [Remarks][Driver] Use different remark files when targeting multiple architectures When the driver is targeting multiple architectures at once, for things like Universal Mach-Os, we need to emit different remark files for each cc1 invocation to avoid overwriting the files from a different invocation. For example: $ clang -c -o foo.o -fsave-optimization-record -arch x86_64 -arch x86_64h will create two remark files: * foo-x86_64.opt.yaml * foo-x86_64h.opt.yaml
|
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/test/Driver/darwin-opt-record.c |
Commit
ad5a84c883354e8bb595ebfd9971fe4a14b770fd
by listmail[LoopPred/WC] Use a dominating widenable condition to remove analyze loop exits This implements a version of the predicateLoopExits transform from IndVarSimplify extended to exploit widenable conditions - and thus be much wider in scope of legality. The code structure ends up being almost entirely different, so I chose to duplicate this into the LoopPredication pass instead of trying to reuse the code in the IndVars. The core notions of the transform are as follows: If we have a widenable condition which controls entry into the loop, we're allowed to widen it arbitrarily. Given that, it's simply a *profitability* question as to what conditions to fold into the widenable branch. To avoid pass ordering issues, we want to avoid widening cases that would otherwise be dischargeable. Or... widen in a form which can still be discharged. Thus, we phrase the transform as selecting one analyzeable exit from the set of analyzeable exits to keep. This avoids creating pass ordering complexities. Since none of the above proves that we actually exit through our analyzeable exits - we might exit through something else entirely - we limit ourselves to cases where a) the latch is analyzeable and b) the latch is predicted taken, and c) the exit being removed is statically cold. Differential Revision: https://reviews.llvm.org/D69830
|
 | llvm/lib/Transforms/Scalar/LoopPredication.cpp |
 | llvm/test/Transforms/LoopPredication/predicate-exits.ll |
Commit
6e20d70a695028099b1705cfcfd1373d9d62e747
by craig.topper[LegalizeDAG] Convert strict fp nodes to libcalls without losing the chain. Previously we mutated the node and then converted it to a libcall. But this loses the chain information. This patch keeps the chain, but unfortunately breaks tail call optimization as the functions involved in deciding if a node is in tail call position can't handle the chain. But correct ordering seems more important to be right. Somehow the SystemZ tests improved. I looked at one of them and it seemed that we're handling the split vector elements in a different order and that made the copies work better. Differential Revision: https://reviews.llvm.org/D70334
|
 | llvm/test/CodeGen/X86/fp-intrinsics.ll |
 | llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp |
 | llvm/test/CodeGen/X86/fp-intrinsics-fma.ll |
 | llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll |
Commit
d4e1ba3fa9dfec2613bdcc7db0b58dea490c56b1
by Duncan P. N. Exon SmithImplement __attribute__((objc_direct)), __attribute__((objc_direct_members)) __attribute__((objc_direct)) is an attribute on methods declaration, and __attribute__((objc_direct_members)) on implementation, categories or extensions. A `direct` property specifier is added (@property(direct) type name) These attributes / specifiers cause the method to have no associated Objective-C metadata (for the property or the method itself), and the calling convention to be a direct C function call. The symbol for the method has enforced hidden visibility and such direct calls are hence unreachable cross image. An explicit C function must be made if so desired to wrap them. The implicit `self` and `_cmd` arguments are preserved, however to maintain compatibility with the usual `objc_msgSend` semantics, 3 fundamental precautions are taken: 1) for instance methods, `self` is nil-checked. On arm64 backends this typically adds a single instruction (cbz x0, <closest-ret>) to the codegen, for the vast majority of the cases when the return type is a scalar. 2) for class methods, because the class may not be realized/initialized yet, a call to `[self self]` is emitted. When the proper deployment target is used, this is optimized to `objc_opt_self(self)`. However, long term we might want to emit something better that the optimizer can reason about. When inlining kicks in, these calls aren't optimized away as the optimizer has no idea that a single call is really necessary. 3) the calling convention for the `_cmd` argument is changed: the caller leaves the second argument to the call undefined, and the selector is loaded inside the body when it's referenced only. As far as error reporting goes, the compiler refuses: - making any overloads direct, - making an overload of a direct method, - implementations marked as direct when the declaration in the interface isn't (the other way around is allowed, as the direct attribute is inherited from the declaration), - marking methods required for protocol conformance as direct, - messaging an unqualified `id` with a direct method, - forming any @selector() expression with only direct selectors. As warnings: - any inconsistency of direct-related calling convention when @selector() or messaging is used, - forming any @selector() expression with a possibly direct selector. Lastly an `objc_direct_members` attribute is added that can decorate `@implementation` blocks and causes methods only declared there (and in no `@interface`) to be automatically direct. When decorating an `@interface` then all methods and properties declared in this block are marked direct. Radar-ID: rdar://problem/2684889 Differential Revision: https://reviews.llvm.org/D69991 Reviewed-By: John McCall
|
 | clang/lib/AST/TextNodeDumper.cpp |
 | clang/lib/CodeGen/CGObjC.cpp |
 | clang/lib/Sema/SemaObjCProperty.cpp |
 | clang/lib/CodeGen/CGObjCMac.cpp |
 | clang/include/clang/Basic/ObjCRuntime.h |
 | clang/lib/Sema/SemaDeclObjC.cpp |
 | clang/test/SemaObjC/method-direct-properties.m |
 | clang/include/clang/Sema/Sema.h |
 | clang/test/SemaObjC/method-direct.m |
 | clang/lib/Parse/ParseObjc.cpp |
 | clang/lib/CodeGen/CGObjCGNU.cpp |
 | clang/include/clang/Basic/AttrDocs.td |
 | clang/lib/AST/DeclObjC.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/lib/AST/DeclPrinter.cpp |
 | clang/test/CodeGenObjC/direct-method.m |
 | clang/lib/Sema/SemaDeclAttr.cpp |
 | clang/test/Misc/pragma-attribute-supported-attributes-list.test |
 | clang/lib/AST/JSONNodeDumper.cpp |
 | clang/lib/Sema/SemaExprObjC.cpp |
 | clang/include/clang/AST/DeclObjC.h |
 | clang/include/clang/Sema/DeclSpec.h |
 | clang/include/clang/Basic/Attr.td |
 | clang/lib/CodeGen/CGObjCRuntime.h |
Commit
ff75bf6ac93a9ef5a7d41f7645e02fde3e968ce1
by craig.topper[X86] Add AMD Matisse (znver2) model number to getHostCPUName and compiler-rt's getAMDProcessorTypeAndSubtype. This is the CPUID model used on Ryzen 3000 series (Zen 2/Matisse) CPUs. Patch by Alex James Differential Revision: https://reviews.llvm.org/D70279
|
 | llvm/lib/Support/Host.cpp |
 | compiler-rt/lib/builtins/cpu_model.c |
Commit
3be6dbca3b88e82009e1990957c15b94455c1714
by tejohnson[ThinLTO] Promotion handling cleanup (NFC) Summary: Clean up the code that does GV promotion in the ThinLTO backends. Specifically, we don't need to check whether we are importing since that is already checked and handled correctly in shouldPromoteLocalToGlobal. Simply call shouldPromoteLocalToGlobal, and if it returns true we are guaranteed that we are promoting, whether or not we are importing (or in the exporting module). This also makes the handling in getName() consistent with that in getLinkage(), which checks the DoPromote parameter regardless of whether we are importing or exporting. Reviewers: steven_wu, pcc, evgeny777 Subscribers: mehdi_amini, inglorion, hiraditya, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70327
|
 | llvm/lib/Transforms/Utils/FunctionImportUtils.cpp |
 | llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h |
Commit
626260cfe3c7a5d9747f0bf13d87fa1855eb74bb
by danalbertUpdate the docs for building libc++. Summary: Rewrite the in-tree build to be a clearer tl;dr like we have for the out-of-tree build. Reviewers: EricWF, mclow.lists, ldionne Reviewed By: ldionne Subscribers: dexonsmith, christof, ldionne, enh, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D69917
|
 | libcxx/docs/BuildingLibcxx.rst |
Commit
8bfb353bb33cd2bcd2ef28e36eb8b90123b153c4
by erik.pilkington[Sema] Fix a -Wobjc-signed-char-bool false-positive Unsigned bit-field flags can only have boolean values, so handle that case in Expr::isKnownToHaveBooleanValue. rdar://56256999
|
 | clang/lib/AST/Expr.cpp |
 | clang/test/SemaObjC/signed-char-bool-conversion.m |
Commit
fffcd3e48ecf3f66d97c3b4daf624b3b2f9d74bf
by craig.topper[X86] Add a 'break;' to the end of the last case in a switch to avoid surprising the next person to add a case after this one. NFC
|
 | llvm/lib/Target/X86/X86ISelDAGToDAG.cpp |
Commit
19fd9039ca242f408493b5c662f9d908eab8555e
by danalbertFix _LIBCPP_HAS_ definitions for Android. Summary: Android added quick_exit()/at_quick_exit() in API level 21, aligned_alloc() in API level 28, and timespec_get() in API level 29, but has the other C11 features at all API levels (since they're basically just coming from clang directly). _LIBCPP_HAS_QUICK_EXIT and _LIBCPP_HAS_TIMESPEC_GET already existed, so we can reuse them. (And use _LIBCPP_HAS_TIMESPEC_GET in a few more places where _LIBCPP_HAS_C11_FEATURES has been used as a proxy. This isn't correct for Android.) _LIBCPP_HAS_ALIGNED_ALLOC is added, to cover aligned_alloc() (obviously). Add a missing std:: before aligned_alloc in a cstdlib test, and remove a couple of !defined(_WIN32)s now that we're explicitly testing TEST_HAS_ALIGNED_ALLOC rather than TEST_HAS_C11_FEATURES. Reviewers: danalbert, EricWF, mclow.lists Reviewed By: danalbert Subscribers: srhines, christof, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D69929
|
 | libcxx/test/std/language.support/support.runtime/ctime.pass.cpp |
 | libcxx/test/support/test_macros.h |
 | libcxx/test/std/utilities/time/date.time/ctime.pass.cpp |
 | libcxx/include/cstdlib |
 | libcxx/test/std/language.support/support.runtime/cstdlib.pass.cpp |
 | libcxx/include/__config |
 | libcxx/include/ctime |
 | libcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp |
Commit
8f8a9f3437d4517f674395da30edb59d5514f7bc
by diggerlinimplement printing out raw section data of xcoff objectfile for llvm-objdump SUMMARY: implement printing out raw section data of xcoff objectfile for llvm-objdump and option -D --disassemble-all option for llvm-objdump Reviewers: Sean Fertile Subscribers: rupprecht, seiyai,hiraditya Differential Revision: https://reviews.llvm.org/D70255
|
 | llvm/test/tools/llvm-objdump/xcoff-disassemble-all.test |
 | llvm/lib/Object/XCOFFObjectFile.cpp |
 | llvm/test/tools/llvm-objdump/xcoff-raw-section-data.test |
Commit
ee31adb7fa42f5b601d9612f23755b4604f83cac
by dimitryPopulate CUDA flags on FreeBSD too, as many other toolchains do. Summary: This allows `clang` to be used to compile CUDA programs. Compiled simple helloworld.cu with this. Reviewers: dim, emaste, tra, yaxunl, ABataev Reviewed By: tra Subscribers: dim, emaste, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69990
|
 | clang/lib/Driver/ToolChains/FreeBSD.cpp |
 | clang/test/Driver/cuda-options-freebsd.cu |
 | clang/lib/Driver/ToolChains/FreeBSD.h |
Commit
cc1b0bc24d2703087d80e4f4dc0560879733299a
by tejohnson[ThinLTO] Avoid extra index lookup during promotion Summary: Pass down the already accessed ValueInfo to shouldPromoteLocalToGlobal, to avoid an unnecessary extra index lookup. Add some assertion checking to confirm we have a non-empty VI when expected. Also some misc cleanup, merging the two versions of doImportAsDefinition, since one was only called by the other, and unnecessarily passed in a member variable. Reviewers: steven_wu, pcc, evgeny777 Reviewed By: evgeny777 Subscribers: mehdi_amini, inglorion, hiraditya, dexonsmith, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70337
|
 | llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h |
 | llvm/lib/Transforms/Utils/FunctionImportUtils.cpp |
Commit
2492b5a12550f7c4bb428c3761392f2ce47fa269
by Vedant Kumar[profile] Support online merging with continuous sync mode Make it possible to use online profile merging ("%m" mode) with continuous sync ("%c" mode). To implement this, the merged profile is locked in the runtime initialization step and either a) filled out for the first time or b) checked for compatibility. Then, the profile can simply be mmap()'d with MAP_SHARED set. With the mmap() in place, counter updates from every process which uses an image are mapped onto the same set of physical pages assigned by the filesystem cache. After the mmap() is set up, the profile is unlocked. Differential Revision: https://reviews.llvm.org/D69586
|
 | compiler-rt/lib/profile/InstrProfilingFile.c |
 | compiler-rt/test/profile/ContinuousSyncMode/online-merging.c |
 | clang/docs/SourceBasedCodeCoverage.rst |
 | compiler-rt/lib/profile/InstrProfilingPort.h |
 | compiler-rt/lib/profile/InstrProfilingBuffer.c |
Commit
c941db5b1acdc45fc1c50762684f1014e981abc6
by daniel_l_sanders[macho] Allow CPUSubtype to be adjusted before writing it to a file Summary: It's not always possible for a target to provide a MachO CPUSubtype up front as is required by the current implementation. Sometimes you need more information like the particular CPU implementation you are targeting. Give MCMachObjectTargetWriter subclasses the opportunity to modify the CPUSubtype after the MCMachObjectTargetWriter is created but before the object starts being written. Typically this would be done in response to instructions from a TargetStreamer. Reviewers: pete Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70344
|
 | llvm/include/llvm/MC/MCMachObjectWriter.h |
Commit
17919017878e9abda5bb33a38199c593b151dcd7
by daniel_l_sanders[macho] Allow CPUSubtype to contribute to architecture identification Summary: Sometimes the CPUSubtype determines the Triple::ArchType that must be used. Add the subtype to the API's to allow targets that need this to correctly identify the contents of the binary. Reviewers: pete Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70345
|
 | llvm/include/llvm/Object/MachO.h |
 | llvm/lib/Object/MachOObjectFile.cpp |
Commit
9b36f2cfd98d56531b95c1f62976c01b65a0c18b
by Cyndy IshidaFix iOSDarwin()'s doc comment. Summary: I saw the doc comment using the Option + Click in Xcode and I was confused by the fact that tvOS wasn't listed. The method definition also doesn't make it clear that the check for tvOS is taking place as the tvOS check is hidden in the isiOS() check. Reviewers: rjmccall Reviewed By: rjmccall Subscribers: dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70364 This patch is from Varun Gandhi <varun_gandhi@apple.com>
|
 | llvm/include/llvm/ADT/Triple.h |
Commit
991831268285b955dcb459a1ea2a5f4507a33729
by Louis Dionne[libc++] Separate -include and path to the site config file This apparently breaks weird use cases where the build directory is on a separate drive. Someone reported that failure to me privately. I can't remember of a reason for collating the two arguments in the first place, so I don't think this should break anything.
|
 | libcxx/CMakeLists.txt |
Commit
d82dd6ac9a8500448ebfdc0c77e362e496b80e2f
by mgorny[lldb] [unittest] Reenable MainLoopTest.DetectsEOF on NetBSD The underlying issue is already fixed in the NetBSD kernel for some time, so we can finally reenable the test.
|
 | lldb/unittests/Host/MainLoopTest.cpp |
Commit
b59af82805cf53d59fd83fe02761160dfc2ac6a2
by mgorny[lldb] [unittest] Skip TestStopReplyContainsThreadPcs on NetBSD
|
 | lldb/unittests/tools/lldb-server/tests/ThreadIdsInJstopinfoTest.cpp |
Commit
4539a2d20c5c220dd29273b6cfec3ad0b25c5d13
by mgorny[lldb] [test] Mark segv-related tests XFAIL on NetBSD There seems to be a regression in the kernel causing those tests to fail. Mark them XFAIL, to be addressed later.
|
 | lldb/packages/Python/lldbsuite/test/functionalities/inferior-crashing/TestInferiorCrashingStep.py |
 | lldb/packages/Python/lldbsuite/test/functionalities/signal/handle-segv/TestHandleSegv.py |
 | lldb/packages/Python/lldbsuite/test/commands/expression/call-restarts/TestCallThatRestarts.py |
Commit
085486779890e394dd42447c7c5b0fb36a79ea2b
by mgorny[lldb] [test] XFAIL more lldb-server tests on NetBSD
|
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestLldbGdbServer.py |
Commit
0213adde218530bc31e5c4e50b49704c6bb2f2e9
by erich.keane[NFC] Fix 'target' condition in checkTargetFeatures checkTargetFeatures was incorrectly checking for cpu_specific instead of just 'target'. While this function was never called in that situation, it seemed correct to fix the condition. Additionally, multiversion functions can never be always_inline, but if any function accidentially ended up here we shouldn't diagnose. Note that the adding of target-features to the list is unnecessary since the getFunctionFeatureMap actually considers attribute target, however adding it results in significantly better error messages by putting the 'target' features first (and thus first to fail). Otherwise, the error message would be the first feature 'implied' by the target attribute, and not necessarily the feature listed in the attribute itself.
|
 | clang/lib/CodeGen/CodeGenFunction.cpp |
Commit
6512473ceef277705a9d0ac7824d319186e802d9
by stefanp[PowerPC] Improve float vector gather codegen This patch aims to improve the code generation for float vector gather on POWER9. Patterns have been implemented to utilize instructions that deliver improved performance. Patch by: Kamau Bridgeman Differential Revision: https://reviews.llvm.org/D62908
|
 | llvm/lib/Target/PowerPC/PPCInstrVSX.td |
 | llvm/test/CodeGen/PowerPC/float-vector-gather.ll |
Commit
b763924bd0f5fe1334bbcdcae4ce07ef40b4dac2
by spatel[SLP] reduce duplicated check lines in tests; NFC
|
 | llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll |
Commit
5e0a4eddac2477a5792a11bc2beb12749b91eb55
by diggerlinAdding a test case for read-only data assembly writing for aix SUMMARY: Adding a test case for read-only data assembly writing for aix Reviewers: daltenty,Xiangling_Liao Subscribers: rupprecht, seiyai,hiraditya Differential Revision: https://reviews.llvm.org/D70182
|
 | llvm/test/CodeGen/PowerPC/aix-xcoff-rodata.ll |
Commit
6f1cc4151a5ad297b2d1d87d98e266f9729100e2
by echristoTemporarily revert "[SLP] fix miscompile on min/max reductions with extra uses (PR43948)" as it causes an ICE on valid. A testcase was followed up on the original thread. This reverts commit a3e61946c5bd7bdfab15af76b292e52d6ffa27f7.
|
 | llvm/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll |
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
 | llvm/test/Transforms/SLPVectorizer/X86/reduction.ll |
Commit
aeca47fa0fbc36a43bced6a482a2e61acc3162a1
by tejohnsonThinLTO: Fix assembler to emit alwaysInline in the summary Summary: The earlier commit (https://reviews.llvm.org/D70014) missed this one : If Always_Inline happens to be the only entry in FuncFlags, then the assembler will not print it in the summary. Patch by Bharathi Seshadri <bseshadr@cisco.com> Reviewers: tejohnson Reviewed By: tejohnson Subscribers: mehdi_amini, inglorion, hiraditya, steven_wu, dexonsmith, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70323
|
 | llvm/lib/IR/AsmWriter.cpp |
 | llvm/test/ThinLTO/X86/funcimport_alwaysinline.ll |
Commit
e84468c1f145e9a5e54640ebdc78bc40c7da3fce
by Steven Wu[llvm-cxxfilt] Improve strip-underscore behavior Summary: For platform that uses macho format, c++filt should be stripping the leading underscore by default. Introduce the binutil compatible "-n" option to control strip-undercore behaivor together with the existing "-_" option and fallback to system default if none of them are set. rdar://problem/57173514 Reviewers: compnerd, erik.pilkington, dexonsmith, mattd Reviewed By: compnerd, erik.pilkington Subscribers: jkorous, ributzka, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70250
|
 | llvm/test/tools/llvm-cxxfilt/darwin.test |
 | llvm/test/tools/llvm-cxxfilt/noargs.test |
 | llvm/test/tools/llvm-cxxfilt/delimiters.test |
 | llvm/test/tools/llvm-cxxfilt/simple.test |
 | llvm/test/tools/llvm-cxxfilt/invalid.test |
 | llvm/test/tools/llvm-cxxfilt/coff-import.test |
 | llvm/test/tools/llvm-cxxfilt/empty-line.test |
 | llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp |
 | llvm/test/tools/llvm-cxxfilt/underscore.test |
 | llvm/test/tools/llvm-cxxfilt/abitag.test |
 | llvm/test/tools/llvm-cxxfilt/types.test |
Commit
ea1db31d20a74e5025a86b0df49163d5bfecb67b
by Vedant Kumar[CodeGen] Assign locations to calls to special struct helpers Assign artificial locations to calls to special struct-related helper functions. Such calls may not inherit a location if emitted within FinishFunction, at which point the lexical scope stack may be empty, causing CGDebugInfo to report the current DebugLoc as empty. Fixes an IR verifier complaint about a call to '__destructor_8_s0' not having a !dbg location attached. rdar://57293361
|
 | clang/test/CodeGenObjC/nontrivial-c-struct-exception.m |
 | clang/lib/CodeGen/CGNonTrivialStruct.cpp |
Commit
e4ec2ecf6d4768d681a89263c0a4d29a7b7761ad
by thakisgn build: (manually) try to merge 1689ad27af
|
 | llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn |
Commit
327904d3cfe03faf1615578066d1a3889c2b9a2a
by llvmgnsyncbotgn build: Merge 30e7ee3c4ba
|
 | llvm/utils/gn/secondary/llvm/lib/IR/BUILD.gn |
Commit
f805c60a093325c16ce4200d2615ef48555d9cb8
by wolfgang_piebRevert "[clangd] Implement rename by using SelectionTree and findExplicitReferences." This reverts commit 4f80fc2491cc35730a9a84b86975278b7daa8522. Caused buildbot failure at http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/58251
|
 | clang-tools-extra/clangd/refactor/Rename.cpp |
 | clang-tools-extra/clangd/unittests/RenameTests.cpp |
Commit
b29c7fdb617cba4c83037840842a872e8bf2f6b1
by aaronpuchert[OpenMP] Remove -Wl,-fini=__kmp_internal_end_fini Summary: The termination function duplicated the functionality of the __attribute((destructor))-annotated function __kmp_internal_end_fini, and we have no indication that this doesn't work. The function might cause issues with link-time optimization turned on: until very recently, none of the usual linkers was reporting functions named in -Wl,-fini as used to the LTO plugin, so it might be dropped. If the function is dropped, -Wl,-fini=__kmp_internal_end_fini doesn't do what we want: with ld.bfd and lld it drops the FINI attribute from .dynamic and with gold we get FINI = 0x0, which leads to a crash on cleanup. This can be reproduced by building with -DLLVM_ENABLE_PROJECTS="clang;openmp" \ -DLLVM_ENABLE_LTO=Thin \ -DLLVM_USE_LINKER=gold The issue in lld has been fixed in f95273f75aa, but gold remains without fix so far. Fixes PR43927. Reviewers: JonChesterfield, jdoerfert, AndreyChurbanov Reviewed By: AndreyChurbanov Differential Revision: https://reviews.llvm.org/D69927
|
 | openmp/runtime/src/kmp_runtime.cpp |
 | openmp/runtime/cmake/config-ix.cmake |
 | openmp/runtime/cmake/LibompHandleFlags.cmake |
 | openmp/runtime/src/kmp.h |
Commit
f19ea6ea5f8c0a05bf7638dad857c70f9236b6e8
by Jonas Devlieghere[Docs] Add reproducer documentation This adds a page about LLDB reproducers. It describes how to use the reproducers on the command line and lists some of the known issues/limitations. Differential revision: https://reviews.llvm.org/D70409
|
 | lldb/docs/index.rst |
 | lldb/docs/resources/reproducers.rst |
Commit
6a1b51282bc5728b77a80581a4aa38edcc9f95e5
by tejohnsonFix error message missed in commit dde589389fcb8b5098f7a47f1b781b27d29a0cac. Patch by Andrew Browne <browneee@google.com> Reviewers: tejohnson, evgeny777 Reviewed By: tejohnson Subscribers: arphaman, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70195
|
 | llvm/lib/IR/ModuleSummaryIndex.cpp |
 | llvm/lib/Bitcode/Reader/BitcodeReader.cpp |
 | llvm/lib/Bitcode/Writer/BitcodeWriter.cpp |
 | llvm/include/llvm/IR/ModuleSummaryIndex.h |
Commit
755afc0af8f9a448befb0802a045746dc72ef759
by Jonas Devlieghere[CMake] Re-enable -Wno-gnu-anonymous-struct & -Wno-nested-anon-types. We're checking for support but we're discarding the result. My best guess is that these warnings were disabled in the past. However, I don't see a reason to keep it that way.
|
 | lldb/cmake/modules/LLDBConfig.cmake |
Commit
a921f587f7b0df7dc37ff44117321cfa7849edb6
by Jonas DevlieghereRevert "[CMake] Re-enable -Wno-gnu-anonymous-struct & -Wno-nested-anon-types." Whoops, they should be enabled, not disabled.
|
 | lldb/cmake/modules/LLDBConfig.cmake |
Commit
88235812a71d99c082e7aa2ef9356d43d1f83a80
by lkail[Bindings][Go] Fix go.test failure due to missing argument go.test failed with error ``` /tmp/gopath431502532/src/llvm.org/llvm/bindings/go/llvm/dibuilder.go:514:40: not enough arguments in call to _Cfunc_LLVMDIBuilderCreateTypedef have (_Ctype_LLVMDIBuilderRef, _Ctype_LLVMMetadataRef, *_Ctype_char, _Ctype_ulong, _Ctype_LLVMMetadataRef, _Ctype_uint, _Ctype_LLVMMetadataRef) want (*_Ctype_struct_LLVMOpaqueDIBuilder, *_Ctype_struct_LLVMOpaqueMetadata, *_Ctype_char, _Ctype_ulong, *_Ctype_struct_LLVMOpaqueMetadata, _Ctype_uint, *_Ctype_struct_LLVMOpaqueMetadata, _Ctype_uint) ``` This patch fixes above error. Differential Revision: https://reviews.llvm.org/D70360
|
 | llvm/bindings/go/llvm/dibuilder.go |
Commit
6ae7315746f1e89b49c70413d709b472e532c8e2
by lkailRevert "[Bindings][Go] Fix go.test failure due to missing argument" This reverts commit 88235812a71d99c082e7aa2ef9356d43d1f83a80 due to d27a16eb392f39f9ee04ff5194b1eff3e189e6f8.
|
 | llvm/bindings/go/llvm/dibuilder.go |
Commit
d0371f473675ede1d79a615ec4fdf0cf5368944c
by ruiuFix component build b11386f9be9b2dc7276a758d64f66833da10bdea broke lld build if `-DBUILD_SHARED_LIBS=ON` is passed to CMake.
|
 | lld/lib/ReaderWriter/MachO/LayoutPass.cpp |
 | lld/lib/Core/Resolver.cpp |
 | lld/lib/Driver/DarwinLdDriver.cpp |
 | lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp |
 | lld/lib/ReaderWriter/FileArchive.cpp |
 | lld/lib/Core/SymbolTable.cpp |
 | lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp |
Commit
45f8ee5f3c5ad4bc0b041c49a251d674c14dbc13
by ruiuRevert "Fix shared lib build." This reverts commit 17e37ba57a696198c9744eeba4f8f293f155587a because it introduced a circular dependency between Core and Common. Because d0371f473675ede1d79a615ec4fdf0cf5368944c fixed a build issue, we no longer need that dependency.
|
 | lld/lib/ReaderWriter/CMakeLists.txt |
 | lld/lib/Core/CMakeLists.txt |
Commit
66b6b92765213a6bde96aea7a393621426027543
by leonardchanRevert "implement printing out raw section data of xcoff objectfile for llvm-objdump" This reverts commit 8f8a9f3437d4517f674395da30edb59d5514f7bc. Reverting since this patch seems to break a lot of llvm buildbots.
|
 | llvm/test/tools/llvm-objdump/xcoff-disassemble-all.test |
 | llvm/test/tools/llvm-objdump/xcoff-raw-section-data.test |
 | llvm/lib/Object/XCOFFObjectFile.cpp |
Commit
dc02eb1909961dc2c10a900599925ccfecfc241d
by craig.topper[SelectionDAG] Merge the two identical ExpandChainLibCall methods from LegalizeTypes and LegalizeDAG to one version in TaretLowering. Reviewers: RKSimon, efriedma, spatel Reviewed By: efriedma Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70354
|
 | llvm/include/llvm/CodeGen/TargetLowering.h |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h |
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp |
Commit
6f06eda070eb574ad3ad6612f037e1fab7a1f0db
by arsenm2bugpoint: Add option to disable attribute removal This takes a long time and never reduces anything useful for me (e.g. I've been waiting for 3 hours on a testcase and it hasn't found any attributes to remove yet). This should probably start by assuming no attributes matter, and adding back.
|
 | llvm/tools/bugpoint/CrashDebugger.cpp |
 | llvm/test/BugPoint/func-attrs.ll |
Commit
b337bce8710f2a7ab8ce9f84c80cfbce1032963c
by arsenm2AMDGPU: Split test functions to avoid dependency on subtarget Prepare this test for moving tthe denormal setting out of the subtarget features.
|
 | llvm/test/Analysis/CostModel/AMDGPU/fdiv.ll |
Commit
58ea00b51fe9b011301484957556872fced7dd08
by puyan[clang][IFS] Driver pipeline: generate interface stubs after standard pipeline. Up until now, clang interface stubs has replaced the standard PP -> C -> BE -> ASM -> LNK pipeline. With this change, it will happen in conjunction with it. So what when you build your code you will get an a.out or lib.so as well as an interface stub file. Example: clang -shared -o libfoo.so -emit-interface-stubs ... will generate both a libfoo.so and a libfoo.ifso. The .so file will contain the code from the standard compilation pipeline and the .ifso file will contain the ELF stub library. Differential Revision: https://reviews.llvm.org/D70274
|
 | clang/lib/Driver/Types.cpp |
 | clang/lib/Driver/Driver.cpp |
 | clang/lib/Driver/ToolChains/InterfaceStubs.cpp |
 | clang/test/InterfaceStubs/driver-test2.c |
 | clang/test/InterfaceStubs/driver-test.c |
 | clang/test/InterfaceStubs/windows.cpp |
Commit
d044dcc5e492181b1517347013a780d9eda6c3c3
by puyanRevert "[clang][IFS] Driver pipeline: generate interface stubs after standard pipeline." This reverts commit 58ea00b51fe9b011301484957556872fced7dd08. Test for .o + .ifs sidecar files is brittle and failing on bots. Reverting to unblock.
|
 | clang/test/InterfaceStubs/driver-test.c |
 | clang/lib/Driver/ToolChains/InterfaceStubs.cpp |
 | clang/lib/Driver/Types.cpp |
 | clang/lib/Driver/Driver.cpp |
 | clang/test/InterfaceStubs/driver-test2.c |
 | clang/test/InterfaceStubs/windows.cpp |
Commit
926d283893ae764cfba0360badcd7cc9fef4dfe5
by martin[lldb-server] Use LLDB_LOG_ERROR to consume Error<> even if logging is disabled Differential Revision: https://reviews.llvm.org/D70386
|
 | lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp |
 | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp |
 | lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationReplayServer.cpp |
Commit
d593292f0465c9db1f2c3cdf719009bfdf942a5c
by chfast[X86] Add more addcarry tests Summary: More addcarry tests for incoming https://reviews.llvm.org/D70079. Reviewers: davezarzycki, RKSimon, spatel, craig.topper Reviewed By: spatel Subscribers: craig.topper, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70237
|
 | llvm/test/CodeGen/X86/addcarry.ll |
 | llvm/test/CodeGen/X86/subcarry.ll |
Commit
8978c12b39f90194bb35860729ddca5e819f3b92
by sam.parker[ARM][MVE] Tail predication conversion This patch modifies ARMLowOverheadLoops to convert a predicated vector low-overhead loop into a tail-predicatd one. This is currently a very basic conversion, with the following restrictions: - Operates only on single block loops. - The loop can only contain a single vctp instruction. - No other instructions can write to the vpr. - We only allow a subset of the mve instructions in the loop. TODO: Pass the number of elements, not the number of iterations to dlstp/wlstp. Differential Revision: https://reviews.llvm.org/D69945
|
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-arith-codegen.ll |
 | llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp |
 | llvm/unittests/Target/ARM/MachineInstrTest.cpp |
 | llvm/lib/Target/ARM/ARMInstrMVE.td |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll |
Commit
a19f0eec94e195cac676d0d473882b48f4fded90
by hansRevert 1689ad27af5 "[builtins] Implement rounding mode support for i386/x86_64" It broke the build with MSVC: fp_mode.c(20): error C2065: '__asm__': undeclared identifier > Differential Revision: https://reviews.llvm.org/D69870
|
 | compiler-rt/test/builtins/Unit/subtf3_test.c |
 | compiler-rt/test/builtins/Unit/addtf3_test.c |
 | compiler-rt/lib/builtins/i386/fp_mode.c |
 | compiler-rt/lib/builtins/CMakeLists.txt |
Commit
4a64d710aebb7c598004d0a26810978cd7311e5b
by evgueni.brevnov[NFC] Test commit. Please ignore. As a test commit I fixed a misspelling in one of comments in SLP vectorizer.
|
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
Commit
8b5f6c16476c7a8f50b660fb6e1b549759a783b6
by mydeveloperday[clang-format] [NFC] add recent changes to release notes Summary: clang-tidy keeps nice release notes of what is added, have clang-format do the same. Reviewers: klimek, mitchell-stellar, sylvestre.ledru, sammccall Reviewed By: mitchell-stellar Subscribers: merge_guards_bot, Eugene.Zelenko, cfe-commits Tags: #clang-format, #clang Differential Revision: https://reviews.llvm.org/D70355
|
 | clang/docs/ReleaseNotes.rst |
Commit
d43913ae3818c86e640f406761ec7202a8ebb24e
by sam.parker[ARM][MVE] Enable narrow vectors for tail pred Remove the restriction, from the mve tail predication pass, that the all masked vectors instructions need to be 128-bits. This allows us to supported extending loads and truncating stores. Differential Revision: https://reviews.llvm.org/D69946
|
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/mve-tail-data-types.ll |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/wlstp.mir |
 | llvm/lib/Target/ARM/MVETailPredication.cpp |
 | llvm/test/CodeGen/Thumb2/LowOverheadLoops/nested.ll |
Commit
fd03be363421fa65cbe5447eef489a67517e9083
by czhengsz[APInt] add wrap support for `setBits` and `getBitsSet` Add two new interfaces getBitsSet and getBitsSetWithWrap Reviewed by: lebedev.ri, craig.topper Differential Revision: https://reviews.llvm.org/D69032
|
 | llvm/include/llvm/ADT/APInt.h |
 | llvm/unittests/ADT/APIntTest.cpp |
Commit
7db1230a9f5e0185a88019c9aa5b55bd85498285
by hokein.wuReland "[clangd] Implement rename by using SelectionTree and findExplicitReferences." this reland the commit 4f80fc2491cc35730a9a84b86975278b7daa8522 which has been reverted at f805c60a093325c16ce4200d2615ef48555d9cb8. Fixed windows buildbot failure (by adding -fno-delayed-template-parsing flag).
|
 | clang-tools-extra/clangd/refactor/Rename.cpp |
 | clang-tools-extra/clangd/unittests/RenameTests.cpp |
Commit
c0fc29c4684a997d282bfed71eb4d903ad16ee25
by pavelAdd operator<< for object::SectionedAddress The main motivation for this is better failure messages in unit tests. Split off from D70394.
|
 | llvm/unittests/Object/ObjectFileTest.cpp |
 | llvm/include/llvm/Object/ObjectFile.h |
 | llvm/lib/Object/ObjectFile.cpp |
 | llvm/unittests/Object/CMakeLists.txt |
Commit
39285a0f02c7bc5e4bad8a684a900123b097511d
by pavelAdd streaming/equality operators to DWARFAddressRange/DWARFLocationExpression The main motivation for this is being able to write simpler assertions and get better error messages in unit tests. Split off from D70394.
|
 | llvm/unittests/DebugInfo/DWARF/DWARFLocationExpressionTest.cpp |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFAddressRange.h |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFLocationExpression.h |
 | llvm/lib/DebugInfo/DWARF/DWARFLocationExpression.cpp |
 | llvm/lib/DebugInfo/DWARF/CMakeLists.txt |
 | llvm/unittests/DebugInfo/DWARF/CMakeLists.txt |
Commit
88276ddbfea753ac13da5a64c2020b7b0a06617f
by thakisRevert "gn build: (manually) try to merge 1689ad27af" This reverts commit e4ec2ecf6d4768d681a89263c0a4d29a7b7761ad. 1689ad27af was reverted as well.
|
 | llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn |
Commit
f0021f95a1f40369e30bb94be1b0322747631047
by hokein.wu[clangd] Fix ps4 buildbot failure. dynamic_cast on ps4 buildbot seems relying on rtti flag which is off by default. Remove the dynamic_cast in the tests.
|
 | clang-tools-extra/clangd/unittests/RenameTests.cpp |
Commit
6ec07140980770fccfcdf53fe43e7425a9f51a7b
by sam.mccall[clangd] More sensible output for constructors/destructors in hover. Summary: Previously: both had type void() and return type void. Now: neither have a type. Constructors return T, destructors return void. Reviewers: hokein Subscribers: merge_guards_bot, ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70317
|
 | clang-tools-extra/clangd/AST.cpp |
 | clang-tools-extra/clangd/AST.h |
 | clang-tools-extra/clangd/XRefs.cpp |
 | clang-tools-extra/clangd/unittests/XRefsTests.cpp |
Commit
bb7c8e984f87e1de7c80abd33d00025ac366efa6
by diana.picusMark PR44037 tests as XFAIL on AArch64 Linux dwo These tests are failing with various assertion failures, but they all throw the following error message first: error: a.out 0x0000002d: adding range [0x14-0x24) which has a base that is less than the function's low PC 0x40060c. See llvm.org/pr44037. Differential Revision: https://reviews.llvm.org/D70381
|
 | lldb/packages/Python/lldbsuite/test/lang/cpp/member-and-local-vars-with-same-name/TestMembersAndLocalsWithSameName.py |
 | lldb/packages/Python/lldbsuite/test/python_api/frame/inlines/TestInlinedFrame.py |
 | lldb/packages/Python/lldbsuite/test/lang/c/inlines/TestRedefinitionsInInlines.py |
 | lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py |
Commit
e51484abd402016a385e17896e87877b77bf4c7b
by sam.mccall[clangd] Fix hover 'local scope' to include class template params Summary: Fixes the last part of https://github.com/clangd/clangd/issues/76 Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70325
|
 | clang-tools-extra/clangd/XRefs.cpp |
 | clang-tools-extra/clangd/unittests/XRefsTests.cpp |
Commit
d56dd62a98ebaaa6a30291a3a136851aee2361dd
by sven.vanhaastregt[kate] Add various missing keywords Patch by Pedro Olsen Ferreira.
|
 | llvm/utils/kate/llvm.xml |
Commit
d54e5a2c86615757dd2c50ad2b66d004dc226610
by llvmgnsyncbotgn build: Merge 39285a0f02c
|
 | llvm/utils/gn/secondary/llvm/lib/DebugInfo/DWARF/BUILD.gn |
 | llvm/utils/gn/secondary/llvm/unittests/DebugInfo/DWARF/BUILD.gn |
Commit
26d36a1903ac3a076dec85753a710ac134839067
by llvmgnsyncbotgn build: Merge c0fc29c4684
|
 | llvm/utils/gn/secondary/llvm/unittests/Object/BUILD.gn |
Commit
4fb8ecdef4c9b19563e428a151c376a4103d65fc
by mikhail.maltsev[libunwind] Adjust the signal_frame test for Arm Summary: This patch adjusts the signal_frame.pass.cpp to pass on Arm targets: * When Arm EHABI is used the unwinder does not use DWARF, hence the DWARF-specific check unw_is_signal_frame() must be disabled. * Certain C libraries don't include EH tables, so the unwinder must not try to step out of main(). The patch moves the test code out of main() into a separate function to avoid this. Reviewers: saugustine, ostannard, phosek, jfb, mclow.lists Reviewed By: saugustine Subscribers: dexonsmith, aprantl, kristof.beyls, christof, libcxx-commits, pbarrio, labrinea Tags: #libc Differential Revision: https://reviews.llvm.org/D70397
|
 | libunwind/test/signal_frame.pass.cpp |
Commit
4ef9315c4be0217ed9eb511a0e89228d32dc98cd
by evgeny[ThinLTO] Make ValueInfo::operator bool() explicit Differential revision: https://reviews.llvm.org/D70383
|
 | llvm/include/llvm/IR/ModuleSummaryIndex.h |
 | llvm/lib/Transforms/IPO/FunctionImport.cpp |
 | llvm/test/ThinLTO/X86/funcimport-stats.ll |
Commit
b6d7bbfa004310777cd41448ffc377aea082fc8c
by zakk.chen[RISCV] Support mutilib in baremetal environment Currently only support the set of multilibs same to riscv-gnu-toolchain. Reviewers: espindola, asb, kito-cheng, lenary Reviewed By: lenary Differential Revision: https://reviews.llvm.org/D67508
|
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/bin/ld |
 | clang/test/Driver/riscv64-toolchain.c |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imafdc/lp64d/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imac/lp64/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32iac/ilp32/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32im/ilp32/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtend.o |
 | clang/lib/Driver/ToolChains/Gnu.cpp |
 | clang/test/Driver/riscv32-toolchain.c |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32i/ilp32/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imac/ilp32/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imafc/ilp32f/crt0.o |
 | clang/lib/Driver/ToolChains/RISCVToolchain.cpp |
Commit
5f026b6d9e882941fde9b7e5dc0a2d807f7f24f5
by evgueni.brevnov[DependenceAnalysis] Dependecies for loads marked with "ivnariant.load" should not be shared with general accesses. Fix for https://bugs.llvm.org/show_bug.cgi?id=42151 Summary: Dependence anlysis has a mechanism to cache results. Thus for particular memory access the cache keep track of side effects in basic blocks. The problem is that for invariant loads dependepce analysis legally ignores many dependencies due to a special semantic rules for such loads. But later results calculated for invariant load retrived from the cache for general case acceses. As a result we have wrong dependence information causing GVN to do illegal transformation. Fixes, T42151. Proposed solution is to disable caching of invariant loads. I think such loads a pretty rare and it doesn't make sense to extend caching mechanism for them. Reviewers: reames, chandlerc, skatkov, morisset, jdoerfert Reviewed By: reames Subscribers: hiraditya, test, jdoerfert, lebedev.ri, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64405
|
 | llvm/lib/Analysis/MemoryDependenceAnalysis.cpp |
Commit
e8a4c74f1157017b22d1579b6ac80fb4a634bc2a
by 1.int32[clang-tidy] Added DefaultOperatorNewCheck. Summary: Added new checker 'cert-default-operator-new' that checks for CERT rule MEM57-CPP. Simple version. Reviewers: aaron.ballman, alexfh, JonasToth, lebedev.ri Reviewed By: aaron.ballman Subscribers: hiraditya, martong, mehdi_amini, mgorny, inglorion, xazax.hun, dkrupp, steven_wu, dexonsmith, Szelethus, gamesh411, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D67545
|
 | clang-tools-extra/clang-tidy/cert/CMakeLists.txt |
 | clang-tools-extra/docs/ReleaseNotes.rst |
 | clang-tools-extra/docs/clang-tidy/checks/cert-mem57-cpp.rst |
 | clang-tools-extra/docs/clang-tidy/checks/list.rst |
 | clang-tools-extra/test/clang-tidy/cert-mem57-cpp-cpp17.cpp |
 | clang-tools-extra/test/clang-tidy/cert-mem57-cpp.cpp |
 | clang-tools-extra/clang-tidy/cert/DefaultOperatorNewAlignmentCheck.cpp |
 | clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp |
 | clang-tools-extra/clang-tidy/cert/DefaultOperatorNewAlignmentCheck.h |
Commit
2fcf3e934b1b97329a075bd21f3ba3313fe0a32e
by llvmgnsyncbotgn build: Merge e8a4c74f115
|
 | llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cert/BUILD.gn |
Commit
7deb8ce4c161e9715181bd3618f059e8a4a742bb
by simon[mips] Joint MipsMemSimmXXXAsmOperand into the single template class. NFC
|
 | llvm/lib/Target/Mips/MicroMipsInstrInfo.td |
 | llvm/lib/Target/Mips/MipsInstrInfo.td |
Commit
a89ca4ae179def7fac1a35e53d7b28d4c9d531be
by thomaspFix PR44001: assert failure in getFunctionLocalOffsetAfterInsn Summary: Assert in getFunctionLocalOffsetAfterInsn() fails when processing a call MachineInstr inside a bundle and compiling with debug info. This is because labels are added by DwarfDebug::beginInstruction() which is called for each top-level MI by EmitFunctionBody()'s for-loop iteration but constructCallSiteEntryDIEs() which calls getFunctionLocalOffsetAfterInsn() iterates over all MIs. This commit modifies constructCallSiteEntryDIEs() to get the associated bundle MI for call MIs inside a bundle and use that to when calling getFunctionLocalOffsetAfterInsn() and getLabelAfterInsn(). It also skips loop iterations for bundle MIs since the loop statements are concerned with debug info for each physical instructions and bundles represent a group of instructions. It also fix the comment about PCAddr since the code is getting the return address and not the call address. Reviewers: dstenb, vsk, aprantl, djtodoro, dblaikie, NikolaPrica Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70293
|
 | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp |
 | llvm/test/DebugInfo/MIR/Hexagon/bundled-call-pr44001.mir |
Commit
96d814a5fe0a333bc53f52e8f290d1ac009c85fe
by Raphael Isemann[lldb] Remove ClangExpressionDeclMap::ResolveUnknownTypes Summary: This is some really shady code. It's supposed to kick in after an expression already failed and then try to look up "unknown types" that for some undocumented reason can't be resolved during/before parsing. Beside the fact that we never mark any type as `EVUnknownType` in either swift-lldb or lldb (which means this code is unreachable), this code doesn't even make the expression evaluation succeed if if would ever be executed but instead seems to try to load more debug info that maybe any following expression evaluations might succeed. This patch removes ClangExpressionDeclMap::ResolveUnknownTypes and the related data structures/checks/calls. Reviewers: davide Reviewed By: davide Subscribers: aprantl, abidh, JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D70388
|
 | lldb/include/lldb/Expression/ExpressionVariable.h |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp |
Commit
bbf4af3109d1958d69c3c1f2af78870207928f4b
by llvm-dev[X86][SSE] Remove XFormVExtractWithShuffleIntoLoad to prevent legalization infinite loops (PR43971) As detailed in PR43971/D70267, the use of XFormVExtractWithShuffleIntoLoad causes issues where we end up in infinite loops of extract(targetshuffle(vecload)) -> extract(shuffle(vecload)) -> extract(vecload) -> extract(targetshuffle(vecload)), there are just too many legalization checks at every stage that we can't guarantee that extract(shuffle(vecload)) -> scalarload can occur. At the moment we see a number of minor regressions as we don't fold extract(shuffle(vecload)) -> scalarload before legal ops, these can be addressed in future patches and extension of X86ISelLowering's combineExtractWithShuffle.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/vec_extract.ll |
 | llvm/test/CodeGen/X86/extractelement-load.ll |
 | llvm/test/CodeGen/X86/insertps-combine.ll |
 | llvm/test/CodeGen/X86/2011-05-09-loaduse.ll |
Commit
6baec971271b7dc9db610da30a192e57ff03d935
by daveb[llvm-objdump] Print relocation addends in hexadecimal Summary: Matches GNU objdump. Makes debugging easier for me as I'm working out addresses from symbol+addend, so it would be good to be calculating in a single format. Reviewers: MaskRay, grimar, jhenderson, bd1976llvm Reviewed By: jhenderson Subscribers: sdardis, jrtc27, atanasyan, rupprecht, seiya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69997
|
 | llvm/test/Object/X86/objdump-disassembly-inline-relocations.test |
 | llvm/test/MC/AArch64/arm32-elf-relocs.s |
 | llvm/test/MC/Mips/expansion-jal-sym-pic.s |
 | llvm/test/MC/X86/tlsdesc-64.s |
 | llvm/test/tools/llvm-objdump/X86/elf-disassemble-relocs.test |
 | llvm/test/tools/llvm-objdump/relocations-elf.test |
 | llvm/tools/llvm-objdump/ELFDump.cpp |
 | llvm/test/MC/AArch64/arm64-elf-relocs.s |
 | llvm/test/Object/objdump-relocations.test |
 | llvm/test/MC/AArch64/adr.s |
 | llvm/test/tools/llvm-objdump/X86/section-filter-relocs.test |
 | llvm/test/tools/llvm-objdump/X86/demangle.s |
 | llvm/test/tools/llvm-objdump/relocations-in-nonreloc.test |
Commit
41ee54e5d18858c56725485ef637ad5a686368f4
by mitchellRevert "[clang-tidy] Fix readability-redundant-string-init for c++17/c++2a" This reverts commit 06f3dabe4a2e85a32ade27c0769b6084c828a206.
|
 | clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp |
 | clang-tools-extra/docs/ReleaseNotes.rst |
 | clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.h |
 | clang-tools-extra/docs/clang-tidy/checks/modernize-use-override.rst |
Commit
f8901aff4a8f1809d62e0d676a1035099c8f734a
by mitchellRevert "[clang-tidy] modernize-use-override new option AllowOverrideAndFinal" This reverts commit 50e99563fb0459f5160572eef3c4e6062b8ad3f2.
|
 | clang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp |
 | clang-tools-extra/test/clang-tidy/checkers/readability-redundant-string-init-msvc.cpp |
 | clang-tools-extra/test/clang-tidy/checkers/readability-redundant-string-init.cpp |
Commit
1315f4e009b097d7d1a2a5cf116c1ad55ed5c190
by mitchell[clang-tidy] Fix readability-redundant-string-init for c++17/c++2a Summary: `readability-redundant-string-init` was one of several clang-tidy checks documented as failing for C++17. (The failure mode in C++17 is that it changes `std::string Name = ""`; to `std::string Name = Name;`, which actually compiles but crashes at run-time.) Analyzing the AST with `clang -Xclang -ast-dump` showed that the outer `CXXConstructExprs` that previously held the correct SourceRange were being elided in C++17/2a, but the containing `VarDecl` expressions still had all the relevant information. So this patch changes the fix to get its source ranges from `VarDecl`. It adds one test `std::string g = "u", h = "", i = "uuu", j = "", k;` to confirm proper warnings and fixit replacements in a single `DeclStmt` where some strings require replacement and others don't. The readability-redundant-string-init.cpp and readability-redundant-string-init-msvc.cpp tests now pass for C++11/14/17/2a. Reviewers: gribozavr, etienneb, alexfh, hokein, aaron.ballman, gribozavr2 Patch by: poelmanc Subscribers: NoQ, MyDeveloperDay, Eugene.Zelenko, dylanmckay, cfe-commits Tags: #clang, #clang-tools-extra Differential Revision: https://reviews.llvm.org/D69238
|
 | clang-tools-extra/test/clang-tidy/checkers/readability-redundant-string-init.cpp |
 | clang-tools-extra/test/clang-tidy/checkers/readability-redundant-string-init-msvc.cpp |
 | clang-tools-extra/clang-tidy/readability/RedundantStringInitCheck.cpp |
Commit
df11117086fe8effdc5abe6a9955f659876dc64f
by mitchell[clang-tidy] modernize-use-override new option AllowOverrideAndFinal Summary: In addition to adding `override` wherever possible, clang-tidy's `modernize-use-override` nicely removes `virtual` when `override` or `final` is specified, and further removes override when final is specified. While this is great default behavior, when code needs to be compiled with gcc at high warning levels that include `gcc -Wsuggest-override` or `gcc -Werror=suggest-override`, clang-tidy's removal of the redundant `override` keyword causes gcc to emit a warning or error. This discrepancy / conflict has been noted by others including a comment on Stack Overflow and by Mozilla's Firefox developers. This patch adds an AllowOverrideAndFinal option defaulting to 0 - thus preserving current behavior - that when enabled allows both `override` and `final` to co-exist, while still fixing all other issues. The patch includes a test file verifying all combinations of virtual/override/final, and mentions the new option in the release notes. Reviewers: alexfh, djasper, JonasToth Patch by: poelmanc Subscribers: JonasToth, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70165
|
 | clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp |
 | clang-tools-extra/docs/clang-tidy/checks/modernize-use-override.rst |
 | clang-tools-extra/docs/ReleaseNotes.rst |
 | clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.h |
 | clang-tools-extra/test/clang-tidy/checkers/modernize-use-override-allow-override-and-final.cpp |
Commit
f6ffe6fc9d9b8b0e197500b5b61f3e8d55599d7a
by Raphael Isemann[lldb] Also test Get[De]mangledName of SBType in TestSBTypeClassMembers.py I just used the mangled names as this test is anyway a Darwin-only ObjC++ test. We probably should also test this on other platforms but that will be another commit as we need to untangle the ObjC and C++ parts first.
|
 | lldb/packages/Python/lldbsuite/test/python_api/class_members/TestSBTypeClassMembers.py |
Commit
ef5e3b85eecc26e672fe559089a89062cbeda4b5
by evgeny[ThinLTO] Simplify code. NFC
|
 | llvm/lib/LTO/LTO.cpp |
Commit
3de7cc9fc01c8eb19eb344691c4747def1e00311
by thakisRevert "[RISCV] Support mutilib in baremetal environment" This reverts commit b6d7bbfa004310777cd41448ffc377aea082fc8c. Driver/riscv64-toolchain.c fails on Windows.
|
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imac/ilp32/crt0.o |
 | clang/test/Driver/riscv32-toolchain.c |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32im/ilp32/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtbegin.o |
 | clang/lib/Driver/ToolChains/RISCVToolchain.cpp |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imac/lp64/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32iac/ilp32/crt0.o |
 | clang/lib/Driver/ToolChains/Gnu.cpp |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtbegin.o |
 | clang/test/Driver/riscv64-toolchain.c |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32i/ilp32/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/bin/ld |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imafc/ilp32f/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imafdc/lp64d/crt0.o |
Commit
c7f85f3a84a5d14a13bd8fe6eef93ae34343cf8a
by llvm-dev[PowerPC] Regenerate vsx_insert_extract_le.ll tests
|
 | llvm/test/CodeGen/PowerPC/vsx_insert_extract_le.ll |
Commit
fed8c068922319cc6a84fd08e75eccf7376b21c4
by llvm-dev[ARM] Regenerate vector lane store tests
|
 | llvm/test/CodeGen/ARM/vstlane.ll |
Commit
6de85095ed7d8f161a7f39422d42b5bc2d2dcb98
by lebedev.ri[NFC][X86] Fixup comment in CodeGen/X86/cmov.ll As noted in post-commit review for https://reviews.llvm.org/D59035#inline-631659
|
 | llvm/test/CodeGen/X86/cmov.ll |
Commit
6fd11b14f604914df4f777f4c7ff20dbbc50877b
by dfukalov[AMDGPU] Tune inlining parameters for AMDGPU target (part 2) Summary: Most of IR instructions got better code size estimations after commit 47a5c36b. So default parameters values should be updated to improve inlining and unrolling for the target. Reviewers: rampitec, arsenm Reviewed By: rampitec Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, zzheng, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70391
|
 | llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-for-private.ll |
 | llvm/lib/Target/AMDGPU/AMDGPUInline.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h |
 | llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/amdgpu-inline.ll |
Commit
714445e406f043e861024f394fd58eb26c15e51a
by Raphael IsemannFix modules build by adding missing includes
|
 | llvm/include/llvm/Analysis/Utils/Local.h |
 | llvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h |
Commit
b696b9dba7b66307c225c2612def8bbb328805b7
by arsenm2DAG: Add function context to isFMAFasterThanFMulAndFAdd AMDGPU needs to know the FP mode for the function to answer this correctly when this is removed from the subtarget. AArch64 had to make this more complicated by using this from an IR hook, so add an IR typed overload.
|
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/lib/Target/AMDGPU/SIISelLowering.h |
 | llvm/lib/Target/ARM/ARMISelLowering.h |
 | llvm/lib/Target/SystemZ/SystemZISelLowering.h |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.h |
 | llvm/lib/Target/Hexagon/HexagonISelLowering.h |
 | llvm/lib/Target/PowerPC/PPCISelLowering.h |
 | llvm/lib/Target/X86/X86ISelLowering.h |
 | llvm/lib/Target/SystemZ/SystemZISelLowering.cpp |
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/lib/Target/Hexagon/HexagonISelLowering.cpp |
 | llvm/lib/Target/NVPTX/NVPTXISelLowering.h |
 | llvm/include/llvm/CodeGen/TargetLowering.h |
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
Commit
c54d21c848d350e85cd8f95a725fc12f6fa3ab19
by Raphael Isemann[lldb][NFC] Early exit in IRExecutionUnit::GetStaticInitializers
|
 | lldb/source/Expression/IRExecutionUnit.cpp |
Commit
765b1250f6845e765abf01908b122dab441c2a42
by sam.mccall[clangd] Untangle Hover from XRefs, move into own file. Summary: This is mostly mechanical, with a few exceptions: - getDeducedType moved into AST.h where it belongs. It now takes ASTContext instead of ParsedAST, and avoids using the preprocessor. - hover now uses SelectionTree directly rather than via getDeclAtPosition helper - hover on 'auto' used to find the decl that contained the 'auto' and use that to set Kind and documentation for the hover result. Now we use targetDecl() to find the decl matching the deduced type instead. This changes tests, e.g. 'variable' -> class for auto on lambdas. I think this is better, but the motivation was to avoid depending on the internals of DeducedTypeVisitor. This functionality is removed from the visitor. Reviewers: kadircet Subscribers: mgorny, ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70357
|
 | clang-tools-extra/clangd/refactor/tweaks/ExpandAutoType.cpp |
 | clang-tools-extra/clangd/unittests/ASTTests.cpp |
 | clang-tools-extra/clangd/AST.cpp |
 | clang-tools-extra/clangd/XRefs.h |
 | clang-tools-extra/clangd/CMakeLists.txt |
 | clang-tools-extra/clangd/AST.h |
 | clang-tools-extra/clangd/XRefs.cpp |
 | clang-tools-extra/clangd/ClangdServer.h |
 | clang-tools-extra/clangd/Hover.cpp |
 | clang-tools-extra/clangd/unittests/CMakeLists.txt |
 | clang-tools-extra/clangd/unittests/HoverTests.cpp |
 | clang-tools-extra/clangd/Hover.h |
 | clang-tools-extra/clangd/unittests/XRefsTests.cpp |
Commit
c9b87981d20aa572a08ffde6209cb2575cf16407
by 1.int32[clang-tidy] DefaultOperatorNewCheck test fixes.
|
 | clang-tools-extra/test/clang-tidy/cert-mem57-cpp-cpp17.cpp |
 | clang-tools-extra/test/clang-tidy/checkers/cert-mem57-cpp.cpp |
 | clang-tools-extra/test/clang-tidy/cert-mem57-cpp.cpp |
 | clang-tools-extra/test/clang-tidy/checkers/cert-mem57-cpp-cpp17.cpp |
Commit
ea23b6428b88ed50a2cfc91b783f627fa139bb36
by arsenm2AMDGPU: Be explicit about denormal mode in MIR tests Start checking the machine function in GlobalISel instead of the target directly. This temporarily breaks fcanonicalize selection in GlobalISel.
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s16.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s64.mir |
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir |
 | llvm/test/CodeGen/AMDGPU/omod-nsz-flag.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fcanonicalize.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.s32.mir |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fmad.mir |
Commit
db0ed3e429b55d1730d1ecc253b0643de7fca099
by arsenm2AMDGPU: Refactor treatment of denormal mode Start moving towards treating this as a property of the calling convention, and not the subtarget. The default denormal mode should not be part of the subtarget, and be moved into a separate function attribute. This patch is still NFC. The denormal mode remains as a subtarget feature for now, but make the necessary changes to switch to using an attribute.
|
 | llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUInstructions.td |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/lib/Target/AMDGPU/R600ISelLowering.cpp |
 | llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fcanonicalize.mir |
 | llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h |
 | llvm/lib/Target/AMDGPU/SIFoldOperands.cpp |
 | llvm/lib/Target/AMDGPU/SIISelLowering.h |
 | llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h |
 | llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h |
 | llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h |
 | llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp |
 | llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp |
Commit
33d93c3d0b4a331632902f5fb9874f4e021a2f58
by sam.mccall[clangd] Show values of more expressions on hover Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70359
|
 | clang-tools-extra/clangd/Hover.cpp |
 | clang-tools-extra/clangd/unittests/HoverTests.cpp |
Commit
254b4f250007ef9f2d2377eb912963beafa39754
by simon.tatham[ARM,MVE] Add intrinsics for scalar shifts. This fills in the small family of MVE intrinsics that have nothing to do with vectors: they implement bit-shift operations on 32- or 64-bit values held in one or two general-purpose registers. Most of these shift operations saturate if shifting left, and round to nearest if shifting right, although LSLL and ASRL behave like ordinary shifts. When these instructions take a variable shift count in a register, they pay attention to its sign, so that (for example) LSLL or UQRSHLL will shift left if given a positive number but right if given a negative one. That makes even LSLL and ASRL different enough from standard LLVM IR shift semantics that I couldn't see any better alternative than to simply model the whole family as a set of MVE-specific IR intrinsics. (The //immediate// forms of LSLL and ASRL, on the other hand, do behave exactly like a standard IR shift of a 64-bit value. In fact, those forms don't have ACLE intrinsics defined at all, because you can just write an ordinary C shift operation if you want one of those.) The 64-bit shifts have to be instruction-selected in C++, because they deliver two output values. But the 32-bit ones are simple enough that I could write a DAG isel pattern directly into each Instruction record. Reviewers: ostannard, MarkMurrayARM, dmgreen Reviewed By: dmgreen Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D70319
|
 | clang/include/clang/Basic/arm_mve.td |
 | llvm/test/CodeGen/Thumb2/mve-intrinsics/scalar-shifts.ll |
 | llvm/lib/Target/ARM/ARMInstrMVE.td |
 | clang/include/clang/Basic/arm_mve_defs.td |
 | llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp |
 | llvm/include/llvm/IR/IntrinsicsARM.td |
 | clang/test/CodeGen/arm-mve-intrinsics/scalar-shifts.c |
Commit
4a6d03ad0e00c75c18d5740438d49918f99cb4f2
by Raphael Isemann[lldb] Add logging to IRExecutionUnit::GetStaticInitializers
|
 | lldb/source/Expression/IRExecutionUnit.cpp |
Commit
6265be2782d74216a3b42aa28cc43e3a9a4f658c
by spatel[SLP] add test for reduction miscompile; NFC See D70148 for discussion.
|
 | llvm/test/Transforms/SLPVectorizer/X86/reduction.ll |
Commit
e6c55fbe0199f1e8db3ca00f5461a3f7dd66f178
by davebFixup AVR tests to reflect changes in addend format in llvm-objdump Summary: Changes to llvm-objdump made in D69997 Reviewers: thakis, jhenderson, grimar Reviewed By: thakis Subscribers: dylanmckay, Jim, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70438
|
 | llvm/test/MC/AVR/out-of-range-fixups/call-pass.s |
 | llvm/test/MC/AVR/out-of-range-fixups/sbi-pass.s |
 | llvm/test/MC/AVR/relocations.s |
 | llvm/test/MC/AVR/out-of-range-fixups/adiw-pass.s |
 | llvm/test/MC/AVR/out-of-range-fixups/in-pass.s |
 | llvm/test/MC/AVR/out-of-range-fixups/rjmp-pass.s |
 | llvm/test/MC/AVR/out-of-range-fixups/lds-pass.s |
 | llvm/test/MC/AVR/out-of-range-fixups/brbs-pass.s |
Commit
41bac76da873bf9b4b5d1353299ca68b4ad26ff3
by llvmgnsyncbotgn build: Merge 765b1250f68
|
 | llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn |
 | llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn |
Commit
39de82ecc9c2e461e1318ed9926286a1eed2be3f
by spatel[SLP] fix insertion point for min/max reduction As discussed in D70148 (and caused a revert of the original commit): if we insert at the select, then we can produce invalid IR because the replacement for the compare may have uses before the select.
|
 | llvm/test/Transforms/SLPVectorizer/X86/reduction.ll |
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
Commit
980653621ef563df41f1d09a1ac8c58708f79930
by mitchell[clang-tidy] Give readability-redundant-member-init an option IgnoreBaseInCopyConstructors to avoid breaking code with gcc -Werror=extra Summary: readability-redundant-member-init removes redundant / unnecessary member and base class initialization. Unfortunately for the specific case of a copy constructor's initialization of a base class, gcc at strict warning levels warns if "base class is not initialized in the copy constructor of a derived class". This patch adds an option `IgnoreBaseInCopyConstructors` defaulting to 0 (thus maintaining current behavior by default) to skip the specific case of removal of redundant base class initialization in the copy constructor. Enabling this option enables the resulting code to continue to compile successfully under `gcc -Werror=extra`. New test cases `WithCopyConstructor1` and `WithCopyConstructor2` in clang-tools-extra/test/clang-tidy/readability-redundant-member-init.cpp show that it removes redundant members even from copy constructors. Reviewers: malcolm.parsons, alexfh, hokein, aaron.ballman, lebedev.ri Patch by: poelmanc Subscribers: mgehre, lebedev.ri, cfe-commits Tags: #clang, #clang-tools-extra Differential revision: https://reviews.llvm.org/D69145
|
 | clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.h |
 | clang-tools-extra/docs/ReleaseNotes.rst |
 | clang-tools-extra/clang-tidy/readability/RedundantMemberInitCheck.cpp |
 | clang-tools-extra/docs/clang-tidy/checks/readability-redundant-member-init.rst |
 | clang-tools-extra/test/clang-tidy/checkers/readability-redundant-member-init.cpp |
Commit
c9edaa828eb84a62af2042a1a64168e32ea32924
by jasonliu[AIX][XCOFF] Write Function descriptors and TOC base to data section This patch implements writing function descriptors and TOC base into data section, and also add function descriptors(both csect and label) and TOC base symbols to the symbol table.
|
 | llvm/lib/MC/XCOFFObjectWriter.cpp |
 | llvm/test/CodeGen/PowerPC/aix-func-dsc-gen.ll |
Commit
62871305c28f3102d5d06da929379674f2d40d04
by mitchell[NFC] Attempting to fix sphinx build failure with badly encoded characters from incoming patch.
|
 | clang-tools-extra/docs/ReleaseNotes.rst |
Commit
b81cc6032902c810e0fde485d3092a947dc38541
by thomasp[clang][NFC] Make various uses of Regex const The const-correctness of match() was fixed in rL372764, which allows uses of Regex objects to be const in cases they couldn't be before. This patch tightens up the const-ness of Regex in various such cases. Reviewers: thopre Reviewed By: thopre Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D68155
|
 | clang/lib/Format/BreakableToken.h |
 | clang/tools/clang-refactor/TestSupport.cpp |
 | clang/lib/Format/UnwrappedLineParser.cpp |
 | clang/include/clang/Tooling/Inclusions/HeaderIncludes.h |
 | clang/lib/Format/BreakableToken.cpp |
 | clang/lib/Format/NamespaceEndCommentsFixer.cpp |
Commit
6c2151bf4c829958891e65a4cc396daa6d308eb0
by pavel[cmake] Disable GCC 9's -Winit-list-lifetime warning in ArrayRef Summary: This is a new warning which fires when one stores a reference to the initializer_list contents in a way which may outlive the initializer_list which it came from. In llvm this warning is triggered whenever someone uses the initializer_list ArrayRef constructor. This is indeed a dangerous thing to do (I myself was bitten by that at least once), but it is not more dangerous than calling other ArrayRef constructors with temporary objects -- something which we are used to and have accepted as a tradeoff for ArrayRef's efficiency. Currently, this warnings generates so much output that it completely obscures any actionable warnings, so this patch disables it. Reviewers: rnk, aaron.ballman Subscribers: mgorny, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70122
|
 | llvm/include/llvm/ADT/ArrayRef.h |
Commit
7fe9435dc88050ee78eb1d4adec87610dce468f7
by arsenm2Work on cleaning up denormal mode handling Cleanup handling of the denormal-fp-math attribute. Consolidate places checking the allowed names in one place. This is in preparation for introducing FP type specific variants of the denormal-fp-mode attribute. AMDGPU will switch to using this in place of the current hacky use of subtarget features for the denormal mode. Introduce a new header for dealing with FP modes. The constrained intrinsic classes define related enums that should also be moved into this header for uses in other contexts. The verifier could use a check to make sure the denorm-fp-mode attribute is sane, but there currently isn't one. Currently, DAGCombiner incorrectly asssumes non-IEEE behavior by default in the one current user. Clang must be taught to start emitting this attribute by default to avoid regressions when this is switched to assume ieee behavior if the attribute isn't present.
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/include/llvm/CodeGen/MachineFunction.h |
 | clang/include/clang/Basic/CodeGenOptions.h |
 | llvm/unittests/ADT/CMakeLists.txt |
 | clang/lib/CodeGen/CGCall.cpp |
 | llvm/include/llvm/ADT/FloatingPointMode.h |
 | llvm/lib/CodeGen/MachineFunction.cpp |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | llvm/include/llvm/CodeGen/SelectionDAG.h |
 | llvm/unittests/ADT/FloatingPointMode.cpp |
Commit
50b17de05dbcd4d172d44e2f9847ff580fa791cd
by llvmgnsyncbotgn build: Merge 7fe9435dc88
|
 | llvm/utils/gn/secondary/llvm/unittests/ADT/BUILD.gn |
Commit
4f7dce78c2372615b306435ba3d02ec684a6761c
by mitchell[NFC] Attempting to fix sphinx build failure with badly encoded characters from incoming patch.
|
 | clang-tools-extra/docs/clang-tidy/checks/readability-redundant-member-init.rst |
Commit
3a76b8a538c0d20efe823f03a133c778e842270e
by Andrey.ChurbanovFix openmp on PowerPC64-BE-ELFv2 ABI on FreeBSD. Patch by adalava (Alfredo Dal'Ava J.nior) Differential Revision: https://reviews.llvm.org/D67190
|
 | openmp/runtime/src/z_Linux_asm.S |
 | openmp/runtime/src/kmp_platform.h |
Commit
6b0eb5a6727590472e2e9cbf65fa2d7c3a18d2b5
by i[ELF] Improve --gc-sections compatibility with GNU ld regarding section groups Based on D70020 by serge-sans-paille. The ELF spec says: > Furthermore, there may be internal references among these sections that would not make sense if one of the sections were removed or replaced by a duplicate from another object. Therefore, such groups must be included or omitted from the linked object as a unit. A section cannot be a member of more than one group. GNU ld has 2 behaviors that we don't have: - Group members (nextInSectionGroup != nullptr) are subject to garbage collection. This includes non-SHF_ALLOC SHT_NOTE sections. In particular, discarding non-SHF_ALLOC SHT_NOTE sections is an expected behavior by the Annobin project. See
https://developers.redhat.com/blog/2018/02/20/annobin-storing-information-binaries/ for more information. - Groups members are retained or discarded as a unit. Members may have internal references that are not expressed as SHF_LINK_ORDER, relocations, etc. It seems that we should be more conservative here: if a section is marked live, mark all the other member within the group. Both behaviors are reasonable. This patch implements them. A new field InputSectionBase::nextInSectionGroup tracks the next member within a group. on ELF64, this increases sizeof(InputSectionBase) froms 144 to 152. InputSectionBase::dependentSections tracks section dependencies, which is used by both --gc-sections and /DISCARD/. We can't overload it for the "next member" semantic, because we should allow /DISCARD/ to discard sections independent of --gc-sections (GNU ld behavior). This behavior may be reasonably used by `/DISCARD/ : { *(.ARM.exidx*) }` or `/DISCARD/ : { *(.note*) }` (new test `linkerscript/discard-group.s`). Reviewed By: ruiu Differential Revision: https://reviews.llvm.org/D70146
|
 | lld/ELF/InputFiles.cpp |
 | lld/test/ELF/gc-sections-group.s |
 | lld/test/ELF/linkerscript/discard-group.s |
 | lld/ELF/InputSection.h |
 | lld/ELF/MarkLive.cpp |
Commit
6e418decd936a3e22dec5cebc77ecb86dc7f37c3
by jdenny.ornl[FileCheck] Use lit's internal shell for the test suite An advantage is that there are less portability concerns when writing tests. For example, `-u` is not supported by all implementations of `env`, but lit's internal shell provides its own `env` that supports `-u`. A disadvantage is that some shell constructs, such as parentheses, are not supported, but FileCheck's test suite currently doesn't require such constructs. For comparison, lit configures its test suite in the same manner. See `llvm/utils/lit/tests/lit.cfg`. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D70278
|
 | llvm/test/FileCheck/lit.local.cfg |
Commit
dd471dbe99a7e017357809151df56f2d4c3e7a31
by yitzhakm[libTooling] Extend `buildASTFromCodeWithArgs` to take files argument. Summary: Adds an optional parameter to `buildASTFromCodeWithArgs` that allows the user to pass additional files that the main code needs to compile. This change makes `buildASTFromCodeWithArgs` consistent with `runToolOnCodeWithArgs`. Patch by Alexey Eremin. Reviewers: gribozavr Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70175
|
 | clang/lib/Tooling/Tooling.cpp |
 | clang/include/clang/Tooling/Tooling.h |
Commit
b0561b3346e7bf0ae974995ca95b917eebde18e1
by tyker[NFC] Refactor representation of materialized temporaries Summary: this patch refactor representation of materialized temporaries to prevent an issue raised by rsmith in https://reviews.llvm.org/D63640#inline-612718 Reviewers: rsmith, martong, shafik Reviewed By: rsmith Subscribers: thakis, sammccall, ilya-biryukov, rnkovacs, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D69360
|
 | clang/include/clang/AST/ExprCXX.h |
 | clang/include/clang/Sema/Template.h |
 | clang/include/clang/AST/ASTContext.h |
 | clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp |
 | clang/lib/AST/ItaniumMangle.cpp |
 | clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp |
 | clang/lib/Sema/SemaChecking.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/include/clang/ASTMatchers/ASTMatchers.h |
 | clang/lib/AST/Expr.cpp |
 | clang/lib/AST/ExprCXX.cpp |
 | clang/lib/CodeGen/CGDecl.cpp |
 | clang/lib/CodeGen/CodeGenModule.cpp |
 | clang/lib/Serialization/ASTReaderStmt.cpp |
 | clang/lib/CodeGen/CGExprConstant.cpp |
 | clang/lib/Sema/JumpDiagnostics.cpp |
 | clang/lib/AST/ASTImporter.cpp |
 | clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp |
 | clang/lib/AST/StmtPrinter.cpp |
 | clang/include/clang/AST/DeclCXX.h |
 | clang/lib/AST/DeclBase.cpp |
 | clang/include/clang/Serialization/ASTBitCodes.h |
 | clang/lib/Sema/SemaStmt.cpp |
 | clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp |
 | clang/include/clang/Basic/DeclNodes.td |
 | clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.cpp |
 | clang/tools/libclang/CIndex.cpp |
 | clang/lib/AST/DeclCXX.cpp |
 | clang/lib/Analysis/Consumed.cpp |
 | clang/lib/CodeGen/CGExpr.cpp |
 | clang/lib/Sema/SemaInit.cpp |
 | clang/lib/Serialization/ASTWriterStmt.cpp |
 | clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp |
 | clang/lib/Sema/SemaExpr.cpp |
 | clang/lib/Analysis/CFG.cpp |
 | clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp |
 | clang/lib/Serialization/ASTCommon.cpp |
 | clang/lib/StaticAnalyzer/Core/ExprEngine.cpp |
 | clang/lib/Sema/TreeTransform.h |
 | clang/lib/Analysis/ThreadSafetyCommon.cpp |
 | clang/lib/AST/ASTContext.cpp |
 | clang/lib/AST/ExprConstant.cpp |
 | clang/lib/CodeGen/CGExprAgg.cpp |
 | clang/include/clang/AST/RecursiveASTVisitor.h |
 | clang/lib/Serialization/ASTWriterDecl.cpp |
 | clang/lib/Serialization/ASTReaderDecl.cpp |
Commit
4681e2e43420fa10e4e1c17eb78649922678a440
by jonchesterfield[nfc][libomptarget] Write amdgcn macros in terms of compiler intrinsics
|
 | openmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h |
Commit
1d943ae44c430430c8820464abbd4edb5467fcf4
by a.bataev[OPENMP]Rename function, NFC. Change the name of the CGOpenMPRuntime::emitOMPIfClause to CGOpenMPRuntime::emitIfClause.
|
 | clang/lib/CodeGen/CGOpenMPRuntime.h |
 | clang/lib/CodeGen/CGOpenMPRuntime.cpp |
 | clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp |
Commit
ce5de93e838f7391760ba2956c7e0ae5d203cb6f
by i[ELF] Disallow out-of-range section group indices after D70146 Exposed by invalid/sht-group-wrong-section.test http://45.33.8.238/win/2613/step_9.txt
|
 | lld/ELF/InputFiles.cpp |
Commit
e531750c6cf9ab6ca987ffbfe100b1d766269eb5
by arsenm2clang: Add -fconvergent-functions flag The CUDA builtin library is apparently compiled in C++ mode, so the assumption of convergent needs to be made in a typically non-SPMD language. The functions in the library should still be assumed convergent. Currently they are not, which is potentially incorrect and this happens to work after the library is linked.
|
 | clang/test/CodeGen/convergent-functions.cpp |
 | clang/include/clang/Basic/LangOptions.def |
 | clang/test/CodeGenCUDA/propagate-metadata.cu |
 | clang/include/clang/Driver/Options.td |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/include/clang/Basic/LangOptions.h |
Commit
b9a92206b6ef8b369dc266d8cb70553ebef293bd
by Dan Liew[Symbolizers] On Darwin compute function offset when possible. Summary: The sanitizer symbolizers support printing the function offset (difference between pc and function start) of a stackframe using the `%q` format specifier. Unfortunately this didn't actually work because neither the atos or dladdr symbolizer set the `AddressInfo::function_offset` field. This patch teaches both symbolizers to try to compute the function offset. In the case of the atos symbolizer, atos might not report the function offset (e.g. it reports a source location instead) so in this case it fallsback to using `dladdr()` to compute the function offset. Two test cases are included. rdar://problem/56695185 Reviewers: kubamracek, yln Subscribers: #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D69549
|
 | compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_mac.cpp |
 | compiler-rt/test/sanitizer_common/TestCases/Darwin/symbolizer-function-offset-dladdr.cpp |
 | compiler-rt/test/sanitizer_common/TestCases/Darwin/symbolizer-function-offset-atos.cpp |
 | compiler-rt/test/asan/TestCases/Darwin/asan-symbolize-partial-report-no-external-symbolizer.cpp |
Commit
b117ec8be0f350f6a644de28a9871cf0183a1c54
by Jonas Devlieghere[LLDB] Fix formatting in the driver (NFC)
|
 | lldb/tools/driver/Driver.cpp |
Commit
f55cd39f19134392b16bc1fd6c558214778a3bb8
by alexandre.ganea[C-index] Fix test when using Debug target & MSVC STL Avoids a deadlock in "clang/test/Index/crash-recovery-modules.m" when building with the MSVC STL & _ITERATOR_DEBUG_LEVEL == 2 (meaning a DEBUG build) Differential Revision: https://reviews.llvm.org/D69959
|
 | clang/include/clang/Frontend/FrontendOptions.h |
Commit
b91f798fde42668a3a7b361c015deb787a46720d
by diggerlinimplement printing out raw section data of xcoff objectfile for llvm-objdump SUMMARY: implement printing out raw section data of xcoff objectfile for llvm-objdump and option -D --disassemble-all option for llvm-objdump Reviewers: Sean Fertile Subscribers: rupprecht, seiyai,hiraditya Differential Revision: https://reviews.llvm.org/D70255
|
 | llvm/test/tools/llvm-objdump/xcoff-raw-section-data.test |
 | llvm/test/tools/llvm-objdump/xcoff-disassemble-all.test |
 | llvm/lib/Object/XCOFFObjectFile.cpp |
Commit
411bfe476b758c09a0c9d4b3176e46f0a70de3bb
by david.green[ARM] Add and update a lot of VLDn tests. NFC
|
 | llvm/test/CodeGen/Thumb2/mve-vld3.ll |
 | llvm/test/CodeGen/Thumb2/mve-vld2.ll |
 | llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll |
 | llvm/test/CodeGen/Thumb2/mve-vst3.ll |
 | llvm/test/Transforms/InterleavedAccess/ARM/interleaved-accesses.ll |
 | llvm/test/CodeGen/Thumb2/mve-vst2.ll |
 | llvm/test/CodeGen/Thumb2/mve-vld4.ll |
 | llvm/test/CodeGen/Thumb2/mve-vst4.ll |
Commit
882f23caeae5ad3ec1806eb6ec387e3611649d54
by david.green[ARM] MVE interleaving load and stores. Now that we have the intrinsics, we can add VLD2/4 and VST2/4 lowering for MVE. This works the same way as Neon, recognising the load/shuffles combination and converting them into intrinsics in a pre-isel pass, which just calls getMaxSupportedInterleaveFactor, lowerInterleavedLoad and lowerInterleavedStore. The main difference to Neon is that we do not have a VLD3 instruction. Otherwise most of the code works very similarly, with just some minor differences in the form of the intrinsics to work around. VLD3 is disabled by making isLegalInterleavedAccessType return false for those cases. We may need some other future adjustments, such as VLD4 take up half the available registers so should maybe cost more. This patch should get the basics in though. Differential Revision: https://reviews.llvm.org/D69392
|
 | llvm/test/CodeGen/Thumb2/mve-vst2.ll |
 | llvm/lib/Target/ARM/ARMISelLowering.cpp |
 | llvm/test/Transforms/InterleavedAccess/ARM/interleaved-accesses.ll |
 | llvm/lib/Target/ARM/ARMISelLowering.h |
 | llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp |
 | llvm/test/CodeGen/Thumb2/mve-vld4.ll |
 | llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll |
 | llvm/test/CodeGen/Thumb2/mve-vld2.ll |
 | llvm/test/CodeGen/Thumb2/mve-vst4.ll |
Commit
77f8a3324b741bc78c93d1076a31b77f331a0bc5
by Adrian PrantlAdd a "Using LLDB" section to the welcome page of the website This is an attempt to feature the user-facing resources more prominently on the LLDB website by calling out the tutorial and the GDB command map wight on the start page. I also moved the "Why a new debugger" section to the "Goals" subpage. Given that LLDB's first release is almost a decade in the past now, the title is a bit of an anachronism. Lastly, I moved the Architecture sub-page from "use" to "resources", since end-users do not care about the source code layout. Differential Revision: https://reviews.llvm.org/D70449
|
 | lldb/docs/.htaccess |
 | lldb/docs/use/architecture.rst |
 | lldb/docs/index.rst |
 | lldb/docs/status/goals.rst |
 | lldb/docs/resources/architecture.rst |
Commit
bfebc63a3dbd9505792ee000dbfc60371f02267a
by Alex Lorenz[ADT][Expensive checks] Create a std::random_device seed only once when shuffling before sorting This speeds up the build of compiler-rt with an expensive checks enabled clang by an order of 1 or 2 magnitudes on my machine. I was hoping this would also fix the 'large.test' libFuzzer timeout on the expensive checks bot on green dragon http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-expensive/, but the fuzzer test still takes too long to compile because of other IR/MIR verification inefficiencies. Differential Revision: https://reviews.llvm.org/D70288
|
 | llvm/include/llvm/ADT/STLExtras.h |
Commit
c97f303880c26007b4e74e3fd0bde5ed802a25f1
by tstellartest-release.sh: Update to fetch source from GitHub Summary: This also changes the test-release.sh script to build using the monorepo layout instead of copying sub-projects into llvm/tools or llvm/projects. Reviewers: jdoerfert, hans Reviewed By: hans Subscribers: hans, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70353
|
 | llvm/utils/release/test-release.sh |
Commit
2535fe5ad3327c8f77654a728986ca0afdf249f7
by eugenisMTE: add more unchecked instructions. Summary: In particular, 1- and 2-byte loads and stores ignore the pointer tag when using SP as the base register. Reviewers: pcc, ostannard Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70341
|
 | llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp |
 | llvm/test/CodeGen/AArch64/stack-tagging-unchecked-ld-st.ll |
Commit
a84b48d01e3e77b754a6d4d7326e4a0c4faa10ab
by jonchesterfield[nfc][libomptarget] Remove casts of string literals to char*
|
 | openmp/libomptarget/deviceRTLs/nvptx/src/omptarget-nvptx.h |
 | openmp/libomptarget/deviceRTLs/nvptx/src/parallel.cu |
Commit
0a8e7ca402eb3470eb5faf4982581771cb849130
by spatel[SLP] fix miscompile on min/max reductions with extra uses (PR43948) (2nd try) The 1st attempt was reverted because it revealed an existing bug where we could produce invalid IR (use of value before definition). That should be fixed with: rG39de82ecc9c2 The bug manifests as replacing a reduction operand with an undef value. The problem appears to be limited to cases where a min/max reduction has extra uses of the compare operand to the select. In the general case, we are tracking "ExternallyUsedValues" and an "IgnoreList" of the reduction operations, but those may not apply to the final compare+select in a min/max reduction. For that, we use replaceAllUsesWith (RAUW) to ensure that the new vectorized reduction values are transferred to all subsequent users. Differential Revision: https://reviews.llvm.org/D70148
|
 | llvm/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll |
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
 | llvm/test/Transforms/SLPVectorizer/X86/reduction.ll |
Commit
3279724905c14a8db383ade53af40a0dd49504d8
by Duncan P. N. Exon Smithllvm/ObjCARC: Eliminate inlined AutoreleaseRV calls Pair up inlined AutoreleaseRV calls with their matching RetainRV or ClaimRV. - RetainRV cancels out AutoreleaseRV. Delete both instructions. - ClaimRV is a peephole for RetainRV+Release. Delete AutoreleaseRV and replace ClaimRV with Release. This avoids problems where more aggressive inlining triggers memory regressions. This patch is happy to skip over non-callable instructions and non-ARC intrinsics looking for the pair. It is likely sound to also skip over opaque function calls, but that's harder to reason about, and it's not relevant to the goal here: if there's an opaque function call splitting up a pair, it's very unlikely that a handshake would have happened dynamically without inlining. Note that this patch also subsumes the previous logic that looked backwards from ReleaseRV. https://reviews.llvm.org/D70370 rdar://problem/46509586
|
 | llvm/test/Transforms/ObjCARC/unsafe-claim-rv.ll |
 | llvm/test/Transforms/ObjCARC/inlined-autorelease-return-value.ll |
 | llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp |
Commit
ba71ca37208faf0916b4cae4298789796b791cfe
by Vedant Kumar[DebugInfo] Describe size of spilled values in call site params A call site parameter description of a memory operand needs to unambiguously convey the size of the operand to prevent incorrect entry value evaluation. Thanks for David Stenberg for pointing this issue out!
|
 | llvm/test/DebugInfo/MIR/X86/dbg-call-site-spilled-arg.mir |
 | llvm/lib/CodeGen/TargetInstrInfo.cpp |
Commit
c444a01df3553d9405cbd4dac3c1074a71e6c2e1
by tykerfixe leak found by asan build bot
|
 | clang/lib/AST/DeclCXX.cpp |
Commit
ea13683f3d848df05d836f6d86dc40ba2113bb43
by diggerlinThe patch is the compiler error specific on the compile error on CMVC SUMMARY: CMVC has a compiler error on the const uint64_t OffsetToRaw = is64Bit() ? toSection64(Sec)->FileOffsetToRawData : toSection32(Sec)->FileOffsetToRawData; while gcc compiler do not have the problem. I have to change the code to uint64_t OffsetToRaw; if (is64Bit()) OffsetToRaw = toSection64(Sec)->FileOffsetToRawData; else OffsetToRaw = toSection32(Sec)->FileOffsetToRawData; Reviewers: Sean Fertile Subscribers: rupprecht, seiyai,hiraditya Differential Revision: https://reviews.llvm.org/D70255
|
 | llvm/lib/Object/XCOFFObjectFile.cpp |
Commit
1aacf58819a27f428a46ce839a0ee797af03c1fd
by Vedant Kumar[profile] Unbreak Fuchsia/Windows after D68351 Continuous mode is not yet supported on Fuchsia/Windows, however an error should not be reported unless the user attempted to actually enable continuous mode.
|
 | compiler-rt/lib/profile/InstrProfilingFile.c |
Commit
586f65d31f32ca6bc8cfdb8a4f61bee5057bf6c8
by rnkAdd a key method to Sema to optimize debug info size It turns out that the debug info describing the Sema class is an appreciable percentage of the total object file size of objects in Sema. By adding a key function, clang is able to optimize the debug info size by emitting a forward declaration in TUs that do not define the key function. On Windows, with clang-cl, these are the total sizes of object files in Sema before and after this change, compiling with optimizations and debug info: before: 335,012 KB after: 278,116 KB delta: -56,896 KB percent: -17.0% The effect on link time was negligible, despite having ~56MB less input. On Linux, with clang, these are the same sizes using DWARF -g and optimizations: before: 603,756 KB after: 515,340 KB delta: -88,416 KB percent: -14.6% I didn't use type units, DWARF-5, fission, or any other special flags. Reviewed By: thakis Differential Revision: https://reviews.llvm.org/D70340
|
 | clang/include/clang/Sema/Sema.h |
 | clang/lib/Sema/Sema.cpp |
Commit
75b5db3094399302a1f60f5e09cf3d6ed8d161fb
by Tim Northover[docs] Remove dangling parenthesis from documentation Patch by leiteg.
|
 | llvm/docs/CommandLine.rst |
Commit
568db780bb7267651a902da8e85bc59fc89aea70
by Vedant Kumar[CGDebugInfo] Emit subprograms for decls when AT_tail_call is understood (reland with fixes) Currently, clang emits subprograms for declared functions when the target debugger or DWARF standard is known to support entry values (DW_OP_entry_value & the GNU equivalent). Treat DW_AT_tail_call the same way to allow debuggers to follow cross-TU tail calls. Pre-patch debug session with a cross-TU tail call: ``` * frame #0: 0x0000000100000fa4 main`target at b.c:4:3 [opt] frame #1: 0x0000000100000f99 main`main at a.c:8:10 [opt] ``` Post-patch (note that the tail-calling frame, "helper", is visible): ``` * frame #0: 0x0000000100000fa4 main`target at b.c:4:3 [opt] frame #1: 0x0000000100000f80 main`helper [opt] [artificial] frame #2: 0x0000000100000f99 main`main at a.c:8:10 [opt] ``` This was reverted in 5b9a072c because it attached declaration subprograms to inlinable builtin calls, which interacted badly with the MergeICmps pass. The fix is to not attach declarations to builtins. rdar://46577651 Differential Revision: https://reviews.llvm.org/D69743
|
 | llvm/test/DebugInfo/X86/dwarf-callsite-related-attrs.ll |
 | clang/test/CodeGen/debug-info-extern-call.c |
 | clang/lib/CodeGen/CGDebugInfo.cpp |
 | clang/include/clang/Basic/IdentifierTable.h |
 | clang/lib/Sema/SemaCodeComplete.cpp |
 | clang/test/CodeGenCXX/dbg-info-all-calls-described.cpp |
Commit
0d4211f4e753057feec32938e596d037d4f5a6aa
by Vedant Kumar[profile] Address unused function warnings on Windows after D69586 This '#ifdef's out two functions which are unused on Windows, to prevent -Wunused-function warnings.
|
 | compiler-rt/lib/profile/InstrProfilingFile.c |
Commit
d08c056695a59fb1cfc7ccc9a2784bb9a6514551
by a.bataev[OPENMP50]Add if clause in simd directive. According to OpenMP 5.0, if clause can be used in simd directive. If condition in the if clause if false, the non-vectorized version of the loop must be executed.
|
 | clang/include/clang/Basic/OpenMPKinds.h |
 | clang/lib/CodeGen/CGOpenMPRuntime.h |
 | clang/lib/CodeGen/CGStmtOpenMP.cpp |
 | clang/lib/Basic/OpenMPKinds.cpp |
 | clang/lib/CodeGen/CodeGenFunction.h |
 | clang/include/clang/Basic/OpenMPKinds.def |
 | clang/test/OpenMP/simd_ast_print.cpp |
 | clang/test/OpenMP/simd_if_messages.cpp |
 | clang/lib/Parse/ParseOpenMP.cpp |
 | clang/include/clang/ASTMatchers/ASTMatchers.h |
 | clang/test/OpenMP/simd_codegen.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
Commit
3a8104a9ea3d88fb4d0ef17185e420c814757bfd
by listmailPrecommit test showing oppurtunity when computing exit tests of unsimplified IR If we partially unswitch a loop, we leave around the (and i1 X, true) or (or i1 X, false) forms. At the moment, this inhibits SCEVs ability to compute trip counts, patch forthcoming.
|
 | llvm/test/Analysis/ScalarEvolution/trip-count-andor.ll |
Commit
8c48405069085a2c8b6b80816eda99e5dad31fc1
by Duncan P. N. Exon SmithWrap C APIs with pragmas enforcing -Werror=strict-prototypes Force `-Werror=strict-prototypes` so that C API tests fail to compile if we add a non-prototype declaration. This should help avoid regressions like bddecba4b333f7772029b4937d2c34f9f2fda6ca was fixing. https://reviews.llvm.org/D70285 rdar://problem/57203137
|
 | llvm/include/llvm-c/Transforms/PassManagerBuilder.h |
 | llvm/include/llvm-c/Types.h |
 | clang/include/clang-c/FatalErrorHandler.h |
 | clang/include/clang-c/BuildSystem.h |
 | llvm/include/llvm-c/DebugInfo.h |
 | llvm/include/llvm-c/Support.h |
 | llvm/include/llvm-c/BitReader.h |
 | llvm/include/llvm-c/Transforms/IPO.h |
 | llvm/include/llvm-c/Disassembler.h |
 | llvm/include/llvm-c/IRReader.h |
 | llvm/include/llvm-c/Linker.h |
 | llvm/include/llvm-c/Core.h |
 | llvm/include/llvm-c/BitWriter.h |
 | llvm/include/llvm-c/ExecutionEngine.h |
 | llvm/include/llvm-c/lto.h |
 | clang/include/clang-c/Platform.h |
 | clang/include/clang-c/Index.h |
 | llvm/include/llvm-c/Object.h |
 | llvm/include/llvm-c/Comdat.h |
 | llvm/include/llvm-c/Transforms/InstCombine.h |
 | llvm/include/llvm-c/ErrorHandling.h |
 | clang/include/clang-c/Documentation.h |
 | llvm/include/llvm-c/ExternC.h |
 | clang/include/clang-c/CXCompilationDatabase.h |
 | llvm/include/llvm-c/Remarks.h |
 | llvm/include/llvm-c/TargetMachine.h |
 | clang/include/clang-c/CXErrorCode.h |
 | llvm/include/llvm-c/Target.h |
 | clang/include/clang-c/ExternC.h |
 | llvm/include/llvm-c/Transforms/Utils.h |
 | llvm/include/llvm-c/Transforms/AggressiveInstCombine.h |
 | llvm/include/llvm-c/Error.h |
 | llvm/include/llvm-c/LinkTimeOptimizer.h |
 | llvm/include/llvm-c/Transforms/Vectorize.h |
 | llvm/include/llvm-c/OrcBindings.h |
 | llvm/include/llvm-c/Transforms/Scalar.h |
 | llvm/include/llvm-c/Initialization.h |
 | llvm/include/llvm-c/Analysis.h |
 | llvm/include/llvm-c/Transforms/Coroutines.h |
 | clang/include/clang-c/CXString.h |
Commit
cd4811360e2a1d23578073c6c99b2ef8ba276289
by benny.kra[ValueTracking] Add a basic version of isKnownNonInfinity and use it to detect more NoNaNs
|
 | llvm/lib/Analysis/ValueTracking.cpp |
 | llvm/include/llvm/Analysis/ValueTracking.h |
 | llvm/test/Transforms/InstSimplify/known-never-nan.ll |
Commit
cf823ce4ad9d04c69b7c29d236f7b14c875111c2
by Amara Emerson[AArch64] Fix MIR test instruction to not have invalid operand. In anticipation of an improved verifier in D63973.
|
 | llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi-insertpt-decrement.mir |
Commit
f3eb5dee5756876be0524c59c21478659eba8c4d
by listmail[LoopPred] Generalize profitability check to handle unswitch output Unswitch (and other loop transforms) like to generate loop exit blocks with unconditional successors, and phi nodes (LCSSA, or simple multiple exiting blocks sharing an exit). Generalize the "likely very rare exit" check slightly to handle this form.
|
 | llvm/lib/Transforms/Scalar/LoopPredication.cpp |
 | llvm/test/Transforms/LoopPredication/predicate-exits.ll |
Commit
70c68a6b0e515967dba5b30f6a60e220a8cd8d2c
by listmail[NFC] Factor out utilities for manipulating widenable branches With the widenable condition construct, we have the ability to reason about branches which can be 'widened' (i.e. made to fail more often). We've got a couple o transforms which leverage this. This patch just cleans up the API a bit. This is prep work for generalizing our definition of a widenable branch slightly. At the moment "br i1 (and A, wc()), ..." is considered widenable, but oddly, neither "br i1 (and wc(), B), ..." or "br i1 wc(), ..." is. That clearly needs addressed, so first, let's centralize the code in one place.
|
 | llvm/include/llvm/Transforms/Utils/GuardUtils.h |
 | llvm/lib/Transforms/Scalar/LoopPredication.cpp |
 | llvm/include/llvm/Analysis/GuardUtils.h |
 | llvm/lib/Analysis/GuardUtils.cpp |
 | llvm/lib/Transforms/Utils/GuardUtils.cpp |
 | llvm/lib/Transforms/Scalar/GuardWidening.cpp |
Commit
ea8e02822341e2421b94167d828d3f224e767424
by puyan[clang][IFS] Driver Pipeline: generate stubs after standard pipeline (2) Second Landing Attempt: Up until now, clang interface stubs has replaced the standard PP -> C -> BE -> ASM -> LNK pipeline. With this change, it will happen in conjunction with it. So what when you build your code you will get an a.out or lib.so as well as an interface stub file. Example: clang -shared -o libfoo.so -emit-interface-stubs ... will generate both a libfoo.so and a libfoo.ifso. The .so file will contain the code from the standard compilation pipeline and the .ifso file will contain the ELF stub library. Differential Revision: https://reviews.llvm.org/D70274
|
 | clang/test/InterfaceStubs/driver-test2.c |
 | clang/test/InterfaceStubs/driver-test.c |
 | clang/lib/Driver/ToolChains/InterfaceStubs.cpp |
 | clang/lib/Driver/Driver.cpp |
 | clang/lib/Driver/Types.cpp |
 | clang/test/InterfaceStubs/windows.cpp |
 | clang/test/InterfaceStubs/ppc.cpp |
Commit
377d70cdea733e36107e99d9148864d24797d51c
by puyan[clang][IFS] Fixing failing bots that do not have PPC target or "orbis-ld"
|
 | clang/test/InterfaceStubs/ppc.cpp |
 | clang/test/InterfaceStubs/driver-test.c |
Commit
28a91473e33eb3585a87514e4cf2523a9a587d82
by listmail[GuardWidening] Remove WidenFrequentBranches transform This code has never been enabled. While it is tested, it's complicating some refactoring. If we decide to re-implement this, doing it in SimplifyCFG would probably make more sense anyways.
|
 | llvm/test/Transforms/GuardWidening/widen-frequent-branches.ll |
 | llvm/lib/Transforms/Scalar/GuardWidening.cpp |
Commit
88f00aef684ff84a6494e1f17d5466c5678f703d
by alexshapIntroduce llvm-install-name-tool This diff adds a new "driver" for llvm-objcopy which is supposed to emulate the behavior of install-name-tool. This is a recommit of b5913e6d2 with ubsan issues fixed. Differential revision: https://reviews.llvm.org/D69146 Test plan: make check-all
|
 | llvm/test/tools/llvm-objcopy/MachO/install-name-tool-version.test |
 | llvm/tools/llvm-objcopy/InstallNameToolOpts.td |
 | llvm/tools/llvm-objcopy/MachO/MachOReader.cpp |
 | llvm/tools/llvm-objcopy/MachO/Object.cpp |
 | llvm/test/tools/llvm-objcopy/MachO/Inputs/x86_64.yaml |
 | llvm/test/tools/llvm-objcopy/MachO/Inputs/i386.yaml |
 | llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp |
 | llvm/tools/llvm-objcopy/MachO/MachOWriter.cpp |
 | llvm/test/tools/llvm-objcopy/MachO/install-name-tool-help-message.test |
 | llvm/tools/llvm-objcopy/MachO/Object.h |
 | llvm/tools/llvm-objcopy/CopyConfig.cpp |
 | llvm/tools/llvm-objcopy/CMakeLists.txt |
 | llvm/tools/llvm-objcopy/CopyConfig.h |
 | llvm/tools/llvm-objcopy/llvm-objcopy.cpp |
 | llvm/test/tools/llvm-objcopy/MachO/install-name-tool-add-rpath.test |
Commit
327a18ca0a000e4f99d02d0042ca2106db635a68
by rupprecht[lldb][test] Prevent \n in calls to lldb's expect() test helper. Summary: expect() forwards its command to sendline(). This can be problematic if the command already contains a newline: sendline() unconditionally adds a newline to the command, which causes the command to run twice (hitting enter in lldb runs the previous command). The expect() helper looks for the prompt and finds the first one, but because the command has run a second time, the buffer will contain the contents of the second time the command ran, causing potential erroneous matching. Simplify the editline test, which was using different commands to workaround this misunderstanding. Reviewers: labath Reviewed By: labath Subscribers: merge_guards_bot, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D70324
|
 | lldb/packages/Python/lldbsuite/test/lldbpexpect.py |
 | lldb/packages/Python/lldbsuite/test/terminal/TestEditline.py |
Commit
29fd1e1f4a372f3870e054da24b57a4f45861808
by puyan[clang][IFS] Attempting to fix missing 'orbis-ld' on scei-ps4-ubuntu bot. I want this test to run end to end, but I am still having trouble with missing linkers on the scei-ps4 bot. Will remove this test if it continues to be a source of brittle failures. Sorry for the noise.
|
 | clang/test/InterfaceStubs/driver-test.c |
Commit
85435bdde00241057989a2f579ea6c9c64ef1606
by petecoup[ARC] Add InitializePasses header to fix ARC build.
|
 | llvm/lib/Target/ARC/ARCOptAddrMode.cpp |
 | llvm/lib/Target/ARC/ARCBranchFinalize.cpp |
Commit
72fac0663a3305e66be4c63d1089ea8a85270c9b
by listmail[tests] Autogen a test to eliminate spurious diff from following patch
|
 | llvm/test/Transforms/GuardWidening/basic_widenable_condition_guards.ll |
Commit
85589f8077a229a6fbc7c245ae28bec06b88c5fb
by craig.topper[X86] Add custom type legalization and lowering for scalar STRICT_FP_TO_SINT/UINT This is a first pass at Custom lowering for these operations. I also updated some of the vector code where it was obviously easy and straightforward. More work needed in follow up. This enables these operations to be handled with X87 where special rounding control adjustments are needed to perform a truncate. Still need to fix Promotion in the target independent code in LegalizeDAG. llrint/llround split into separate test file because we can't make a strict libcall properly yet either and we need to do that when i64 isn't a legal type. This does not include any isel support. So we still rely on the mutation in SelectionDAGIsel to remove the strict from this stuff later. Except for the X87 stuff which goes through custom nodes that already had chains. Differential Revision: https://reviews.llvm.org/D70214
|
 | llvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll |
 | llvm/lib/Target/X86/X86ISelLowering.h |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/fp-intrinsics.ll |
Commit
69242e986823e3fdd11a8e51f47f36bec714363c
by Duncan P. N. Exon Smithclang/Modules: Sink ASTReadResult in ReadControlBlock, NFC Simplify the code by avoiding some state that wasn't being used. The function-level `Result` was only assigned a value other than `Success` in the handler for `OPTIONS_BLOCK_ID`, but in that case it also hits an early return. Remove it at the function-level to make it obvious that the normal case always returns `Success`.
|
 | clang/lib/Serialization/ASTReader.cpp |
Commit
10089ce2027ac15fc04427189b3b22ccec4d8535
by peterscudo: Switch from std::random_shuffle to std::shuffle in a test. This lets the test build with C++17. Differential Revision: https://reviews.llvm.org/D70471
|
 | compiler-rt/lib/scudo/standalone/tests/secondary_test.cpp |
Commit
c4b41e8d1d860e2439c7c0e16bd1d1af3fe2d023
by craig.topper[LegalizeDAG][X86] Enable STRICT_FP_TO_SINT/UINT to be promoted Differential Revision: https://reviews.llvm.org/D70220
|
 | llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp |
 | llvm/test/CodeGen/X86/fp-intrinsics.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
36eea5c31f13c086c951239ff876564c90546efa
by Jonas Devlieghere[Reproducer] Namespace the reproducer dump options. Make it clear that the current reproducer options are for dumping.
|
 | lldb/source/Commands/Options.td |
 | lldb/source/Commands/CommandObjectReproducer.cpp |
Commit
2cea161b80abf6ba442129d83bd0d4a97b751866
by alexshapRevert "Introduce llvm-install-name-tool" This temporarily reverts the commit 88f00aef684ff84a6494e1f17d5466c5678f703d. The change broke the buildbot http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/36836
|
 | llvm/tools/llvm-objcopy/MachO/Object.cpp |
 | llvm/test/tools/llvm-objcopy/MachO/Inputs/i386.yaml |
 | llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp |
 | llvm/tools/llvm-objcopy/llvm-objcopy.cpp |
 | llvm/tools/llvm-objcopy/CopyConfig.cpp |
 | llvm/tools/llvm-objcopy/MachO/MachOWriter.cpp |
 | llvm/tools/llvm-objcopy/MachO/Object.h |
 | llvm/tools/llvm-objcopy/CMakeLists.txt |
 | llvm/test/tools/llvm-objcopy/MachO/install-name-tool-help-message.test |
 | llvm/test/tools/llvm-objcopy/MachO/install-name-tool-version.test |
 | llvm/tools/llvm-objcopy/CopyConfig.h |
 | llvm/test/tools/llvm-objcopy/MachO/Inputs/x86_64.yaml |
 | llvm/tools/llvm-objcopy/InstallNameToolOpts.td |
 | llvm/tools/llvm-objcopy/MachO/MachOReader.cpp |
 | llvm/test/tools/llvm-objcopy/MachO/install-name-tool-add-rpath.test |
Commit
1b387484b9b38a4a1e98a9d22a9a26065b0d184e
by puyan[clang][IFS] Fixing unsupported emulation mode on clang-ppc64be-linux bot. I am in another pickle here where if I specify a triple, I get the wrong elf target arch on the PPC bot (error from the PPC elf Linker). To avoid this I am going to turn this test off on the PPC bots for now.
|
 | clang/test/InterfaceStubs/driver-test.c |
Commit
bffdee8ef379126de3f2581214d89c1b29f440b7
by francisvm[LTO][Legacy] Add API for passing LLVM options separately In order to correctly pass options to LLVM, including options containing spaces which are used as delimiters for multiple options in lto_codegen_debug_options, add a new API: lto_codegen_debug_options_array. Unfortunately, tools/lto has no testing infrastructure yet, so there are no tests associated with this patch. Differential Revision: https://reviews.llvm.org/D70463
|
 | llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h |
 | llvm/lib/LTO/LTOCodeGenerator.cpp |
 | llvm/tools/lto/lto.cpp |
 | llvm/include/llvm-c/lto.h |
 | llvm/tools/lto/lto.exports |
Commit
606a2bd6218e8378728b6c1e021e64bb57084a97
by rnk[musttail] Don't forward AL on Win64 AL is only used for varargs on SysV platforms. Don't forward it on Windows. This allows control flow guard to set up an extra hidden parameter in RAX, as described in PR44049. This also has the effect of freeing up RAX for use in virtual member pointer thunks, which may also be a nice little code size improvement on Win64. Fixes PR44049 Reviewers: ajpaverd, efriedma, hans Differential Revision: https://reviews.llvm.org/D70413
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/musttail-varargs.ll |
 | llvm/test/CodeGen/X86/cfguard-checks.ll |
Commit
8700831734811cb89eafb72b75206f21e9f047e9
by Duncan P. N. Exon Smithclang/Modules: Early return in CompilerInstance::createModuleManager, NFC Reduce nesting with an early `return`.
|
 | clang/lib/Frontend/CompilerInstance.cpp |
Commit
f37356d6f60ae5db978611621d3a375ed87ec0f0
by puyan[clang][IFS][test] Removing driver-test.c. Test is still too brittle. Removing this test because if I add a triple then there are link falures on targets like ppc and s390x. If I don't add a triple then on PS4 targets the clang driver tries to invoke orbis-ld which ends up being not found.
|
 | clang/test/InterfaceStubs/driver-test.c |
Commit
27b229dc17b2ea1d06fe566df8631bb2fff7b1c8
by puyanRevert "[clang][IFS][test] Removing driver-test.c. Test is still too brittle." This reverts commit f37356d6f60ae5db978611621d3a375ed87ec0f0.
|
 | clang/test/InterfaceStubs/driver-test.c |
Commit
6c6d34883a3003693cbf0ab3edf19eb999c1a62d
by puyanRevert "[clang][IFS] Fixing unsupported emulation mode on clang-ppc64be-linux bot." This reverts commit 1b387484b9b38a4a1e98a9d22a9a26065b0d184e.
|
 | clang/test/InterfaceStubs/driver-test.c |
Commit
0ce89e2a0d857fa89dc671746697c44c6ef0fad8
by puyanRevert "[clang][IFS] Attempting to fix missing 'orbis-ld' on scei-ps4-ubuntu bot." This reverts commit 29fd1e1f4a372f3870e054da24b57a4f45861808.
|
 | clang/test/InterfaceStubs/driver-test.c |
Commit
85a1662035f6445ce95f190a2fef31ed33edb175
by puyanRevert "[clang][IFS] Fixing failing bots that do not have PPC target or "orbis-ld"" This reverts commit 377d70cdea733e36107e99d9148864d24797d51c.
|
 | clang/test/InterfaceStubs/driver-test.c |
 | clang/test/InterfaceStubs/ppc.cpp |
Commit
905985435500da01266329701c4a22f353fb7959
by puyanRevert "[clang][IFS] Driver Pipeline: generate stubs after standard pipeline (2)" This reverts commit ea8e02822341e2421b94167d828d3f224e767424.
|
 | clang/test/InterfaceStubs/ppc.cpp |
 | clang/test/InterfaceStubs/windows.cpp |
 | clang/test/InterfaceStubs/driver-test2.c |
 | clang/test/InterfaceStubs/driver-test.c |
 | clang/lib/Driver/Types.cpp |
 | clang/lib/Driver/Driver.cpp |
 | clang/lib/Driver/ToolChains/InterfaceStubs.cpp |
Commit
86c66cea21f065a1f757cb072c544f89ce227284
by aminimExtends the tblgen macro to allow mlir-tblgen to be installed The mlir-tblgen tool was not getting installed. This change allows the MLIR project to be installed along with llvm-tblgen. Differential Revision: https://reviews.llvm.org/D69824
|
 | llvm/cmake/modules/TableGen.cmake |
Commit
47feae5dd61d891d4c1382b9784738111b4f9396
by ruiuUse lld::make<T> to make TpiSource objects In lld we rarely use std::unique_ptr but instead allocate new instances using lld::make<T>() so that they are deallocated at the end of linking. This patch changes existing code so that that follows the convention. Differential Revision: https://reviews.llvm.org/D70420
|
 | lld/COFF/DebugTypes.cpp |
Commit
f3225f2abe78d8a25ee5deea4265b447e7b7d5ee
by Austin.KerbowAMDGPU/GlobalISel: Legalize FDIV64 Reviewers: arsenm Reviewed By: arsenm Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, rovka, dstuttard, tpr, t-tye, hiraditya, Petar.Avramovic, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70403
|
 | llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fdiv.mir |
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h |
 | llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp |
Commit
0c50c0b0552edf9f375a32eea5e4d254dc4c7e5c
by sepavloff[FEnv] File with properties of constrained intrinsics Summary In several places we need to enumerate all constrained intrinsics or IR nodes that should be represented by them. It is easy to miss some of the cases. To make working with these intrinsics more convenient and robust, this change introduces file containing definitions of all constrained intrinsics and some of their properties. This file can be included to generate constrained intrinsics processing code. Reviewers: kpn, andrew.w.kaylor, cameron.mcinally, uweigand Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69887
|
 | llvm/include/llvm/CodeGen/TargetLowering.h |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp |
 | llvm/docs/AddingConstrainedIntrinsics.rst |
 | llvm/include/llvm/IR/IntrinsicInst.h |
 | llvm/include/llvm/CodeGen/SelectionDAGNodes.h |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
 | llvm/lib/IR/IntrinsicInst.cpp |
 | llvm/lib/CodeGen/TargetLoweringBase.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/lib/IR/Verifier.cpp |
 | llvm/include/llvm/IR/ConstrainedOps.def |
 | llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp |
Commit
7d980319ab241c68bf856c4ac0f3702f50c6c595
by i[FEnv] Fix AddingConstrainedIntrinsics.rst after llvmorg-10-init-10282-g0c50c0b0552
|
 | llvm/docs/AddingConstrainedIntrinsics.rst |
Commit
c54959c00d0b39f357d48c3b4f955d72de4c9fc1
by alexshapIntroduce llvm-install-name-tool This diff adds a new "driver" for llvm-objcopy which is supposed to emulate the behavior of install-name-tool. This is a recommit of b5913e6 with ubsan, test dependencies issues fixed. Differential revision: https://reviews.llvm.org/D69146 Test plan: make check-all
|
 | llvm/test/tools/llvm-objcopy/MachO/install-name-tool-version.test |
 | llvm/tools/llvm-objcopy/MachO/MachOWriter.cpp |
 | llvm/test/lit.cfg.py |
 | llvm/test/tools/llvm-objcopy/MachO/Inputs/x86_64.yaml |
 | llvm/tools/llvm-objcopy/MachO/MachOReader.cpp |
 | llvm/tools/llvm-objcopy/CopyConfig.cpp |
 | llvm/test/tools/llvm-objcopy/MachO/Inputs/i386.yaml |
 | llvm/test/CMakeLists.txt |
 | llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp |
 | llvm/test/tools/llvm-objcopy/MachO/install-name-tool-add-rpath.test |
 | llvm/tools/llvm-objcopy/CopyConfig.h |
 | llvm/tools/llvm-objcopy/MachO/Object.cpp |
 | llvm/tools/llvm-objcopy/InstallNameToolOpts.td |
 | llvm/test/tools/llvm-objcopy/MachO/install-name-tool-help-message.test |
 | llvm/tools/llvm-objcopy/llvm-objcopy.cpp |
 | llvm/tools/llvm-objcopy/CMakeLists.txt |
 | llvm/tools/llvm-objcopy/MachO/Object.h |
Commit
1cc78fdb6f7d81d58cdafa44b0966708dc8575bf
by grimar[llvm-readobj/llvm-readelf] - Improve dumping of versioning sections. Our elf-versioninfo.test is not perfect. It does not properly test how flags are dumped and also we have a bug: they are dumped as enums in LLVM style now, i.e not dumped properly. GNU style uses a `versionFlagToString` method to build a string from flags which seems is consistent with GNU readelf. In this patch I fixed the issues mentioned. Differential revision: https://reviews.llvm.org/D70399
|
 | llvm/test/tools/yaml2obj/ELF/verdef-section.yaml |
 | llvm/test/tools/yaml2obj/ELF/verneed-section.yaml |
 | lld/test/ELF/verdef-defaultver.s |
 | lld/test/ELF/verdef.s |
 | llvm/tools/llvm-readobj/ELFDumper.cpp |
 | lld/test/ELF/verneed.s |
 | llvm/test/tools/yaml2obj/ELF/versym-section.yaml |
 | llvm/test/tools/llvm-readobj/elf-invalid-versioning.test |
 | llvm/test/tools/llvm-readobj/elf-versioninfo.test |
 | lld/test/ELF/verdef-dependency.s |
Commit
dc3ee330891c230f85242b442de9afe7fdb96da2
by martinExecutionEngine: add preliminary support for COFF ARM64 Differential Revision: https://reviews.llvm.org/D69434
|
 | llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp |
 | llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h |
 | llvm/lib/Target/AArch64/AArch64TargetMachine.cpp |
 | llvm/test/ExecutionEngine/RuntimeDyld/AArch64/COFF_AArch64.s |
Commit
ce1f95a6e077693f93d8869245f911aff3eb7e4c
by djordje.todorovicReland "[clang] Remove the DIFlagArgumentNotModified debug info flag" It turns out that the ExprMutationAnalyzer can be very slow when AST gets huge in some cases. The idea is to move this analysis to the LLVM back-end level (more precisely, in the LiveDebugValues pass). The new approach will remove the performance regression, simplify the implementation and give us front-end independent implementation. Differential Revision: https://reviews.llvm.org/D68206
|
 | clang/lib/CodeGen/CGDebugInfo.cpp |
 | clang/lib/CodeGen/CGDebugInfo.h |
 | clang/test/CodeGen/debug-info-param-modification.c |
 | lldb/packages/Python/lldbsuite/test/functionalities/param_entry_vals/basic_entry_values_x86_64/TestBasicEntryValuesX86_64.py |
Commit
19ddba95513af4e673ce6724e3a87077c278354c
by grimar[llvm-readobj] - Improve dumping of the SHT_LLVM_LINKER_OPTIONS sections. I've added a few tests that shows how the current code could overrun the section data buffer while dumping. I had to rewrite the code to fix this. Differential revision: https://reviews.llvm.org/D70112
|
 | llvm/test/tools/llvm-readobj/elf-linker-options.test |
 | llvm/tools/llvm-readobj/ELFDumper.cpp |
Commit
f67534afd6f237d3ec00c207b26579968c3d60e5
by martin[ExecutionEngine] Add a missing break to avoid warnings This fixes buildbot errors since dc3ee330891c2.
|
 | llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h |
Commit
52c5014da099797e9f1f6c90acddf79a68aa85cb
by sameer.sahasrabuddhe[AMDGPU] add support for hostcall buffer pointer as hidden kernel argument Hostcall is a service that allows a kernel to submit requests to the host using shared buffers, and block until a response is received. This will eventually replace the shared buffer currently used for printf, and repurposes the same hidden kernel argument. This change introduces a new ValueKind in the HSA metadata to represent the hostcall buffer. Differential Revision: https://reviews.llvm.org/D70038
|
 | llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-absent-v3.ll |
 | llvm/lib/Support/AMDGPUMetadata.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp |
 | llvm/test/CodeGen/AMDGPU/opencl-printf-no-hostcall.ll |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present.ll |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present-v3.ll |
 | llvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-absent.ll |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll |
 | llvm/include/llvm/Support/AMDGPUMetadata.h |
 | llvm/docs/AMDGPUUsage.rst |
 | llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full-v3.ll |
Commit
6640f2e7d401359a112bbc84344e0137bdf8175f
by Raphael Isemann[lldb][NFC] Remove ClangASTContext::GetUniqueNamespaceDeclaration overload This overload is only used in one place and having static overloads for all methods that only do an additional clang::ASTContext -> ClangASTContext conversion is just not sustainable.
|
 | lldb/include/lldb/Symbol/ClangASTContext.h |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp |
 | lldb/source/Symbol/ClangASTContext.cpp |
Commit
02e9113665602ca3a4b987a78db7147a648766d1
by Raphael Isemann[lldb][NFC] Remove ClangASTContext::FieldIsBitfield overload
|
 | lldb/source/Symbol/ClangASTContext.cpp |
 | lldb/include/lldb/Symbol/ClangASTContext.h |
Commit
82800df4de1bfc5fc332fc60f399d50c444050fe
by Raphael Isemann[lldb][NFC] Remove ClangASTContext::GetAsDeclContext Everything we pass to this function is already a DeclContext.
|
 | lldb/include/lldb/Symbol/ClangASTContext.h |
 | lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp |
 | lldb/source/Symbol/ClangASTContext.cpp |
Commit
c502bae52410c83947e5ad7184dff810083afe75
by Raphael Isemann[lldb][NFC] Simplify ClangASTContext::GetBasicTypes static convenience methods that do the clang::ASTContext -> ClangASTContext conversion and handle errors by simply ignoring them are not a good idea.
|
 | lldb/source/Symbol/ClangASTContext.cpp |
 | lldb/unittests/Symbol/TestClangASTContext.cpp |
 | lldb/include/lldb/Symbol/ClangASTContext.h |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp |
Commit
ea8678d1c78ecf6c719b4a9ff1aa8db0087401ca
by sepavloffMove floating point related entities to namespace level This is recommit of commit e6584b2b7b2d, which was reverted in 30e7ee3c4bac together with af57dbf12e54. Original message is below. Enumerations that describe rounding mode and exception behavior were defined inside ConstrainedFPIntrinsic. It makes sense to use the same definitions to represent the same properties in other cases, not only in constrained intrinsics. It was however inconvenient as required to include constrained intrinsics definitions even if they were not needed. Also using long scope prefix reduced readability. This change moves these definitioins to the namespace llvm::fp. No functional changes. Differential Revision: https://reviews.llvm.org/D69552
|
 | llvm/lib/IR/IntrinsicInst.cpp |
 | llvm/lib/IR/CMakeLists.txt |
 | llvm/include/llvm/IR/FPEnv.h |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/lib/IR/FPEnv.cpp |
 | llvm/unittests/IR/IRBuilderTest.cpp |
 | llvm/include/llvm/IR/IRBuilder.h |
 | llvm/include/llvm/IR/IntrinsicInst.h |
Commit
e18ab2a0b801e75ee39bb8ba30584c69b4c6e577
by sam.mccall[clangd] Treat UserDefinedLiteral as a leaf in SelectionTree, sidestepping tokenization issues Summary: Fixes https://github.com/clangd/clangd/issues/203 Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70446
|
 | clang-tools-extra/clangd/unittests/SelectionTests.cpp |
 | clang-tools-extra/clangd/Selection.cpp |
Commit
54b86b010bf52ae3f1c5499e38dc8ea52e17a9f2
by Raphael Isemann[lldb][NFC] Remove unused ClangASTContext::GetUnknownAnyType
|
 | lldb/source/Symbol/ClangASTContext.cpp |
 | lldb/include/lldb/Symbol/ClangASTContext.h |
Commit
6a89ecb1ddd58575cd9a868bccaf64b2d1a9142a
by llvmgnsyncbotgn build: Merge ea8678d1c78
|
 | llvm/utils/gn/secondary/llvm/lib/IR/BUILD.gn |
Commit
979592a6f735a7111ba2c3a19e5ef3e8d336e01a
by djordje.todorovic[DebugInfo] Remove the DIFlagArgumentNotModified debug info flag Due to changes in D68206, we remove the DIFlagArgumentNotModified and its usage. Differential Revision: https://reviews.llvm.org/D68207
|
 | llvm/test/tools/llvm-dwarfdump/X86/stats-dbg-callsite-info.ll |
 | llvm/include/llvm/IR/DebugInfoFlags.def |
 | llvm/test/Assembler/debug-info.ll |
 | llvm/test/DebugInfo/MIR/X86/DW_OP_entry_value.mir |
 | llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-interpretation.mir |
 | llvm/test/DebugInfo/MIR/ARM/dbgcall-site-interpretation.mir |
 | llvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll |
 | llvm/test/DebugInfo/MIR/X86/multiple-param-dbg-value-entry.mir |
 | llvm/test/DebugInfo/MIR/ARM/dbgcall-site-propagated-value.mir |
 | llvm/test/DebugInfo/MIR/X86/dbgcall-site-interpretation.mir |
 | llvm/lib/CodeGen/LiveDebugValues.cpp |
 | llvm/test/tools/llvm-dwarfdump/X86/valid-call-site-GNU-extensions.ll |
 | llvm/docs/LangRef.rst |
 | llvm/test/DebugInfo/MIR/X86/avoid-single-entry-value-location.mir |
 | llvm/test/DebugInfo/ARM/entry-value-multi-byte-expr.ll |
 | llvm/test/tools/llvm-dwarfdump/X86/locstats.ll |
 | llvm/bindings/go/llvm/dibuilder.go |
 | llvm/test/DebugInfo/MIR/X86/dbginfo-entryvals.mir |
 | llvm/test/DebugInfo/MIR/Hexagon/live-debug-values-bundled-entry-values.mir |
 | llvm/test/DebugInfo/MIR/X86/dbg-call-site-spilled-arg.mir |
 | llvm/test/DebugInfo/MIR/X86/debug-call-site-param.mir |
 | llvm/test/DebugInfo/MIR/ARM/if-coverter-call-site-info.mir |
 | llvm/include/llvm/IR/DebugInfoMetadata.h |
Commit
089c0f581492cd6e2a3d2927be3fbf60ea2d7e62
by pavel[DWARF] Add an api to get "interpreted" location lists Summary: This patch adds DWARFDie::getLocations, which returns the location expressions for a given attribute (typically DW_AT_location). It handles both "inline" locations and references to the external location list sections (currently only of the DW_FORM_sec_offset type). It is implemented on top of DWARFUnit::findLoclistFromOffset, which is also added in this patch. I tried to make their signatures similar to the equivalent range list functionality. The actual location list interpretation logic is in DWARFLocationTable::visitAbsoluteLocationList. This part is not equivalent to the range list code, but this deviation is motivated by a desire to reuse the same location list parsing code within lldb. The functionality is tested via a c++ unit test of the DWARFDie API. Reviewers: dblaikie, JDevlieghere, SouraVX Subscribers: mgorny, hiraditya, cmtice, probinson, llvm-commits, aprantl Tags: #llvm Differential Revision: https://reviews.llvm.org/D70394
|
 | llvm/unittests/DebugInfo/DWARF/CMakeLists.txt |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h |
 | llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFLocationExpression.h |
 | llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h |
 | llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp |
 | llvm/lib/DebugInfo/DWARF/DWARFDie.cpp |
 | llvm/lib/ObjectYAML/DWARFEmitter.cpp |
Commit
23c76792081e3ae15b313b000a11bf456c16fdc8
by courbet[CodeGen][NFC] Regenerate load-combine test with update_llc_test. To prepare for D27861.
|
 | llvm/test/CodeGen/AArch64/load-combine.ll |
 | llvm/test/CodeGen/AArch64/load-combine-big-endian.ll |
 | llvm/test/CodeGen/ARM/load-combine-big-endian.ll |
 | llvm/test/CodeGen/ARM/load-combine.ll |
Commit
5e0b7df4db237b53d50799e8cbc5ce7d3872c9dd
by llvmgnsyncbotgn build: Merge 089c0f58149
|
 | llvm/utils/gn/secondary/llvm/unittests/DebugInfo/DWARF/BUILD.gn |
Commit
525f9c0be538ba93e01b3a783d62b9f562e5a6b4
by dmitry.preobrazhensky[AMDGPU][DPP] Corrected DPP combiner Added a check to make sure that the selected dpp opcode is supported by target. Reviewers: vpykhtin, arsenm, rampitec Differential Revision: https://reviews.llvm.org/D70402
|
 | llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp |
Commit
452d0b21e00d6f80e3b12f9ffc4fb5bc4986f081
by simon[mips] Make MipsAsmParser::isEvaluated static function. NFC
|
 | llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp |
Commit
8ac68f9dc58ab7420449fd49533f62788681e622
by simon[mips] Put conditions when we need to expand memory operand into a separate function. NFC `expandMemInst` expects instruction with 3 or 4 operands and the last operand requires expanding. It's redundant to scan all operands in a loop. We can check the last operands.
|
 | llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp |
Commit
b80e483c4205d216f6648d7e217183694fe9a55e
by Tim NorthoverUpdate tests after change to llvm-cxxfilt's underscore stripping behaviour.
|
 | clang/test/CodeGen/ppc-tmmintrin.c |
 | clang/test/CodeGen/ppc-emmintrin.c |
 | clang/test/CodeGen/ppc-mmintrin.c |
 | clang/test/CodeGen/ppc-pmmintrin.c |
 | clang/test/CodeGen/ppc-smmintrin.c |
 | clang/test/CodeGen/ppc-xmmintrin.c |
Commit
c34478f5f6c7ef1ae8fb3605fbdec0634d543fed
by Raphael Isemann[lldb][NFC] Move ClangExpressionDeclMap's persistent decl search into its own function Searching persistent decls is a small subset of the things FindExternalVisibleDecls does. It should be its own function instead of being encapsulated in this `do { } while(false);` pattern.
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp |
Commit
db73bcd98ef4ffbe91405a5adfcfdcd83bc007f4
by Tim NorthoverARM-NEON: separate soon-to-be conflicting f16 patterns. NFC. This separates some intrinsic definitions into multiple instantiations because they use a modifier that forces the float size to a given value. That modifier won't work in the new NeonEmitter modifier scheme and committing this separately allows the Python script to be run on the .td files to perform the conversion automatically.
|
 | clang/include/clang/Basic/arm_fp16.td |
Commit
e23d6f3184d365a9e72a67dddd870d98e80f998d
by Tim NorthoverNeonEmitter: remove special case on casting polymorphic builtins. For some reason we were not casting a fairly obscure class of builtin calls we expected to be polymorphic to vectors of char. It worked because the only affected intrinsics weren't actually polymorphic after all, but is unnecessarily complicated.
|
 | clang/utils/TableGen/NeonEmitter.cpp |
 | clang/lib/CodeGen/CGBuiltin.cpp |
Commit
3f91705ca54bc76b50c35f9e0831ab356d653c5c
by Tim NorthoverARM-NEON: make type modifiers orthogonal and allow multiple modifiers. The modifier system used to mutate types on NEON intrinsic definitions had a separate letter for all kinds of transformations that might be needed, and we were quite quickly running out of letters to use. This patch converts to a much smaller set of orthogonal modifiers that can be applied together to achieve the desired effect. When merging with downstream it is likely to cause a conflict with any local modifications to the .td files. There is a new script in utils/convert_arm_neon.py that was used to convert all .td definitions and I would suggest running it on the last downstream version of those files before this commit rather than resolving conflicts manually.
|
 | clang/include/clang/Basic/arm_fp16.td |
 | clang/test/CodeGen/aarch64-neon-scalar-x-indexed-elem.c |
 | clang/test/CodeGen/aarch64-neon-intrinsics.c |
 | clang/include/clang/Basic/arm_neon_incl.td |
 | clang/utils/TableGen/NeonEmitter.cpp |
 | clang/include/clang/Basic/arm_neon.td |
 | clang/utils/convert_arm_neon.py |
Commit
5bab291b7bd043104abf1ca7977e8248684cae95
by Alexander.RichardsonIgnore R_MIPS_JALR relocations against non-function symbols Summary: Current versions of clang would erroneously emit this relocation not only against functions (loaded from the GOT) but also against data symbols (e.g. a table of function pointers). LLD was then changing this into a branch-and-link instruction, causing the program to jump to the data symbol at run time. I discovered this problem when attempting to boot MIPS64 FreeBSD after updating the to the latest upstream master. Reviewers: atanasyan, jrtc27, espindola Reviewed By: atanasyan Subscribers: emaste, sdardis, krytarowski, MaskRay, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70406
|
 | lld/ELF/Arch/Mips.cpp |
 | lld/test/ELF/mips-jalr-non-functions.s |
Commit
6187394dd05ea20db01370b1990a79d517d98f7e
by Alexander.Richardson[UptestTestChecks][NFC] Share some common command line options code Summary: Add a function common.parse_commandline_args() that adds options common to all tools (--verbose and --update-only) and returns the parsed commandline arguments. I plan to use the shared parsing of --verbose in a follow-up commit to remove most of the `if args.verbose:` checks in the scripts. Reviewers: xbolva00, MaskRay Reviewed By: MaskRay Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70428
|
 | llvm/utils/update_cc_test_checks.py |
 | llvm/utils/update_llc_test_checks.py |
 | llvm/utils/update_analyze_test_checks.py |
 | llvm/utils/update_mir_test_checks.py |
 | llvm/utils/UpdateTestChecks/common.py |
 | llvm/utils/update_mca_test_checks.py |
 | llvm/utils/update_test_checks.py |
Commit
50807c81eaeead17277ebf98ce1cc6272370d143
by Alexander.Richardson[update_cc_test_checks.py] Add the --function-signature flag Summary: This was added to update_test_checks.py in D68819 and I believe having it in update_cc_test_checks.py is also useful. Reviewers: jdoerfert, MaskRay Reviewed By: MaskRay Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70429
|
 | llvm/utils/update_cc_test_checks.py |
Commit
82dc32e2d456c75d08bc9ffe97def409ee5a03cd
by pavelBig-endian fix to DWARFDieTest (089c0f58) Hardcode the DWARFContext to little-endian. I don't have a BE machine to test this on, but I believe this should address the ppc64be failure.
|
 | llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp |
Commit
96e94e37e3a7d62eddd79fe40f025831327a4bfd
by anna.welker[ARM][MVE] Select vqabs Adds a pattern to ARMInstrMVE.td to use a VQABS instruction if an equivalent multi-instruction construct is found. Differential revision: https://reviews.llvm.org/D70181
|
 | llvm/lib/Target/ARM/ARMInstrMVE.td |
 | llvm/test/CodeGen/Thumb2/vqabs.ll |
Commit
e7cc833ddafdca10be4ef1322ab96ffee774045b
by Raphael Isemann[lldb][NFC] Move searching for $__lldb_class into its own function in ClangExpressionDeclMap
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp |
Commit
72d2929c52a9b691a2ed10c28a0a27fec8282519
by pavelRevert "[DWARF] Add an api to get "interpreted" location lists" The test fails on big endian machines. This reverts commit 089c0f581492cd6e2a3d2927be3fbf60ea2d7e62 and the subsequent attempt to fix in 82dc32e2d456c75d08bc9ffe97def409ee5a03cd.
|
 | llvm/include/llvm/DebugInfo/DWARF/DWARFLocationExpression.h |
 | llvm/lib/ObjectYAML/DWARFEmitter.cpp |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h |
 | llvm/unittests/DebugInfo/DWARF/CMakeLists.txt |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h |
 | llvm/lib/DebugInfo/DWARF/DWARFDie.cpp |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h |
 | llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp |
 | llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp |
 | llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp |
Commit
f8c92b8ee242bbdc209204f09aefdc207aac42ee
by llvmgnsyncbotgn build: Merge 72d2929c52a
|
 | llvm/utils/gn/secondary/llvm/unittests/DebugInfo/DWARF/BUILD.gn |
Commit
257acbf6aee983227a3976d10d0086f3600f2bee
by dave[SelectionDAG] Combine U{ADD,SUB}O diamonds into {ADD,SUB}CARRY Summary: Convert (uaddo (uaddo x, y), carryIn) into addcarry x, y, carryIn if-and-only-if the carry flags of the first two uaddo are merged via OR or XOR. Work remaining: match ADD, etc. Reviewers: craig.topper, RKSimon, spatel, niravd, jonpa, uweigand, deadalnix, nikic, lebedev.ri, dmgreen, chfast Reviewed By: lebedev.ri Subscribers: chfast, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70079
|
 | llvm/test/CodeGen/X86/addcarry.ll |
 | llvm/test/CodeGen/X86/subcarry.ll |
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
Commit
a21940eac149dc03d9e028023bbd059f871af1c5
by simon[mips] Define mem_simm# operands using tblgen `foreach` loop. NFC
|
 | llvm/lib/Target/Mips/MipsInstrInfo.td |
Commit
6778a62eb0d222dc625b8785516f027df12aaf16
by dmitry.preobrazhensky[AMDGPU][GFX10] Disabled v_movrel*[sdwa|dpp] opcodes in codegen These opcodes use indirect register addressing so they need special handling by codegen (currently missing). Reviewers: vpykhtin, arsenm, rampitec Differential Revision: https://reviews.llvm.org/D70400
|
 | llvm/lib/Target/AMDGPU/SIInstrInfo.cpp |
 | llvm/lib/Target/AMDGPU/SIInstrInfo.h |
Commit
51ad025ff313804674b4fb01f56f7b83e3ecc5e3
by Raphael Isemann[lldb][NFC] Move searching for $__lldb_objc_class into its own function Same as in commit e7cc833ddafdca10be4ef1322ab96ffee774045b but with $__lldb_objc_class.
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h |
Commit
b80033ef6528ed868294ba0c1e18bfcf74597a1b
by spatel[SLP] reduce duplicate CHECK lines in tests; NFC
|
 | llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll |
Commit
a03435ec8e219e236331780626351c74a95f1b6e
by pavelRecommit "[DWARF] Add an api to get "interpreted" location lists" This recommits 089c0f581492cd6e2a3d2927be3fbf60ea2d7e62, which was reverted due to failing tests on big endian machines. It includes a fix which I believe (I don't have BE machine) should fix this issue. The fix consists of correcting the invocation DWARFYAML::EmitDebugSections, which was missing one (default) function arguments, and so didn't actually force the little-endian mode. The original commit message follows. Summary: This patch adds DWARFDie::getLocations, which returns the location expressions for a given attribute (typically DW_AT_location). It handles both "inline" locations and references to the external location list sections (currently only of the DW_FORM_sec_offset type). It is implemented on top of DWARFUnit::findLoclistFromOffset, which is also added in this patch. I tried to make their signatures similar to the equivalent range list functionality. The actual location list interpretation logic is in DWARFLocationTable::visitAbsoluteLocationList. This part is not equivalent to the range list code, but this deviation is motivated by a desire to reuse the same location list parsing code within lldb. The functionality is tested via a c++ unit test of the DWARFDie API. Reviewers: dblaikie, JDevlieghere, SouraVX Subscribers: mgorny, hiraditya, cmtice, probinson, llvm-commits, aprantl Tags: #llvm Differential Revision: https://reviews.llvm.org/D70394
|
 | llvm/include/llvm/DebugInfo/DWARF/DWARFLocationExpression.h |
 | llvm/unittests/DebugInfo/DWARF/CMakeLists.txt |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h |
 | llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp |
 | llvm/lib/ObjectYAML/DWARFEmitter.cpp |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h |
 | llvm/lib/DebugInfo/DWARF/DWARFDie.cpp |
 | llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h |
 | llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp |
 | llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp |
Commit
ca33727abe4cd7202fe550972525bb23890da053
by Xiangling.Liao[AIX] Lowering jump table, constant pool and block address in asm This patch lowering jump table, constant pool and block address in assembly. 1. On AIX, jump table index is always relative; 2. Put CPI and JTI into ReadOnlySection until we support unique data sections; 3. Create the temp symbol for block address symbol; 4. Update MIR testcases and add related assembly part; Differential Revision: https://reviews.llvm.org/D70243
|
 | llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp |
 | llvm/lib/Target/PowerPC/PPCISelLowering.cpp |
 | llvm/test/CodeGen/PowerPC/aix-lower-block-address.ll |
 | llvm/test/CodeGen/PowerPC/aix-lower-jump-table.ll |
 | llvm/lib/CodeGen/MachineModuleInfo.cpp |
 | llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp |
 | llvm/test/CodeGen/PowerPC/aix-lower-constant-pool-index.ll |
 | llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h |
Commit
c1ed22954a138570a721da5b3fec390d4884237e
by llvmgnsyncbotgn build: Merge a03435ec8e2
|
 | llvm/utils/gn/secondary/llvm/unittests/DebugInfo/DWARF/BUILD.gn |
Commit
b5135a86e04761577494c70e7c0057136cc90b5b
by ibiryukov[clangd] Fix a crash in expected types Reviewers: kadircet Reviewed By: kadircet Subscribers: merge_guards_bot, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70481
|
 | clang-tools-extra/clangd/ExpectedTypes.cpp |
 | clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp |
Commit
5665fc91fe93fa4293eb5aceff4884826d8cecb1
by xingxue[AIX][XCOFF] Add support for generating assembly code for one-byte mergable strings This patch adds support for generating assembly code for one-byte mergeable strings. Generating assembly code for multi-byte mergeable strings and the `XCOFF` object code for mergeable strings will be supported later. Reviewers: hubert.reinterpretcast, jasonliu, daltenty, sfertile, DiggerLin, Xiangling_L Reviewed by: daltenty Subscribers: wuzish, nemanjai, hiraditya, kbarton, jsji, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70310
|
 | llvm/test/CodeGen/PowerPC/aix-xcoff-mergeable-str.ll |
 | llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp |
 | llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp |
Commit
750e855641be2131b3189d0310e5cc4610c4020d
by Xiangling.LiaoA fix of the bug introduced by previous lowering in asm patch. Differential Revision: https://reviews.llvm.org/D70243
|
 | llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp |
Commit
e74b326b1f506538f1fce11b7a70bcf7fb9b573c
by jyknightRename 'DenormalMode' in CommandFlags.inc to 'DenormalFPMath', as its option is actually named anyhow. This avoids a conflict with the llvm::DenormalMode enum in FloatingPointMode.h.
|
 | llvm/include/llvm/CodeGen/CommandFlags.inc |
Commit
ac37755c60ba19103f08f04d07ca8f1d640153d6
by ulrich.weigand[SystemZ] Use fneg in test cases Now that we have fneg, prefer using it over "fsub -0.0, ...". This helps in particular with strict FP tests, as fneg does not raise any exceptions.
|
 | llvm/test/CodeGen/SystemZ/fp-cmp-04.ll |
 | llvm/test/CodeGen/SystemZ/fp-mul-08.ll |
 | llvm/test/CodeGen/SystemZ/fp-strict-mul-08.ll |
 | llvm/test/CodeGen/SystemZ/fp-neg-01.ll |
 | llvm/test/CodeGen/SystemZ/vec-strict-mul-02.ll |
 | llvm/test/CodeGen/SystemZ/fp-strict-mul-09.ll |
 | llvm/test/CodeGen/SystemZ/fp-abs-04.ll |
 | llvm/test/CodeGen/SystemZ/vec-mul-04.ll |
 | llvm/test/CodeGen/SystemZ/vec-mul-05.ll |
 | llvm/test/CodeGen/SystemZ/fp-abs-02.ll |
 | llvm/test/CodeGen/SystemZ/fp-cmp-05.ll |
 | llvm/test/CodeGen/SystemZ/vec-neg-01.ll |
 | llvm/test/CodeGen/SystemZ/vec-mul-02.ll |
 | llvm/test/CodeGen/SystemZ/vec-neg-02.ll |
 | llvm/test/CodeGen/SystemZ/vec-abs-05.ll |
 | llvm/test/CodeGen/SystemZ/vec-abs-06.ll |
 | llvm/test/CodeGen/SystemZ/fp-mul-09.ll |
 | llvm/test/CodeGen/SystemZ/fp-neg-02.ll |
 | llvm/test/CodeGen/SystemZ/fp-strict-mul-10.ll |
 | llvm/test/CodeGen/SystemZ/vec-strict-mul-04.ll |
 | llvm/test/CodeGen/SystemZ/vec-strict-mul-05.ll |
 | llvm/test/CodeGen/SystemZ/fp-mul-10.ll |
Commit
c9e8e808cf8ae563329597b61b0b6b7adcc65b87
by craig.topper[SelectionDAG][X86] Mutate strictFP nodes to non-strict in DoInstructionSelection when the node is marked Expand rather than when it is not Legal. This allows operations that are marked Custom, but have some type combinations that are legal to get past this code. Add custom mutation code to X86's Select function for the nodes that don't have isel patterns yet.
|
 | llvm/lib/Target/X86/X86ISelDAGToDAG.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp |
Commit
97743089bffba797d7bc7358ddb852b7b050b0c8
by ulrich.weigand[SystemZ] Avoid mixing strict and non-strict FP operations in tests This is to prepare for having the IR verifier reject mixed functions. Note that fp-strict-mul-02.ll and fp-strict-mul-04.ll still remain to be fixed.
|
 | llvm/test/CodeGen/SystemZ/fp-strict-sub-03.ll |
 | llvm/test/CodeGen/SystemZ/fp-strict-mul-05.ll |
 | llvm/test/CodeGen/SystemZ/fp-strict-div-03.ll |
 | llvm/test/CodeGen/SystemZ/fp-strict-mul-11.ll |
 | llvm/test/CodeGen/SystemZ/fp-strict-add-03.ll |
 | llvm/test/CodeGen/SystemZ/fp-strict-mul-04.ll |
 | llvm/test/CodeGen/SystemZ/fp-strict-mul-02.ll |
Commit
a9bb669e59f4b2270caa8a35128ca3b2de0595fe
by Jonas Devlieghere[FileCollector] Ignore empty paths. Don't insert empty strings into the StringSet<> because that triggers an assert in its implementation.
|
 | llvm/include/llvm/Support/FileCollector.h |
Commit
f751a79173958526b8e8793d4e4c84b2d33dc662
by peterscudo: Only use the Android reserved TLS slot when building libc's copy of the allocator. When we're not building libc's allocator, just use a regular TLS variable. This lets the unit tests pass on Android devices whose libc uses Scudo. Otherwise libc's copy of Scudo and the unit tests' copy will both try to use the same TLS slot, in likely incompatible ways. This requires using ELF TLS, so start passing -fno-emulated-tls when building the library and the unit tests on Android. Differential Revision: https://reviews.llvm.org/D70472
|
 | compiler-rt/lib/scudo/standalone/tests/CMakeLists.txt |
 | compiler-rt/lib/scudo/standalone/CMakeLists.txt |
 | compiler-rt/lib/scudo/standalone/tsd_shared.h |
Commit
6de45772e0910bf7fa626e5493a2798b071eb26c
by thakisRevert "[clangd] Fix a crash in expected types" This reverts commit b5135a86e04761577494c70e7c0057136cc90b5b. Test fails on Windows.
|
 | clang-tools-extra/clangd/ExpectedTypes.cpp |
 | clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp |
Commit
fd8d9155a997ab0f3ef3d7dff1c56efc9b692bfe
by richardFix parser bug that permitted 'private' as a (no-op) decl-specifier even outside OpenCL.
|
 | clang/lib/Parse/ParseDecl.cpp |
 | clang/test/Parser/cxx-decl.cpp |
Commit
4a308d302c3378258c5a9af231236de4d7ff741a
by michael.hliao[AMDGPU] Keep consistent check of legal addressing mode. Summary: - Add test cases for GFX10, which has narrower offset range compared to GFX9. Reviewers: rampitec, arsenm Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70473
|
 | llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm-gfx10.mir |
 | llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp |
 | llvm/lib/Target/AMDGPU/SIISelLowering.cpp |
 | llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll |
Commit
af331cbe14e8376c696441bb4c26a68be733b884
by Vedant Kumar[debugserver] Set arch based on TARGET_TRIPLE Use TARGET_TRIPLE instead of LLVM_DEFAULT_TARGET_TRIPLE, as the latter isn't exported by LLVMConfig.cmake, which means arch detection fails if lldb is built separately from llvm.
|
 | lldb/tools/debugserver/source/MacOSX/CMakeLists.txt |
Commit
923afb4a61708cd6d5c6786c81f55a682ec46497
by mgorny[lldb] [test] Un-XFAIL one lldb-server test on NetBSD
|
 | lldb/packages/Python/lldbsuite/test/tools/lldb-server/TestLldbGdbServer.py |
Commit
6f4398d1b9950d48ead91b2b550792f2bbe4778e
by ditaliano[lldb] Fix NSURL data formatter truncation issue Remove hardcoded string prefix length assumption causing issues when concatenating summary for NSURL in NSURLSummaryProvider. Provider relies on concatenation of NSStringProvider results for summary, and while the strings are prefixed with '@' in Objective-C, that is not the case in Swift causing part of the description to be truncated. This will be tested in the downstream fork. Patch by Martin Svensson!
|
 | lldb/source/Plugins/Language/ObjC/Cocoa.cpp |
Commit
899cdf95d9ad199e6c2f87cd544455e3991626dc
by Stanislav.Mekhanoshin[AMDGPU] Fixed mfma test check. NFC.
|
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll |
Commit
0f5aabb91a03b40635819f71187333dd9535b9de
by vvereschaka[CMake] Fix the path to CrossWinToARMLinux.cmake CMake cache. The comment was slightly misleading. Behalf: broadwaylamb (Sergej Jaskiewicz) Differential Revision: https://reviews.llvm.org/D70499
|
 | clang/cmake/caches/CrossWinToARMLinux.cmake |
Commit
8ba56f322abf848cec78ff7f814f3ad84cd778be
by listmailMove widenable branch formation into makeGuardControlFlowExplicit helper This is mostly NFC, but I removed the setting of the guard's calling convention onto the WC call. Why? Because it was untested, and was producing an ill defined output as the declaration's convention wasn't been changed leaving a mismatch which is UB.
|
 | llvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp |
 | llvm/lib/Transforms/Utils/GuardUtils.cpp |
 | llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp |
 | llvm/include/llvm/Transforms/Utils/GuardUtils.h |
Commit
7488c0a6f5a6fff699ba338fe8fae952e890eb81
by craig.topper[X86] Mark vector STRICT_FP_ROUND as Legal instead of Custom. The Custom handler doesn't do anything for these nodes anyway. SelectionDAGISel won't mutate them if they are Legal or Custom. X86 has custom code for mutating them due to missing isel patterns. When the isel patterns are added Legal will be the right answer. So go ahead a change it now since that's where we'll end up.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
824b25fc02dc4544adae55e6451d355f4c6d7055
by kparzysz[Hexagon] Fix two testcase errors This fixes issues discovered in https://reviews.llvm.org/D63973.
|
 | llvm/test/CodeGen/Hexagon/expand-condsets-phys-reg.mir |
 | llvm/test/CodeGen/Hexagon/sdr-global.mir |
Commit
c8dfe907299e16aeb17175cb0896c17043fc7c81
by Jonas Devlieghere[Reproducer] Generate LLDB reproducer on crash This patch hooks the reproducer infrastructure with the signal handlers. When lldb crashes with reproducers capture enabled, it will now generate the reproducer and print a short message the standard out. This doesn't affect the pretty stack traces, which are still printed before. This patch also introduces a new reproducer sub-command that intentionally raises a given signal to test the reproducer signal handling. Currently the signal handler is doing too much work. Instead of copying over files into the reproducers in the signal handler, we should re-invoke ourselves with a special command line flag that looks at the VFS mapping and performs the copy. This is a NO-OP when reproducers are disabled. Differential revision: https://reviews.llvm.org/D70474
|
 | lldb/include/lldb/API/SBReproducer.h |
 | lldb/test/Shell/Reproducer/TestCrash.test |
 | lldb/test/Shell/Reproducer/Inputs/GDBRemoteCrashCapture.in |
 | lldb/source/API/SBReproducer.cpp |
 | lldb/test/Shell/Reproducer/TestGDBRemoteRepro.test |
 | lldb/source/Commands/CommandObjectReproducer.cpp |
 | lldb/source/Commands/Options.td |
 | lldb/tools/driver/Driver.cpp |
Commit
73429126c91c2065c6f6ef29b3eec1b7798502bb
by puyan[clang][IFS] Driver Pipeline: generate stubs after standard pipeline (3) Third Landing Attempt (dropping any linker invocation from clang driver): Up until now, clang interface stubs has replaced the standard PP -> C -> BE -> ASM -> LNK pipeline. With this change, it will happen in conjunction with it. So what when you build your code you will get an a.out or lib.so as well as an interface stub file. Example: clang -shared -o libfoo.so -emit-interface-stubs ... will generate both a libfoo.so and a libfoo.ifso. The .so file will contain the code from the standard compilation pipeline and the .ifso file will contain the ELF stub library. Note: For driver-test.c I've added -S in order to prevent any bot failures on bots that don't have the proper linker for their native triple. You could always specify a triple like x86_64-unknown-linux-gnu and on bots like x86_64-scei-ps4 the clang driver would invoke regular ld instead of getting the error 'Executable "orbis-ld" doesn't exist!' but on bots like ppc64be and s390x you'd get an error "/usr/bin/ld: unrecognised emulation mode: elf_x86_64" Differential Revision: https://reviews.llvm.org/D70274
|
 | clang/lib/Driver/Driver.cpp |
 | clang/lib/Driver/ToolChains/InterfaceStubs.cpp |
 | clang/test/InterfaceStubs/windows.cpp |
 | clang/test/InterfaceStubs/driver-test.c |
 | clang/test/InterfaceStubs/driver-test2.c |
 | clang/lib/Driver/Types.cpp |
 | clang/test/InterfaceStubs/ppc.cpp |
Commit
0ebb7803e6ae4919c1c782cafecaec237664efe3
by Jonas Devlieghere[Docs] Fix Sphinx warning (treated as error) Fixes "undefined label" warning: if the link has no caption the label must precede a section header.
|
 | lldb/docs/index.rst |
Commit
b03374584d6878e1fe06868a1cc03c28cc547e88
by Jonas Devlieghere[Driver] Fix missing space in lldb --help output.
|
 | lldb/tools/driver/Driver.cpp |
Commit
4a801170f36a2eed13a42730c83cd7bc57729f55
by Piotr Sobczak[AMDGPU][SILoadStoreOptimizer] Merge TBUFFER loads/stores Summary: Extend SILoadStoreOptimizer to merge tbuffer loads and stores. Reviewers: nhaehnle Reviewed By: nhaehnle Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69794
|
 | llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td |
 | llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp |
 | llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h |
 | llvm/test/CodeGen/AMDGPU/merge-tbuffer.mir |
 | llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp |
Commit
4f0b0bf5c6731e3d370558be08c9261801263b09
by eugenisCherry-pick gtest fix for asan tests. Summary: https://github.com/google/googletest/commit/681454dae48f109abf68c424c9d2e6db9a092238 Clone+exec death test allocates a single page of stack to run chdir + exec on. This is not enough when gtest is built with ASan and run on particular hardware. With ASan on x86_64, ExecDeathTestChildMain has frame size of 1728 bytes. Call to chdir() in ExecDeathTestChildMain ends up in _dl_runtime_resolve_xsavec, which attempts to save register state on the stack; according to cpuid(0xd) XSAVE register save area size is 2568 on my machine. This results in something like this in all death tests: Result: died but not with expected error. ... [ DEATH ] AddressSanitizer:DEADLYSIGNAL [ DEATH ] ================================================================= [ DEATH ] ==178637==ERROR: AddressSanitizer: stack-overflow on address ... PiperOrigin-RevId: 278709790 Reviewers: pcc Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70332
|
 | llvm/utils/unittest/googletest/src/gtest-death-test.cc |
Commit
f24ed3a05198003ef2c76ead91019561a45d26b5
by Jason MolendaHandle the case where the 'g' packet doesn't get all regs. lldb would silently accept a response to the 'g' packet (read all registers) which was too large; this handles the case where it is too small. Differential Revision: https://reviews.llvm.org/D70417 <rdar://problem/34916465>
|
 | lldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/gdbclientutils.py |
 | lldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestJLink6Armv7RegisterDefinition.py |
 | lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp |
Commit
25f33d8318a39673fea798b24faf68154c03fdc1
by Jonas Devlieghere[Reproducer] Limit signals to macro define sin <csignal> SIGBUS is not part of the signal macros defined in the header <csignal>.
|
 | lldb/source/Commands/CommandObjectReproducer.cpp |
 | lldb/test/Shell/Reproducer/TestCrash.test |
Commit
9bdfee2a3bd13d405ce1592930182f23849d2897
by e.menezes[AArch64] Add the pipeline model for Exynos M5 Add the scheduling and cost models for Exynos M5.
|
 | llvm/test/tools/llvm-mca/AArch64/Exynos/extended-register.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/shifted-register.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st1.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/float-sqrt.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld3.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/double-recp.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/float-integer.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st2.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/double-rsqrt.s |
 | llvm/lib/Target/AArch64/AArch64SchedExynosM5.td |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld4.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld2.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st3.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/float-divide-multiply.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s |
 | llvm/lib/Target/AArch64/AArch64.td |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/double-sqrt.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/float-rsqrt.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/load.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st4.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/float-recp.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/divide-multiply.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/float-store.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/float-load.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld1.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/scheduler-queue-usage.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/crc.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/store.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/zero-latency-move.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/aes.s |
Commit
a329cf69696f1d1103c569b4c4d68d212b204710
by Lang Hames[Support][Error] Unfriend FileError. It is not special. FileError doesn't need direct access to Error's internals as it can access the payload via handleErrors. (ErrorList remains special: it is not possible to write a handler for it, due to the special auto-unpacking treatment that it receives from handleErrors.)
|
 | llvm/include/llvm/Support/Error.h |
Commit
24aafcadff3851ec3a0c42303fec63e815b19566
by mitchell[clang-tidy] modernize-use-equals-default avoid adding redundant semicolons Summary: `modernize-use-equals-default` replaces default constructors/destructors with `= default;`. When the optional semicolon after a member function is present, this results in two consecutive semicolons. This patch checks to see if the next non-comment token after the code to be replaced is a semicolon, and if so offers a replacement of `= default` rather than `= default;`. This patch adds trailing comments and semicolons to about 5 existing tests. Reviewers: malcolm.parsons, angelgarcia, aaron.ballman, alexfh Patch by: poelmanc Subscribers: MyDeveloperDay, JonasToth, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70144
|
 | clang-tools-extra/clang-tidy/utils/LexerUtils.h |
 | clang-tools-extra/clang-tidy/utils/LexerUtils.cpp |
 | clang-tools-extra/test/clang-tidy/checkers/modernize-use-equals-default-copy.cpp |
 | clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp |
 | clang-tools-extra/docs/ReleaseNotes.rst |
 | clang-tools-extra/test/clang-tidy/checkers/modernize-use-equals-default.cpp |
Commit
cd8748a15f2d18861b3548eb26ed2b52e5ee50b4
by echristoTemporarily Revert "[SLP] allow forming 2-way reduction patterns" After speaking with Sanjay - seeing a number of miscompiles and working on tracking down a testcase. None of the follow on patches seem to have helped so far. This reverts commit 7ff57705ba196ce649d6034614b3b9df57e1f84f.
|
 | llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h |
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
 | llvm/test/Feature/weak_constant.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll |
Commit
a0841dfe8594f189d79f3612fec019eda4824474
by yhs[BPF] Fix a bug in peephole optimization One of current peephole optimiations is to remove SLL/SRL if the sub register has been zero extended. This phase has two bugs and one limitations. First, for the physical subregister used in pseudo insn COPY like below, it permits incorrect optimization. %0:gpr32 = COPY $w0 ... %4:gpr = MOV_32_64 %0:gpr32 %5:gpr = SLL_ri %4:gpr(tied-def 0), 32 %6:gpr = SRA_ri %5:gpr(tied-def 0), 32 The $w0 could be from the return value of a previous function call and its upper 32-bit value might contain some non-zero values. The same applies to function arguments. Second, the current code may permits removing SLL/SRA like below: %0:gpr32 = COPY $w0 %1:gpr32 = COPY %0:gpr32 ... %4:gpr = MOV_32_64 %1:gpr32 %5:gpr = SLL_ri %4:gpr(tied-def 0), 32 %6:gpr = SRA_ri %5:gpr(tied-def 0), 32 The reason is that it did not follow def-use chain to skip all intermediate 32bit-to-32bit COPY instructions. The current implementation is also very conservative for PHI instructions. If any PHI insn component is another PHI or COPY insn, it will just permit SLL/SRA. This patch fixed the issue as follows: - During def/use chain traversal, if any physical register is read, SLL/SRA will be preserved as these physical registers are mostly from function return values or current function arguments. - Recursively visit all COPY and PHI instructions.
|
 | llvm/test/CodeGen/BPF/32-bit-subreg-cond-select.ll |
 | llvm/test/CodeGen/BPF/32-bit-subreg-peephole-phi-1.ll |
 | llvm/lib/Target/BPF/BPFMIPeephole.cpp |
 | llvm/test/CodeGen/BPF/32-bit-subreg-peephole.ll |
 | llvm/test/CodeGen/BPF/32-bit-subreg-peephole-phi-2.ll |
Commit
8a0aa5310bccbb42d16d11db090419fcefdd1376
by echristoTemporarily Revert "Temporarily Revert "[SLP] allow forming 2-way reduction patterns"" as there were testcase changes after that need to also be reverted. This reverts commit cd8748a15f2d18861b3548eb26ed2b52e5ee50b4.
|
 | llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h |
 | llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll |
 | llvm/test/Feature/weak_constant.ll |
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
Commit
714aabacfb0f9b372cf230f1b7113e3ebd0e661d
by echristoTemporarily Revert "[SLP] allow forming 2-way reduction patterns" and update testcases. After speaking with Sanjay - seeing a number of miscompiles and working on tracking down a testcase. None of the follow on patches seem to have helped so far. This reverts commit 8a0aa5310bccbb42d16d11db090419fcefdd1376.
|
 | llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h |
 | llvm/test/Feature/weak_constant.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/reduction.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/reduction2.ll |
 | llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp |
Commit
8259182e51ccf23c13d670f6f0401ce33f6c742f
by echristoRevert "[AArch64] Add the pipeline model for Exynos M5" as it's causing test failures in llvm-mca. This reverts commit 9bdfee2a3bd13d405ce1592930182f23849d2897.
|
 | llvm/test/tools/llvm-mca/AArch64/Exynos/divide-multiply.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/float-rsqrt.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/extended-register.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st2.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/double-rsqrt.s |
 | llvm/lib/Target/AArch64/AArch64.td |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/double-sqrt.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/zero-latency-move.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld4.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/aes.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/scheduler-queue-usage.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/double-recp.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/float-integer.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/load.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st1.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/shifted-register.s |
 | llvm/lib/Target/AArch64/AArch64SchedExynosM5.td |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st3.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/float-load.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/crc.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/float-sqrt.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/float-recp.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld2.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld3.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/float-store.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/asimd-st4.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/asimd-ld1.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/store.s |
 | llvm/test/tools/llvm-mca/AArch64/Exynos/float-divide-multiply.s |
Commit
a0da875a3ace9f4d4ade54f7a4764e327169a629
by petergn build: check-clang depends on llvm-cxxfilt.
|
 | llvm/utils/gn/secondary/clang/test/BUILD.gn |
Commit
d9957c7405bc726422dbc2736ad62f704916fbe8
by erik.pilkington[Sema] Add a 'Semantic' parameter to Expr::isKnownToHaveBooleanValue Some clients of this function want to know about any expression that is known to produce a 0/1 value, and others care about expressions that are semantically boolean. This fixes a -Wswitch-bool regression I introduced in 8bfb353bb33c, pointed out by Chris Hamilton!
|
 | clang/include/clang/AST/Expr.h |
 | clang/lib/Sema/SemaChecking.cpp |
 | clang/lib/AST/Expr.cpp |
 | clang/test/Sema/switch.c |
Commit
049043b598ef5b12a5894c0c22db8608be70f517
by rnk[ADT] Move to_vector from STLExtras.h to SmallVector.h Nothing breaks, so this probably has zero impact, but it seems nice, since to_vector is more like makeArrayRef, and should really live in SmallVector.h.
|
 | llvm/include/llvm/ADT/STLExtras.h |
 | llvm/include/llvm/ADT/SmallVector.h |
Commit
da4baa2a6c966154e19964fdced1119ed2f4d6ee
by asbirlea[MemorySSA] Update analysis when the terminator is a memory instruction. Update MemorySSA when moving the terminator instruction, as that may be a memory touching instruction. Resolves PR44029.
|
 | llvm/lib/Transforms/Utils/BasicBlockUtils.cpp |
 | llvm/test/Analysis/MemorySSA/pr44029.ll |
 | llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp |
Commit
6760ca8c76fdc11537a2252670593c462171d64f
by jkz[docs] Tiny rewording in the portability FAQ entry The entry reads better with these two words swapped.
|
 | llvm/docs/FAQ.rst |
Commit
1f4395942fc7af266bc6f520a61124b27ee90fed
by listmailPrecommit tests for forthcoming widenable.condition transforms
|
 | llvm/test/Transforms/InstCombine/widenable-conditions.ll |
Commit
5da385fb56cbe92d8bd8f53954056eca1829fe1b
by Adrian PrantlFix an offset underflow bug in DwarfExpression when describing small values with subregisters DwarfExpression::addMachineReg() knows how to build a larger register that isn't expressible in DWARF by combining multiple subregisters. However, if the entire value fits into just one subregister, it would still emit the other subregisters, leading to all sorts of inconsistencies down the line. This patch fixes that by moving an already existing(!) check whether the subregister's offset is before the end of the value to the right place. rdar://problem/57294211 Differential Revision: https://reviews.llvm.org/D70508
|
 | llvm/test/DebugInfo/MIR/ARM/larger-subregister.mir |
 | llvm/test/MC/X86/dwarf-size-field-overflow.test |
 | llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp |
Commit
5f3bf5967b8d07dd170f0f8a2e085e0c26f7c710
by craig.topper[X86] Fix f128->i16 fptosi to promote the i16 to i32 before trying to form a libcall. Previously one of the test cases added here gave an error.
|
 | llvm/test/CodeGen/X86/fp128-cast.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
Commit
27da569a7a54e9dcb3b2c09fbdfd6b70bd6fd912
by craig.topper[X86] Fix i16->f128 sitofp to promote the i16 to i32 before trying to form a libcall. Previously one of the test cases added here gave an error.
|
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/fp128-cast.ll |
Commit
5c5cf899ef2fda1d3306b1e5c384ae062b80b672
by asbirlea[MemorySSA] Moving at the end often means before terminator. Moving accesses in MemorySSA at InsertionPlace::End, when an instruction is moved into a block, almost always means insert at the end of the block, but before the block terminator. This matters when the block terminator is a MemoryAccess itself (an invoke), and the insertion must be done before the terminator for the update to be correct. Insert an additional position: InsertionPlace:BeforeTerminator and update current usages where this applies. Resolves PR44027.
|
 | llvm/lib/Transforms/Scalar/LICM.cpp |
 | llvm/test/Analysis/MemorySSA/pr44027.ll |
 | llvm/lib/Transforms/Scalar/GVNHoist.cpp |
 | llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp |
 | llvm/lib/Analysis/MemorySSAUpdater.cpp |
 | llvm/lib/Analysis/LoopInfo.cpp |
 | llvm/include/llvm/Analysis/MemorySSA.h |
Commit
76bcbaafab2db9ee1fa0813463016afb64c5fb41
by Lang Hames[Orc][Modules] Fix Modules build fallout from a34680a33eb. In a34680a33eb OrcError.h and Orc/RPC/*.h were split out from the rest of ExecutionEngine in order to eliminate false dependencies for remote JIT targets (see https://reviews.llvm.org/D68732), however this broke modules builds (see https://reviews.llvm.org/D69817). This patch splits these headers out into a separate module, LLVM_OrcSupport, in order to fix the modules build. Fixes <rdar://56377508>.
|
 | llvm/include/llvm/module.modulemap |
 | llvm/lib/ExecutionEngine/OrcError/RPCError.cpp |
 | llvm/include/llvm/ExecutionEngine/Orc/OrcError.h |
 | llvm/lib/Support/Error.cpp |
 | llvm/lib/ExecutionEngine/OrcError/OrcError.cpp |
Commit
8e896b19ddd940254c42cfbb11ba541b22177152
by Lang Hames[Error] Remove a broken code fragment accidentally included in 76bcbaafab2.
|
 | llvm/lib/Support/Error.cpp |
Commit
ee9b49eef04518123ec04372b7b4bfc337c39dc9
by aminimTablegen: Remove the error for duplicate include files. This error was originally added a while(7 years) ago when including multiple files was basically always an error. Tablegen now has preprocessor support, which allows for building nice c/c++ style include guards. With the current error being reported, we unfortunately need to double guard when including files: * In user of MyFile.td #ifndef MYFILE_TD include MyFile.td #endif * In MyFile.td #ifndef MYFILE_TD #define MYFILE_TD ... #endif Differential Revision: https://reviews.llvm.org/D70410
|
 | llvm/lib/TableGen/TGLexer.h |
 | llvm/test/TableGen/duplicate-include.inc |
 | llvm/lib/TableGen/TGParser.h |
 | llvm/test/TableGen/duplicate-include.td |
 | llvm/lib/TableGen/TGLexer.cpp |
 | llvm/lib/TableGen/Main.cpp |
Commit
a84922916e6eddf701b39fbd7fe0222cb0fee1d6
by jyknightFix unused variable warning in NDEBUG mode after 8ba56f322abf848cec78ff7f814f3ad84cd778be
|
 | llvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp |
Commit
fec3ca77bbce6917c103963b7b85b60dfb865c7b
by puyan[clang][IFS][test] GreenDragon and Fuchsia Darwin bot fix: BindArchClass Nest. On Darwin the clang driver does not invoke Driver::BuildActions directly due to the need to handle Universal apps. Because of this there is a difference in code path where Driver::BuildUniversalActions is called instead of Driver::BuildActions. BuildUniversalActions ends up calling Driver::BuildAction but what it does differently is it takes the driver actions returned and wraps them each into a BindArchAction. In Driver::BuildJobs there is a check for '-o' to determine that multiple files are not specified when passing -o, except for Clang Interface Stub this need to be an exception as we actually want to write out multiple files: for every libfoo.so we have a libfoo.ifso sidecar ifso file, etc. To allow this to happen there is a check for IfsMergeAction, which is permitted to write out a secondary file. Except on Darwin, the IfsMergeAction gets wrapped in the BindArchAction by Driver::BuildUniversalActions so the check fails. This patch is to look inside a BindArchAction in Driver::BuildJobs to determine if there is in fact an IfsMergeAction, and if-so (pun intended) allow the secondary sidecard ifs/ifso file to be written out.
|
 | clang/lib/Driver/Driver.cpp |
Commit
e47d6da8a5dd6b9552f7b94e8b35453b4f09ffe4
by jyknightD'oh. Fix assert after a84922916e6eddf701b39fbd7fe0222cb0fee1d6. (Which was attempting to fix unused variable warning in NDEBUG mode after 8ba56f322abf848cec78ff7f814f3ad84cd778be)
|
 | llvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp |
Commit
252567377c5e8613c1a238bd8598120945185b39
by courbet[DAGCombine][NFC] Use ArrayRef and correctly size SmallVectors. In preparation for D70487.
|
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
Commit
339502cc8abb375e3dc8b5d3e9ef35c2541ccbbd
by ibiryukov[clangd] Reland b5135a86e0476: Fix a crash in expected types Reverted in 6de45772e0910bf7fa626e5493a2798b071eb26c. With a fix to Windows tests. Differential Revision: https://reviews.llvm.org/D70481
|
 | clang-tools-extra/clangd/ExpectedTypes.cpp |
 | clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp |
Commit
031307579363bfafc7f671b9f37b3669e861c762
by jaskiewiczs[libcxx] Add Sergej Jaskiewicz to CREDITS.txt Summary: Also, test commit access Reviewers: EricWF Subscribers: christof, ldionne, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D70526
|
 | libcxx/CREDITS.TXT |
Commit
df876a026981b7a125b31bbb85ba4b1144edb0f9
by zakk.chen[RISCV] Support mutilib in baremetal environment 1. Currently only support the set of multilibs same to riscv-gnu-toolchain. 2. Fix testcase typo causes fail on Windows Reviewers: espindola, asb, kito-cheng, lenary Reviewed By: lenary Differential Revision: https://reviews.llvm.org/D67508
|
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32i/ilp32/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/bin/ld |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtend.o |
 | clang/test/Driver/riscv64-toolchain.c |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtbegin.o |
 | clang/test/Driver/riscv32-toolchain.c |
 | clang/lib/Driver/ToolChains/RISCVToolchain.cpp |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imac/ilp32/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32iac/ilp32/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32im/ilp32/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imafdc/lp64d/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imac/lp64/crt0.o |
 | clang/lib/Driver/ToolChains/Gnu.cpp |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imafc/ilp32f/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtbegin.o |
Commit
82921bf2baed96b700f90b090d5dc2530223d9c0
by flo[Support] Don't check XCR0 when detecting avx512 on Darwin. Darwin lazily saves the AVX512 context on first use [1]: instead of checking that it already does to figure out if the OS supports AVX512, trust that the kernel will do the right thing and always assume the context save support is available. [1] https://github.com/apple/darwin-xnu/blob/xnu-4903.221.2/osfmk/i386/fpu.c#L174 Reviewers: ab, RKSimon, craig.topper Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D70453
|
 | llvm/lib/Support/Host.cpp |
Commit
a70c3f9f45c8db3092db44110a992e9fd8ee776e
by flo[compiler-rt] Don't check XCR0 when detecting avx512 on Darwin. Darwin lazily saves the AVX512 context on first use [1]: instead of checking that it already does to figure out if the OS supports AVX512, trust that the kernel will do the right thing and always assume the context save support is available. [1] https://github.com/apple/darwin-xnu/blob/xnu-4903.221.2/osfmk/i386/fpu.c#L174 Reviewers: ab, RKSimon, craig.topper Reviewed By: craig.topper Subscribers: dberris, JDevlieghere, #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D70454
|
 | compiler-rt/lib/builtins/cpu_model.c |
Commit
2cada1e4da9d55b54a06b240cc061605729d50f4
by Raphael Isemann[lldb][NFC] Early exit in ClangExpressionDeclMap::FindExternalVisibleDecls
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp |
Commit
3889ff82bf4057ead22dad91a89384ac20ebd557
by david.stenberg[DebugInfo] Refactor DIExpression [SZ]Ext creation into function [NFC] Summary: Also, replace the SmallVector with a normal C array. Reviewers: vsk Reviewed By: vsk Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70498
|
 | llvm/lib/IR/DebugInfoMetadata.cpp |
 | llvm/include/llvm/IR/DebugInfoMetadata.h |
 | llvm/lib/Transforms/Utils/Local.cpp |
Commit
6821a3ccd69f2b3a92fe0c4f4276b72389cd4c76
by tcorring[AMDGPU] Add attribute for target loop unroll threshold default Summary: Add a function attribute to allow the target specific default loop unroll threshold to be specified on a per-function basis. This allows a front-end to give guidance where it has insight that is not available to the back-end, while still allowing the target specific heuristics to also have an effect. Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D68873
|
 | llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp |
 | llvm/test/CodeGen/AMDGPU/amdgpu-unroll-threshold.ll |
Commit
ba6f906854263375cff3257d22d241a8a259cf77
by ibiryukov[Driver] Use VFS to check if sanitizer blacklists exist Summary: This is a follow-up to 590f279c456bbde632eca8ef89a85c478f15a249, which moved some of the callers to use VFS. It turned out more code in Driver calls into real filesystem APIs and also needs an update. Reviewers: gribozavr2, kadircet Reviewed By: kadircet Subscribers: ormris, mgorny, hiraditya, llvm-commits, jkorous, cfe-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D70440
|
 | clang/lib/Driver/SanitizerArgs.cpp |
 | clang/unittests/Driver/CMakeLists.txt |
 | clang/lib/Basic/XRayLists.cpp |
 | clang/unittests/Driver/SanitizerArgsTest.cpp |
 | clang/lib/Basic/SanitizerSpecialCaseList.cpp |
 | llvm/include/llvm/Support/SpecialCaseList.h |
 | llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp |
 | clang/lib/Driver/XRayArgs.cpp |
 | llvm/lib/Support/SpecialCaseList.cpp |
Commit
337151f41e78f42df1eedbb86479888a2c5d0a04
by Raphael Isemann[lldb][NFC] Move searching for the local variable namespace into own function
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h |
Commit
2229391eb1632893571a435dd00f4ee71b5dbaf7
by martin[COFF] Widen PE32Header fields to fit 64 bit versions The PE32Header struct is only used by COFFYAML, for intermediate storage. The struct doesn't match the on-disk struct layout as it uses native integers instead of e.g. support::ulittle32_t, so just widen the fields to fit values for object::pe32plus_header, in addition to object::pe32_header. This avoids truncating the 64 bit ImageBase for 64 bit executables. Differential Revision: https://reviews.llvm.org/D70464
|
 | llvm/include/llvm/BinaryFormat/COFF.h |
 | llvm/test/tools/yaml2obj/COFF/basic-arm64.yaml |
Commit
9f3fdb0d7fab73083e354768eb5808597474e1b8
by ibiryukovRevert "[Driver] Use VFS to check if sanitizer blacklists exist" This reverts commit ba6f906854263375cff3257d22d241a8a259cf77. Commit caused compilation errors on llvm tests. Will fix and re-land.
|
 | clang/unittests/Driver/CMakeLists.txt |
 | clang/unittests/Driver/SanitizerArgsTest.cpp |
 | llvm/lib/Support/SpecialCaseList.cpp |
 | clang/lib/Driver/SanitizerArgs.cpp |
 | clang/lib/Basic/XRayLists.cpp |
 | llvm/include/llvm/Support/SpecialCaseList.h |
 | llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp |
 | clang/lib/Basic/SanitizerSpecialCaseList.cpp |
 | clang/lib/Driver/XRayArgs.cpp |
Commit
5cf58768cb3ba31ee37facaf23f7a74f78781590
by Tim NorthoverAtomics: support min/max orthogonally We seem to have been gradually growing support for atomic min/max operations (exposing longstanding IR atomicrmw instructions). But until now there have been gaps in the expected intrinsics. This adds support for the C11-style intrinsics (i.e. taking _Atomic, rather than individually blessed by C11 standard), and the variants that return the new value instead of the original one. That way, people won't be misled by trying one form and it not working, and the front-end is more friendly to people using _Atomic types, as we recommend.
|
 | clang/docs/LanguageExtensions.rst |
 | clang/test/SemaOpenCL/atomic-ops.cl |
 | clang/lib/Sema/SemaChecking.cpp |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
 | clang/lib/AST/Expr.cpp |
 | clang/lib/CodeGen/CGAtomic.cpp |
 | clang/test/Sema/atomic-ops.c |
 | clang/include/clang/Basic/Builtins.def |
 | clang/test/CodeGen/atomic-ops.c |
Commit
35388dcbbc4ce6ce7125f718b3050be33c339464
by sven.vanhaastregt[OpenCL] Fix address space for base method call (PR43145) Clang was creating an UncheckedDerivedToBase ImplicitCastExpr that was also casting between address spaces. Insert an ImplicitCastExpr node for doing the address space conversion. Differential Revision: https://reviews.llvm.org/D69810
|
 | clang/test/CodeGenOpenCLCXX/addrspace-derived-base.cl |
 | clang/lib/Sema/SemaExpr.cpp |
Commit
446acafb82b5c116b6c94c11d4ac4db7641fa58d
by benny.kraRevert "[DependenceAnalysis] Dependecies for loads marked with "ivnariant.load" should not be shared with general accesses. Fix for https://bugs.llvm.org/show_bug.cgi?id=42151" Summary: Revert "[DependenceAnalysis] Dependecies for loads marked with "ivnariant.load" should not be shared with general accesses. Fix for https://bugs.llvm.org/show_bug.cgi?id=42151" This reverts commit 5f026b6d9e882941fde9b7e5dc0a2d807f7f24f5. We're (tensorflow.org/xla team) seeing some misscompiles with the new change, only at -O3, with fast math disabled. I'm still trying to come up with a useful/small/external example, but for now, the following IR: ``` ; ModuleID = '__compute_module' source_filename = "__compute_module" target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-grtev4-linux-gnu" @0 = private unnamed_addr constant [4 x i8] c"\DB\0F\C9@" @1 = private unnamed_addr constant [4 x i8] c"\00\00\00?" ; Function Attrs: uwtable define void @jit_wrapped_fun.31(i8* %retval, i8* noalias %run_options, i8** noalias %params, i8** noalias %buffer_table, i64* noalias %prof_counters) #0 { entry: %fusion.invar_address.dim.2 = alloca i64 %fusion.invar_address.dim.1 = alloca i64 %fusion.invar_address.dim.0 = alloca i64 %fusion.1.invar_address.dim.2 = alloca i64 %fusion.1.invar_address.dim.1 = alloca i64 %fusion.1.invar_address.dim.0 = alloca i64 %0 = getelementptr inbounds i8*, i8** %buffer_table, i64 1 %1 = load i8*, i8** %0, !invariant.load !0, !dereferenceable !1, !align !2 %parameter.3 = bitcast i8* %1 to [2 x [1 x [4 x float]]]* %2 = getelementptr inbounds i8*, i8** %buffer_table, i64 5 %3 = load i8*, i8** %2, !invariant.load !0, !dereferenceable !1, !align !2 %fusion.1 = bitcast i8* %3 to [2 x [1 x [4 x float]]]* store i64 0, i64* %fusion.1.invar_address.dim.0 br label %fusion.1.loop_header.dim.0 fusion.1.loop_header.dim.0: ; preds = %fusion.1.loop_exit.dim.1, %entry %fusion.1.indvar.dim.0 = load i64, i64* %fusion.1.invar_address.dim.0 %4 = icmp uge i64 %fusion.1.indvar.dim.0, 2 br i1 %4, label %fusion.1.loop_exit.dim.0, label %fusion.1.loop_body.dim.0 fusion.1.loop_body.dim.0: ; preds = %fusion.1.loop_header.dim.0 store i64 0, i64* %fusion.1.invar_address.dim.1 br label %fusion.1.loop_header.dim.1 fusion.1.loop_header.dim.1: ; preds = %fusion.1.loop_exit.dim.2, %fusion.1.loop_body.dim.0 %fusion.1.indvar.dim.1 = load i64, i64* %fusion.1.invar_address.dim.1 %5 = icmp uge i64 %fusion.1.indvar.dim.1, 1 br i1 %5, label %fusion.1.loop_exit.dim.1, label %fusion.1.loop_body.dim.1 fusion.1.loop_body.dim.1: ; preds = %fusion.1.loop_header.dim.1 store i64 0, i64* %fusion.1.invar_address.dim.2 br label %fusion.1.loop_header.dim.2 fusion.1.loop_header.dim.2: ; preds = %fusion.1.loop_body.dim.2, %fusion.1.loop_body.dim.1 %fusion.1.indvar.dim.2 = load i64, i64* %fusion.1.invar_address.dim.2 %6 = icmp uge i64 %fusion.1.indvar.dim.2, 4 br i1 %6, label %fusion.1.loop_exit.dim.2, label %fusion.1.loop_body.dim.2 fusion.1.loop_body.dim.2: ; preds = %fusion.1.loop_header.dim.2 %7 = load float, float* bitcast ([4 x i8]* @0 to float*) %8 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %parameter.3, i64 0, i64 %fusion.1.indvar.dim.0, i64 0, i64 %fusion.1.indvar.dim.2 %9 = load float, float* %8, !invariant.load !0, !noalias !3 %10 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %parameter.3, i64 0, i64 %fusion.1.indvar.dim.0, i64 0, i64 %fusion.1.indvar.dim.2 %11 = load float, float* %10, !invariant.load !0, !noalias !3 %12 = fmul float %9, %11 %13 = fmul float %7, %12 %14 = call float @llvm.log.f32(float %13) %15 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %fusion.1, i64 0, i64 %fusion.1.indvar.dim.0, i64 0, i64 %fusion.1.indvar.dim.2 store float %14, float* %15, !alias.scope !7, !noalias !8 %invar.inc2 = add nuw nsw i64 %fusion.1.indvar.dim.2, 1 store i64 %invar.inc2, i64* %fusion.1.invar_address.dim.2 br label %fusion.1.loop_header.dim.2 fusion.1.loop_exit.dim.2: ; preds = %fusion.1.loop_header.dim.2 %invar.inc1 = add nuw nsw i64 %fusion.1.indvar.dim.1, 1 store i64 %invar.inc1, i64* %fusion.1.invar_address.dim.1 br label %fusion.1.loop_header.dim.1 fusion.1.loop_exit.dim.1: ; preds = %fusion.1.loop_header.dim.1 %invar.inc = add nuw nsw i64 %fusion.1.indvar.dim.0, 1 store i64 %invar.inc, i64* %fusion.1.invar_address.dim.0 br label %fusion.1.loop_header.dim.0 fusion.1.loop_exit.dim.0: ; preds = %fusion.1.loop_header.dim.0 %16 = getelementptr inbounds i8*, i8** %buffer_table, i64 4 %17 = load i8*, i8** %16, !invariant.load !0, !dereferenceable !9, !align !2 %parameter.1 = bitcast i8* %17 to float* %18 = getelementptr inbounds i8*, i8** %buffer_table, i64 2 %19 = load i8*, i8** %18, !invariant.load !0, !dereferenceable !10, !align !2 %parameter.2 = bitcast i8* %19 to [3 x [1 x float]]* %20 = getelementptr inbounds i8*, i8** %buffer_table, i64 0 %21 = load i8*, i8** %20, !invariant.load !0, !dereferenceable !11, !align !2 %fusion = bitcast i8* %21 to [2 x [3 x [4 x float]]]* store i64 0, i64* %fusion.invar_address.dim.0 br label %fusion.loop_header.dim.0 fusion.loop_header.dim.0: ; preds = %fusion.loop_exit.dim.1, %fusion.1.loop_exit.dim.0 %fusion.indvar.dim.0 = load i64, i64* %fusion.invar_address.dim.0 %22 = icmp uge i64 %fusion.indvar.dim.0, 2 br i1 %22, label %fusion.loop_exit.dim.0, label %fusion.loop_body.dim.0 fusion.loop_body.dim.0: ; preds = %fusion.loop_header.dim.0 store i64 0, i64* %fusion.invar_address.dim.1 br label %fusion.loop_header.dim.1 fusion.loop_header.dim.1: ; preds = %fusion.loop_exit.dim.2, %fusion.loop_body.dim.0 %fusion.indvar.dim.1 = load i64, i64* %fusion.invar_address.dim.1 %23 = icmp uge i64 %fusion.indvar.dim.1, 3 br i1 %23, label %fusion.loop_exit.dim.1, label %fusion.loop_body.dim.1 fusion.loop_body.dim.1: ; preds = %fusion.loop_header.dim.1 store i64 0, i64* %fusion.invar_address.dim.2 br label %fusion.loop_header.dim.2 fusion.loop_header.dim.2: ; preds = %fusion.loop_body.dim.2, %fusion.loop_body.dim.1 %fusion.indvar.dim.2 = load i64, i64* %fusion.invar_address.dim.2 %24 = icmp uge i64 %fusion.indvar.dim.2, 4 br i1 %24, label %fusion.loop_exit.dim.2, label %fusion.loop_body.dim.2 fusion.loop_body.dim.2: ; preds = %fusion.loop_header.dim.2 %25 = mul nuw nsw i64 %fusion.indvar.dim.2, 1 %26 = add nuw nsw i64 0, %25 %27 = udiv i64 %26, 4 %28 = mul nuw nsw i64 %fusion.indvar.dim.0, 1 %29 = add nuw nsw i64 0, %28 %30 = udiv i64 %29, 2 %31 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %fusion.1, i64 0, i64 %29, i64 0, i64 %26 %32 = load float, float* %31, !alias.scope !7, !noalias !8 %33 = mul nuw nsw i64 %fusion.indvar.dim.1, 1 %34 = add nuw nsw i64 0, %33 %35 = udiv i64 %34, 3 %36 = load float, float* %parameter.1, !invariant.load !0, !noalias !3 %37 = getelementptr inbounds [3 x [1 x float]], [3 x [1 x float]]* %parameter.2, i64 0, i64 %34, i64 0 %38 = load float, float* %37, !invariant.load !0, !noalias !3 %39 = fsub float %36, %38 %40 = fmul float %39, %39 %41 = mul nuw nsw i64 %fusion.indvar.dim.2, 1 %42 = add nuw nsw i64 0, %41 %43 = udiv i64 %42, 4 %44 = mul nuw nsw i64 %fusion.indvar.dim.0, 1 %45 = add nuw nsw i64 0, %44 %46 = udiv i64 %45, 2 %47 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %parameter.3, i64 0, i64 %45, i64 0, i64 %42 %48 = load float, float* %47, !invariant.load !0, !noalias !3 %49 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %parameter.3, i64 0, i64 %45, i64 0, i64 %42 %50 = load float, float* %49, !invariant.load !0, !noalias !3 %51 = fmul float %48, %50 %52 = fdiv float %40, %51 %53 = fadd float %32, %52 %54 = fneg float %53 %55 = load float, float* bitcast ([4 x i8]* @1 to float*) %56 = fmul float %54, %55 %57 = getelementptr inbounds [2 x [3 x [4 x float]]], [2 x [3 x [4 x float]]]* %fusion, i64 0, i64 %fusion.indvar.dim.0, i64 %fusion.indvar.dim.1, i64 %fusion.indvar.dim.2 store float %56, float* %57, !alias.scope !8, !noalias !12 %invar.inc5 = add nuw nsw i64 %fusion.indvar.dim.2, 1 store i64 %invar.inc5, i64* %fusion.invar_address.dim.2 br label %fusion.loop_header.dim.2 fusion.loop_exit.dim.2: ; preds = %fusion.loop_header.dim.2 %invar.inc4 = add nuw nsw i64 %fusion.indvar.dim.1, 1 store i64 %invar.inc4, i64* %fusion.invar_address.dim.1 br label %fusion.loop_header.dim.1 fusion.loop_exit.dim.1: ; preds = %fusion.loop_header.dim.1 %invar.inc3 = add nuw nsw i64 %fusion.indvar.dim.0, 1 store i64 %invar.inc3, i64* %fusion.invar_address.dim.0 br label %fusion.loop_header.dim.0 fusion.loop_exit.dim.0: ; preds = %fusion.loop_header.dim.0 %58 = getelementptr inbounds i8*, i8** %buffer_table, i64 3 %59 = load i8*, i8** %58, !invariant.load !0, !dereferenceable !2, !align !2 %tuple.30 = bitcast i8* %59 to [1 x i8*]* %60 = bitcast [2 x [3 x [4 x float]]]* %fusion to i8* %61 = getelementptr inbounds [1 x i8*], [1 x i8*]* %tuple.30, i64 0, i64 0 store i8* %60, i8** %61, !alias.scope !14, !noalias !8 ret void } ; Function Attrs: nounwind readnone speculatable willreturn declare float @llvm.log.f32(float) #1 attributes #0 = { uwtable "no-frame-pointer-elim"="false" } attributes #1 = { nounwind readnone speculatable willreturn } !0 = !{} !1 = !{i64 32} !2 = !{i64 8} !3 = !{!4, !6} !4 = !{!"buffer: {index:0, offset:0, size:96}", !5} !5 = !{!"XLA global AA domain"} !6 = !{!"buffer: {index:5, offset:0, size:32}", !5} !7 = !{!6} !8 = !{!4} !9 = !{i64 4} !10 = !{i64 12} !11 = !{i64 96} !12 = !{!13, !6} !13 = !{!"buffer: {index:3, offset:0, size:8}", !5} !14 = !{!13} ``` gets (correctly) optimized to the one below without the change: ``` ; ModuleID = '__compute_module' source_filename = "__compute_module" target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-grtev4-linux-gnu" ; Function Attrs: nofree nounwind uwtable define void @jit_wrapped_fun.31(i8* nocapture readnone %retval, i8* noalias nocapture readnone %run_options, i8** noalias nocapture readnone %params, i8** noalias nocapture readonly %buffer_table, i64* noalias nocapture readnone %prof_counters) local_unnamed_addr #0 { entry: %0 = getelementptr inbounds i8*, i8** %buffer_table, i64 1 %1 = bitcast i8** %0 to [2 x [1 x [4 x float]]]** %2 = load [2 x [1 x [4 x float]]]*, [2 x [1 x [4 x float]]]** %1, align 8, !invariant.load !0, !dereferenceable !1, !align !2 %3 = getelementptr inbounds i8*, i8** %buffer_table, i64 5 %4 = bitcast i8** %3 to [2 x [1 x [4 x float]]]** %5 = load [2 x [1 x [4 x float]]]*, [2 x [1 x [4 x float]]]** %4, align 8, !invariant.load !0, !dereferenceable !1, !align !2 %6 = bitcast [2 x [1 x [4 x float]]]* %2 to <4 x float>* %7 = load <4 x float>, <4 x float>* %6, align 8, !invariant.load !0, !noalias !3 %8 = fmul <4 x float> %7, %7 %9 = fmul <4 x float> %8, <float 0x401921FB60000000, float 0x401921FB60000000, float 0x401921FB60000000, float 0x401921FB60000000> %10 = call <4 x float> @llvm.log.v4f32(<4 x float> %9) %11 = bitcast [2 x [1 x [4 x float]]]* %5 to <4 x float>* store <4 x float> %10, <4 x float>* %11, align 8, !alias.scope !7, !noalias !8 %12 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %2, i64 0, i64 1, i64 0, i64 0 %13 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %5, i64 0, i64 1, i64 0, i64 0 %14 = bitcast float* %12 to <4 x float>* %15 = load <4 x float>, <4 x float>* %14, align 8, !invariant.load !0, !noalias !3 %16 = fmul <4 x float> %15, %15 %17 = fmul <4 x float> %16, <float 0x401921FB60000000, float 0x401921FB60000000, float 0x401921FB60000000, float 0x401921FB60000000> %18 = call <4 x float> @llvm.log.v4f32(<4 x float> %17) %19 = bitcast float* %13 to <4 x float>* store <4 x float> %18, <4 x float>* %19, align 8, !alias.scope !7, !noalias !8 %20 = getelementptr inbounds i8*, i8** %buffer_table, i64 4 %21 = bitcast i8** %20 to float** %22 = load float*, float** %21, align 8, !invariant.load !0, !dereferenceable !9, !align !2 %23 = getelementptr inbounds i8*, i8** %buffer_table, i64 2 %24 = bitcast i8** %23 to [3 x [1 x float]]** %25 = load [3 x [1 x float]]*, [3 x [1 x float]]** %24, align 8, !invariant.load !0, !dereferenceable !10, !align !2 %26 = load i8*, i8** %buffer_table, align 8, !invariant.load !0, !dereferenceable !11, !align !2 %27 = load float, float* %22, align 8, !invariant.load !0, !noalias !3 %.phi.trans.insert28 = getelementptr inbounds [3 x [1 x float]], [3 x [1 x float]]* %25, i64 0, i64 2, i64 0 %.pre29 = load float, float* %.phi.trans.insert28, align 8, !invariant.load !0, !noalias !3 %28 = bitcast [3 x [1 x float]]* %25 to <2 x float>* %29 = load <2 x float>, <2 x float>* %28, align 8, !invariant.load !0, !noalias !3 %30 = insertelement <2 x float> undef, float %27, i32 0 %31 = shufflevector <2 x float> %30, <2 x float> undef, <2 x i32> zeroinitializer %32 = fsub <2 x float> %31, %29 %33 = fmul <2 x float> %32, %32 %shuffle30 = shufflevector <2 x float> %33, <2 x float> undef, <8 x i32> <i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1, i32 1> %34 = fsub float %27, %.pre29 %35 = fmul float %34, %34 %36 = insertelement <4 x float> undef, float %35, i32 0 %37 = shufflevector <4 x float> %36, <4 x float> undef, <4 x i32> zeroinitializer %shuffle = shufflevector <4 x float> %10, <4 x float> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3> %38 = fmul <4 x float> %7, %7 %shuffle31 = shufflevector <4 x float> %38, <4 x float> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3> %39 = fdiv <8 x float> %shuffle30, %shuffle31 %40 = fadd <8 x float> %shuffle, %39 %41 = fmul <8 x float> %40, <float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01> %42 = bitcast i8* %26 to <8 x float>* store <8 x float> %41, <8 x float>* %42, align 8, !alias.scope !8, !noalias !12 %43 = getelementptr inbounds i8, i8* %26, i64 32 %44 = fdiv <4 x float> %37, %38 %45 = fadd <4 x float> %10, %44 %46 = fmul <4 x float> %45, <float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01> %47 = bitcast i8* %43 to <4 x float>* store <4 x float> %46, <4 x float>* %47, align 8, !alias.scope !8, !noalias !12 %.phi.trans.insert = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %5, i64 0, i64 1, i64 0, i64 0 %.phi.trans.insert12 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %2, i64 0, i64 1, i64 0, i64 0 %48 = bitcast float* %.phi.trans.insert to <4 x float>* %49 = load <4 x float>, <4 x float>* %48, align 8, !alias.scope !7, !noalias !8 %50 = bitcast float* %.phi.trans.insert12 to <4 x float>* %51 = load <4 x float>, <4 x float>* %50, align 8, !invariant.load !0, !noalias !3 %shuffle.1 = shufflevector <4 x float> %49, <4 x float> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3> %52 = getelementptr inbounds i8, i8* %26, i64 48 %53 = fmul <4 x float> %51, %51 %shuffle31.1 = shufflevector <4 x float> %53, <4 x float> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3> %54 = fdiv <8 x float> %shuffle30, %shuffle31.1 %55 = fadd <8 x float> %shuffle.1, %54 %56 = fmul <8 x float> %55, <float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01> %57 = bitcast i8* %52 to <8 x float>* store <8 x float> %56, <8 x float>* %57, align 8, !alias.scope !8, !noalias !12 %58 = getelementptr inbounds i8, i8* %26, i64 80 %59 = fdiv <4 x float> %37, %53 %60 = fadd <4 x float> %49, %59 %61 = fmul <4 x float> %60, <float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01> %62 = bitcast i8* %58 to <4 x float>* store <4 x float> %61, <4 x float>* %62, align 8, !alias.scope !8, !noalias !12 %63 = getelementptr inbounds i8*, i8** %buffer_table, i64 3 %64 = bitcast i8** %63 to [1 x i8*]** %65 = load [1 x i8*]*, [1 x i8*]** %64, align 8, !invariant.load !0, !dereferenceable !2, !align !2 %66 = getelementptr inbounds [1 x i8*], [1 x i8*]* %65, i64 0, i64 0 store i8* %26, i8** %66, align 8, !alias.scope !14, !noalias !8 ret void } ; Function Attrs: nounwind readnone speculatable willreturn declare <4 x float> @llvm.log.v4f32(<4 x float>) #1 attributes #0 = { nofree nounwind uwtable "no-frame-pointer-elim"="false" } attributes #1 = { nounwind readnone speculatable willreturn } !0 = !{} !1 = !{i64 32} !2 = !{i64 8} !3 = !{!4, !6} !4 = !{!"buffer: {index:0, offset:0, size:96}", !5} !5 = !{!"XLA global AA domain"} !6 = !{!"buffer: {index:5, offset:0, size:32}", !5} !7 = !{!6} !8 = !{!4} !9 = !{i64 4} !10 = !{i64 12} !11 = !{i64 96} !12 = !{!13, !6} !13 = !{!"buffer: {index:3, offset:0, size:8}", !5} !14 = !{!13} ``` and (incorrectly) optimized to the one below with the change: ``` ; ModuleID = '__compute_module' source_filename = "__compute_module" target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-grtev4-linux-gnu" ; Function Attrs: nofree nounwind uwtable define void @jit_wrapped_fun.31(i8* nocapture readnone %retval, i8* noalias nocapture readnone %run_options, i8** noalias nocapture readnone %params, i8** noalias nocapture readonly %buffer_table, i64* noalias nocapture readnone %prof_counters) local_unnamed_addr #0 { entry: %0 = getelementptr inbounds i8*, i8** %buffer_table, i64 1 %1 = bitcast i8** %0 to [2 x [1 x [4 x float]]]** %2 = load [2 x [1 x [4 x float]]]*, [2 x [1 x [4 x float]]]** %1, align 8, !invariant.load !0, !dereferenceable !1, !align !2 %3 = getelementptr inbounds i8*, i8** %buffer_table, i64 5 %4 = bitcast i8** %3 to [2 x [1 x [4 x float]]]** %5 = load [2 x [1 x [4 x float]]]*, [2 x [1 x [4 x float]]]** %4, align 8, !invariant.load !0, !dereferenceable !1, !align !2 %6 = bitcast [2 x [1 x [4 x float]]]* %2 to <4 x float>* %7 = load <4 x float>, <4 x float>* %6, align 8, !invariant.load !0, !noalias !3 %8 = fmul <4 x float> %7, %7 %9 = fmul <4 x float> %8, <float 0x401921FB60000000, float 0x401921FB60000000, float 0x401921FB60000000, float 0x401921FB60000000> %10 = call <4 x float> @llvm.log.v4f32(<4 x float> %9) %11 = bitcast [2 x [1 x [4 x float]]]* %5 to <4 x float>* store <4 x float> %10, <4 x float>* %11, align 8, !alias.scope !7, !noalias !8 %12 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %2, i64 0, i64 1, i64 0, i64 0 %13 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %5, i64 0, i64 1, i64 0, i64 0 %14 = bitcast float* %12 to <4 x float>* %15 = load <4 x float>, <4 x float>* %14, align 8, !invariant.load !0, !noalias !3 %16 = fmul <4 x float> %15, %15 %17 = fmul <4 x float> %16, <float 0x401921FB60000000, float 0x401921FB60000000, float 0x401921FB60000000, float 0x401921FB60000000> %18 = call <4 x float> @llvm.log.v4f32(<4 x float> %17) %19 = bitcast float* %13 to <4 x float>* store <4 x float> %18, <4 x float>* %19, align 8, !alias.scope !7, !noalias !8 %20 = getelementptr inbounds i8*, i8** %buffer_table, i64 4 %21 = bitcast i8** %20 to float** %22 = load float*, float** %21, align 8, !invariant.load !0, !dereferenceable !9, !align !2 %23 = getelementptr inbounds i8*, i8** %buffer_table, i64 2 %24 = bitcast i8** %23 to [3 x [1 x float]]** %25 = load [3 x [1 x float]]*, [3 x [1 x float]]** %24, align 8, !invariant.load !0, !dereferenceable !10, !align !2 %26 = load i8*, i8** %buffer_table, align 8, !invariant.load !0, !dereferenceable !11, !align !2 %27 = load float, float* %22, align 8, !invariant.load !0, !noalias !3 %.phi.trans.insert28 = getelementptr inbounds [3 x [1 x float]], [3 x [1 x float]]* %25, i64 0, i64 2, i64 0 %.pre29 = load float, float* %.phi.trans.insert28, align 8, !invariant.load !0, !noalias !3 %28 = bitcast [3 x [1 x float]]* %25 to <2 x float>* %29 = load <2 x float>, <2 x float>* %28, align 8, !invariant.load !0, !noalias !3 %30 = insertelement <2 x float> undef, float %27, i32 0 %31 = shufflevector <2 x float> %30, <2 x float> undef, <2 x i32> zeroinitializer %32 = fsub <2 x float> %31, %29 %33 = fmul <2 x float> %32, %32 %shuffle32 = shufflevector <2 x float> %33, <2 x float> undef, <8 x i32> <i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1, i32 1> %34 = fsub float %27, %.pre29 %35 = fmul float %34, %34 %36 = insertelement <4 x float> undef, float %35, i32 0 %37 = shufflevector <4 x float> %36, <4 x float> undef, <4 x i32> zeroinitializer %shuffle = shufflevector <4 x float> %10, <4 x float> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3> %38 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %5, i64 0, i64 0, i64 0, i64 3 %39 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %2, i64 0, i64 0, i64 0, i64 3 %40 = fmul <4 x float> %7, %7 %41 = shufflevector <4 x float> %40, <4 x float> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef> %42 = fdiv <8 x float> %shuffle32, %41 %43 = fadd <8 x float> %shuffle, %42 %44 = fmul <8 x float> %43, <float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01> %45 = bitcast i8* %26 to <8 x float>* store <8 x float> %44, <8 x float>* %45, align 8, !alias.scope !8, !noalias !12 %46 = extractelement <4 x float> %10, i32 0 %47 = getelementptr inbounds i8, i8* %26, i64 32 %48 = extractelement <4 x float> %10, i32 1 %49 = extractelement <4 x float> %10, i32 2 %50 = load float, float* %38, align 4, !alias.scope !7, !noalias !8 %51 = load float, float* %39, align 4, !invariant.load !0, !noalias !3 %52 = fmul float %51, %51 %53 = insertelement <4 x float> undef, float %52, i32 3 %54 = fdiv <4 x float> %37, %53 %55 = insertelement <4 x float> undef, float %46, i32 0 %56 = insertelement <4 x float> %55, float %48, i32 1 %57 = insertelement <4 x float> %56, float %49, i32 2 %58 = insertelement <4 x float> %57, float %50, i32 3 %59 = fadd <4 x float> %58, %54 %60 = fmul <4 x float> %59, <float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01> %61 = bitcast i8* %47 to <4 x float>* store <4 x float> %60, <4 x float>* %61, align 8, !alias.scope !8, !noalias !12 %.phi.trans.insert = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %5, i64 0, i64 1, i64 0, i64 0 %.phi.trans.insert12 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %2, i64 0, i64 1, i64 0, i64 0 %62 = bitcast float* %.phi.trans.insert to <4 x float>* %63 = load <4 x float>, <4 x float>* %62, align 8, !alias.scope !7, !noalias !8 %64 = bitcast float* %.phi.trans.insert12 to <4 x float>* %65 = load <4 x float>, <4 x float>* %64, align 8, !invariant.load !0, !noalias !3 %shuffle.1 = shufflevector <4 x float> %63, <4 x float> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3> %66 = getelementptr inbounds i8, i8* %26, i64 48 %67 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %5, i64 0, i64 1, i64 0, i64 3 %68 = getelementptr inbounds [2 x [1 x [4 x float]]], [2 x [1 x [4 x float]]]* %2, i64 0, i64 1, i64 0, i64 3 %69 = fmul <4 x float> %65, %65 %70 = shufflevector <4 x float> %69, <4 x float> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3> %71 = fdiv <8 x float> %shuffle32, %70 %72 = fadd <8 x float> %shuffle.1, %71 %73 = fmul <8 x float> %72, <float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01> %74 = bitcast i8* %66 to <8 x float>* store <8 x float> %73, <8 x float>* %74, align 8, !alias.scope !8, !noalias !12 %75 = extractelement <4 x float> %69, i32 0 %76 = extractelement <4 x float> %63, i32 0 %77 = getelementptr inbounds i8, i8* %26, i64 80 %78 = extractelement <4 x float> %69, i32 1 %79 = extractelement <4 x float> %63, i32 1 %80 = extractelement <4 x float> %69, i32 2 %81 = extractelement <4 x float> %63, i32 2 %82 = load float, float* %67, align 4, !alias.scope !7, !noalias !8 %83 = load float, float* %68, align 4, !invariant.load !0, !noalias !3 %84 = fmul float %83, %83 %85 = insertelement <4 x float> undef, float %75, i32 0 %86 = insertelement <4 x float> %85, float %78, i32 1 %87 = insertelement <4 x float> %86, float %80, i32 2 %88 = insertelement <4 x float> %87, float %84, i32 3 %89 = fdiv <4 x float> %37, %88 %90 = insertelement <4 x float> undef, float %76, i32 0 %91 = insertelement <4 x float> %90, float %79, i32 1 %92 = insertelement <4 x float> %91, float %81, i32 2 %93 = insertelement <4 x float> %92, float %82, i32 3 %94 = fadd <4 x float> %93, %89 %95 = fmul <4 x float> %94, <float -5.000000e-01, float -5.000000e-01, float -5.000000e-01, float -5.000000e-01> %96 = bitcast i8* %77 to <4 x float>* store <4 x float> %95, <4 x float>* %96, align 8, !alias.scope !8, !noalias !12 %97 = getelementptr inbounds i8*, i8** %buffer_table, i64 3 %98 = bitcast i8** %97 to [1 x i8*]** %99 = load [1 x i8*]*, [1 x i8*]** %98, align 8, !invariant.load !0, !dereferenceable !2, !align !2 %100 = getelementptr inbounds [1 x i8*], [1 x i8*]* %99, i64 0, i64 0 store i8* %26, i8** %100, align 8, !alias.scope !14, !noalias !8 ret void } ; Function Attrs: nounwind readnone speculatable willreturn declare <4 x float> @llvm.log.v4f32(<4 x float>) #1 attributes #0 = { nofree nounwind uwtable "no-frame-pointer-elim"="false" } attributes #1 = { nounwind readnone speculatable willreturn } !0 = !{} !1 = !{i64 32} !2 = !{i64 8} !3 = !{!4, !6} !4 = !{!"buffer: {index:0, offset:0, size:96}", !5} !5 = !{!"XLA global AA domain"} !6 = !{!"buffer: {index:5, offset:0, size:32}", !5} !7 = !{!6} !8 = !{!4} !9 = !{i64 4} !10 = !{i64 12} !11 = !{i64 96} !12 = !{!13, !6} !13 = !{!"buffer: {index:3, offset:0, size:8}", !5} !14 = !{!13} ``` This results in bad numerical answers when used through XLA. Again, it's not that easy to give a small fully-reproducible example, but the misscompare is: ``` Expected literal: ( f32[2,3,4] { { { nan, -inf, -3181.35, -inf }, { nan, -inf, -28.2577019, -inf }, { nan, -inf, -28.2577019, -inf } }, { { -inf, -inf, -inf, -inf }, { -6.60753046e+28, -1.47314833e+23, -inf, -inf }, { -2.43504347e+30, -5.42892693e+24, -inf, -inf } } } ) Actual literal: ( f32[2,3,4] { { { nan, -inf, -3181.35, -inf }, { nan, -inf, -inf, -inf }, { inf, -inf, -28.2577019, -inf } }, { { -inf, -inf, -inf, -inf }, { -6.60753046e+28, -1.47314833e+23, -inf, -inf }, { -2.43504347e+30, -5.42892693e+24, -inf, -inf } } } ) ``` Reviewers: sanjoy.google, sanjoy, ebrevnov, jdoerfert, reames, chandlerc Subscribers: hiraditya, Charusso, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70516
|
 | llvm/lib/Analysis/MemoryDependenceAnalysis.cpp |
Commit
3d07c3cf7c9284f5202cf4b3a4db0478e8de29ea
by simon[mips] Remove addresses from the test case. NFC It reduces "diff" after addition more tests in the future.
|
 | llvm/test/MC/Mips/sym-sc.s |
Commit
cc80695f6f17f922ce91f18804b44af89ed21f27
by simon[mips] Remove unused `IsPCRelativeLoad` MIPS instructions attribute. NFC This attribute is always set to zero.
|
 | llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h |
 | llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp |
 | llvm/lib/Target/Mips/MipsInstrFormats.td |
Commit
d9cb1b34e068be18768bb0533d5a157397e62838
by simon[mips] Rename test case. NFC
|
 | llvm/test/MC/Mips/sc-expansion.s |
 | llvm/test/MC/Mips/sym-sc.s |
Commit
f65cfff605f2fd802fc337c6152474e3f3d22a1c
by paveldwarfdump --statistics: Use new location list api Summary: This patch removes manual location list handling in the statistics code and replaces it with the new DWARFDie api, which provides access to a "cooked" location list. This has the following effects: - the code now properly handles split-dwarf location lists - it will automatically support dwarf5 location lists once support for those is added - it properly handles location lists with base address selection entries - it fixes a bug where the location list code was using the first DW_AT_ranges range as a "base address" of the compile unit (it should have used DW_AT_low_pc instead. The effect of this was that the computation of the start address of a variable in its scope was broken for these kinds of compile units. This only manifested itself on linked files, since in object files the first DW_AT_ranges range normally starts at 0. Since pretty much every kind of location list was broken in some way, it's hard to verify that the new implementation is correct -- the output will be different in all non-trivial cases, and mostly with good reason. Most of the existing statistics tests continue to pass though, and a visual inspection of the statistics for non-trivial inputs shows that the data is more "reasonable" now. I have updated the "dwo statistics" test to include the new numbers, as the previous ones were completely bogus, and I have added a targeted test for the "base address" bug. Reviewers: dblaikie, cmtice, vsk Subscribers: aprantl, SouraVX, JDevlieghere, djtodoro, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70444
|
 | llvm/test/tools/llvm-dwarfdump/X86/statistics-base-address.s |
 | llvm/tools/llvm-dwarfdump/Statistics.cpp |
 | llvm/test/tools/llvm-dwarfdump/X86/statistics-dwo.test |
Commit
aa981c1802d7353c777e399f2568e5a0e12dea21
by ibiryukovReland 9f3fdb0d7fab: [Driver] Use VFS to check if sanitizer blacklists exist With updates to various LLVM tools that use SpecialCastList. It was tempting to use RealFileSystem as the default, but that makes it too easy to accidentally forget passing VFS in clang code.
|
 | clang/unittests/Driver/CMakeLists.txt |
 | clang/unittests/Driver/SanitizerArgsTest.cpp |
 | clang/lib/Driver/SanitizerArgs.cpp |
 | llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp |
 | llvm/unittests/Support/SpecialCaseListTest.cpp |
 | clang/lib/Basic/XRayLists.cpp |
 | llvm/include/llvm/Support/SpecialCaseList.h |
 | clang/lib/Driver/XRayArgs.cpp |
 | llvm/lib/Support/SpecialCaseList.cpp |
 | llvm/tools/sancov/sancov.cpp |
 | llvm/tools/llvm-cov/CodeCoverage.cpp |
 | llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp |
 | clang/lib/Basic/SanitizerSpecialCaseList.cpp |
Commit
a0408ab7f9863954b9d978d78761ed7b893f13b1
by Raphael Isemann[lldb][NFC] Move searching the ClangModulesDeclVendor into own function
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp |
Commit
2e298a6a51065a25240d15872cb350e0761ea04d
by ibiryukov[Driver] Fix a shadowing warning. NFC Found by the following buildbot: http://lab.llvm.org:8011/builders/clang-cmake-x86_64-sde-avx512-linux/builds/30084
|
 | clang/unittests/Driver/SanitizerArgsTest.cpp |
Commit
7fa976d57a1e2ab735212e5d9fc13cc38c4c81e9
by Raphael Isemann[lldb][NFC] Move searching local variables into own function
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp |
Commit
ffc4ff868fcca29080dcc90e223b582c4ccfc574
by Tatyana Krasnukha[lldb][NFC] Remove test directory completely The test was moved to "completion-in-lambda-and-unnamed-class" by D66175. + Fix typo in the directory name.
|
 | lldb/packages/Python/lldbsuite/test/commands/expression/completion-in-lambda-and-unnnamed-class/main.cpp |
 | lldb/packages/Python/lldbsuite/test/commands/expression/completion-in-lambda-and-unnnamed-class/TestCompletionInLambdaAndUnnamedClass.py |
 | lldb/packages/Python/lldbsuite/test/commands/expression/completion-crash-lambda/Makefile |
 | lldb/packages/Python/lldbsuite/test/commands/expression/completion-in-lambda-and-unnamed-class/main.cpp |
 | lldb/packages/Python/lldbsuite/test/commands/expression/completion-in-lambda-and-unnamed-class/TestCompletionInLambdaAndUnnamedClass.py |
Commit
013f4ba9c21f91accc516e5a70c70efc69d92b69
by llvm-devFix Wshadow warning against global None variable. NFC.
|
 | clang/include/clang/AST/DeclTemplate.h |
Commit
af029860593e595aa496d96b4fa2386e2a3546ad
by llvm-devStatistic - Fix MSVC shadow warning against global PrintOnExit static variable. NFC.
|
 | llvm/include/llvm/ADT/Statistic.h |
 | llvm/lib/Support/Statistic.cpp |
Commit
12a88f0128eaf730976094194e8c9de2798579ac
by courbet[DAGCombiner] Add tests for thumb load-combine.
|
 | llvm/test/CodeGen/ARM/load-combine-big-endian.ll |
 | llvm/test/CodeGen/ARM/load-combine.ll |
Commit
bdb1f1dcb9f1164b9df6b49eea7b38e16574bdf2
by zakk.chenRevert "[RISCV] Support mutilib in baremetal environment" This reverts commit df876a026981b7a125b31bbb85ba4b1144edb0f9. Clang::riscv32-toolchain.c Clang::riscv64-toolchain.c fails on Windows.
|
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtbegin.o |
 | clang/lib/Driver/ToolChains/Gnu.cpp |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imac/ilp32/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imafdc/lp64d/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imac/lp64/crt0.o |
 | clang/test/Driver/riscv32-toolchain.c |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32im/ilp32/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imac/ilp32/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32i/ilp32/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32imafc/ilp32f/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtend.o |
 | clang/lib/Driver/ToolChains/RISCVToolchain.cpp |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32i/ilp32/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv64imafdc/lp64d/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32iac/ilp32/crtend.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv64imac/lp64/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/rv32iac/ilp32/crt0.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/lib/crt0.o |
 | clang/test/Driver/riscv64-toolchain.c |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/riscv64-unknown-elf/bin/ld |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32imafc/ilp32f/crtbegin.o |
 | clang/test/Driver/Inputs/multilib_riscv_elf_sdk/lib/gcc/riscv64-unknown-elf/8.2.0/rv32im/ilp32/crtend.o |
Commit
161742a612d198a8a89a1be5b2a893ceec8d852d
by dmitrigMake coding standards document more inclusive Summary: Patch by Doug Gregor, Tres Popp, and Dmitri Gribenko. Reviewers: chandlerc Subscribers: hfinkel, bmcreusillet, arsenm, doug.gregor, mgrang, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69354
|
 | llvm/docs/index.rst |
 | llvm/docs/CodingStandards.rst |
Commit
24e98867937d5bb89605fd7be7e9ebdd3d5fb935
by Raphael Isemann[lldb][NFC] Reduce scope of some variables in ClangExpressionDeclMap::FindExternalVisibleDecls
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp |
Commit
7b957ddc981d65276ca5aa0e7208890269cc9682
by a.v.lapshin[Debuginfo][NFC] removes redundant semicolon.
|
 | llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp |
Commit
c63f1b160eb68cfac30113f259abae508d8be798
by ehudkatz[DeclCXX] Remove unknown external linkage specifications Partial revert of r372681 "Support for DWARF-5 C++ language tags". The change introduced new external linkage languages ("C++11" and "C++14") which not supported in C++. It also changed the definition of the existing enum to use the DWARF constants. The problem is that "LinkageSpecDeclBits.Language" (the field that reserves this enum) is actually defined as 3 bits length (bitfield), which cannot contain the new DWARF constants. Defining the enum as integer literals is more appropriate for maintaining valid values. Differential Revision: https://reviews.llvm.org/D69935
|
 | clang/lib/AST/DeclPrinter.cpp |
 | clang-tools-extra/modularize/Modularize.cpp |
 | clang/lib/Sema/SemaDeclCXX.cpp |
 | clang/include/clang/AST/DeclCXX.h |
 | clang/lib/Sema/SemaModule.cpp |
 | clang/lib/AST/JSONNodeDumper.cpp |
 | clang/lib/CodeGen/CodeGenModule.cpp |
 | clang/lib/AST/TextNodeDumper.cpp |
Commit
5fb7dd8a40d2f35eea47b9c280722bd735e387a0
by Raphael Isemann[lldb][NFC] Move searching functions in ClangExpressionDeclMap to own function
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp |
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h |
Commit
8cf8ec40a1fee9706237d30385e78e1de214d8f7
by Raphael Isemann[lldb][NFC] Modernize string handling in ClangExpressionDeclMap::FindExternalVisibleDecl
|
 | lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp |
Commit
901cd3b3f62d0c700e5d2c3f97eff97d634bec5e
by sjoerd.meijer[LV] PreferPredicateOverEpilog respecting option Follow-up of cb47b8783: don't query TTI->preferPredicateOverEpilogue when option -prefer-predicate-over-epilog is set to false, i.e. when we prefer not to predicate the loop. Differential Revision: https://reviews.llvm.org/D70382
|
 | llvm/lib/Transforms/Vectorize/LoopVectorize.cpp |
 | llvm/test/Transforms/LoopVectorize/ARM/prefer-tail-loop-folding.ll |
Commit
b25f985848767f36dcdcbac213ddb03bcdab617a
by courbet[DAGCombiner] Use the right thumbv7meb triple for ARM big-endian test.
|
 | llvm/test/CodeGen/ARM/load-combine-big-endian.ll |
Commit
6ba5cbf3ea2315acf1b7f1c39c6fec6cca5560ca
by Milos.Stojanovic[mips] Add a 'generic' Mips CPU Having a generic CPU removes a warning when creating a subtarget without the CPU being explicitly specified. Differential Revision: https://reviews.llvm.org/D70490
|
 | llvm/test/CodeGen/Mips/cpus.ll |
 | llvm/lib/Target/Mips/Mips.td |
Commit
103f3c9e3b3ce663b5451e321e3800e09f851b8a
by a.bataev[OPENMP50]Add if clause in for simd directive. According to OpenMP 5.0, if clause can be used in for simd directive. If condition in the if clause if false, the non-vectorized version of the loop must be executed.
|
 | clang/lib/Basic/OpenMPKinds.cpp |
 | clang/lib/CodeGen/CGStmtOpenMP.cpp |
 | clang/include/clang/Basic/OpenMPKinds.def |
 | clang/test/OpenMP/for_simd_codegen.cpp |
 | clang/test/OpenMP/for_simd_if_messages.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/test/OpenMP/for_simd_ast_print.cpp |
Commit
e8d1578131247d089209952476ba9191ad0295be
by kparzysz[Hexagon] Remove incorrect intrinsic definition and invalid testcase The intrinsic int_hexagon_S2_asr_i_vh was mapped to S2_asr_r_vh, which is wrong. The testcase vasrh.select.ll was using an invalid immediate for that intrinsic. This is not a proper testcase, since at the MIR level such use of this intrinsic should never appear. Together with 824b25fc02, this completes the fix for llvm.org/PR44090.
|
 | llvm/lib/Target/Hexagon/HexagonIntrinsics.td |
 | llvm/test/CodeGen/Hexagon/vasrh.select.ll |
Commit
d3fec7fb456138c83b84e38ce785ea6bfa59c30b
by jyknightLLD: Don't use the stderrOS stream in link before it's reassigned. Remove the lld::enableColors function, as it just obscures which stream it's affecting, and replace with explicit calls to the stream's enable_colors. Also, assign the stderrOS and stdoutOS globals first in link function, just to ensure nothing might use them. (Either change individually fixes the issue of using the old stream, but both together seems best.) Follow-up to b11386f9be9b2dc7276a758d64f66833da10bdea. Differential Revision: https://reviews.llvm.org/D70492
|
 | lld/Common/ErrorHandler.cpp |
 | lld/ELF/Driver.cpp |
 | lld/MinGW/Driver.cpp |
 | lld/COFF/Driver.cpp |
 | lld/COFF/DriverUtils.cpp |
 | lld/lib/Driver/DarwinLdDriver.cpp |
 | lld/include/lld/Common/ErrorHandler.h |
 | lld/ELF/DriverUtils.cpp |
 | lld/wasm/Driver.cpp |
Commit
d4e006e84461bb98977388bd8742413d45c245c4
by llvm-devFix unused variable warning. NFCI.
|
 | clang-tools-extra/clangd/Hover.cpp |
Commit
4ae0a1325666f2f5d2c5831ba6ca8c7e90790b8b
by spatel[InstCombine] add assert in SimplifyDemandedVectorElts and improve readability; NFC
|
 | llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp |
Commit
77d049d0c653798698fa24556115874828aae87b
by a.bataev[OPENMP]Fix datasharing checks for if clause in parallel taskloop directives. If the default datasharing is set to none, the datasharing attributes for variables in the condition of the if clause for the inner taskloop directive must be verified.
|
 | clang/test/OpenMP/parallel_master_taskloop_loop_messages.cpp |
 | clang/test/OpenMP/parallel_master_taskloop_simd_loop_messages.cpp |
 | clang/lib/Sema/SemaOpenMP.cpp |
Commit
1b9ef3bbb595206b0097b7adec2c1b69eae6fab4
by Adrian PrantlReduce the number of iterations in testcase. (NFC)
|
 | llvm/test/MC/X86/dwarf-size-field-overflow.test |
Commit
3b69f0c5550a229dd6d39e361182cdd7cecc36a4
by amccarth[NFC] Refactor and improve comments in CommandObjectTarget Made small improvements while debugging through CommandObjectTarget::AddModuleSymbols. 1. Refactored error case for an early out, reducing the indentation of the rest of this long function. 2. Clarified some comments by correcting spelling and punctuation. 3. Reduced duplicate code at the end of the function. Tested with `ninja check-lldb` Differential Review: https://reviews.llvm.org/D70458
|
 | lldb/source/Commands/CommandObjectTarget.cpp |
Commit
c4afc6566a64e6be3f77271781a147bb5ff98b0c
by michael.hliaoFix compilation warning. NFC.
|
 | clang/lib/Driver/Driver.cpp |
Commit
898de302919b3caf09b820757c58190cd8621255
by bjorn.a.pettersson[BranchFolding] Fix PR43964 about branch folder not being debug invariant Summary: The fix in BranchFolder related to non debug invariant problems done in commit ec32dff0b075055 actually introduced some new problems with debug invariance. Before that patch ComputeCommonTailLength would move iterators back, past debug instructions, in order to make ProfitableToMerge make consistent answers "when one block differs from the other only by whether debugging pseudos are present at the beginning". But the changes in ec32dff0b075055 undid that by moving the iterators forward again. This patch refactors ComputeCommonTailLength. The function was really complex, considering that the SkipTopCFIAndReturn part always moved the iterators forward to the first "real" instruction in the found tail after ec32dff0b075055. The patch also restores the logic to "back past possible debugging pseudos at beginning of block" to make sure ProfitableToMerge gives consistent answers independent of DBG_VALUE instructions before the tail. That is now done by ProfitableToMerge instead of being hidden as a side-effect in ComputeCommonTailLength. Reviewers: probinson, yechunliang, jmorse Reviewed By: jmorse Subscribers: Orlando, mehdi_amini, dexonsmith, aprantl, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70091
|
 | llvm/lib/CodeGen/BranchFolding.cpp |
 | llvm/test/CodeGen/X86/branchfolding-debug-invariant.mir |
Commit
242002770ba00516339875a064f9ae0efd78a8dc
by maskray[llvm-objcopy][MachO] Fix symbol order in the symbol table Only consider isUndefinedSymbol() when the symbol is not local. This fixes an assert failure when copying the symbol table, if a n_type=0x20 symbol is followed by a n_type=0x64 symbol. Reviewed By: alexshap, seiya Differential Revision: https://reviews.llvm.org/D70475
|
 | llvm/test/tools/llvm-objcopy/MachO/strip-all.test |
 | llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp |
 | llvm/test/tools/llvm-objcopy/MachO/Inputs/strip-all.yaml |
Commit
30ccee71ca0218248c39768102488ef589ea9c1b
by maskray[llvm-objcopy][MachO] Implement --strip-debug Reviewed By: alexshap Differential Revision: https://reviews.llvm.org/D70476
|
 | llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp |
 | llvm/test/tools/llvm-objcopy/MachO/strip-debug.test |
Commit
4dc2fb123dcfe9a97ad6f3a1135053b74efd0bc9
by maskray[ELF] Error if -Ttext-segment is specified In GNU ld, -Ttext sets the address of the .text section and -Ttext-segment sets the address of the text segment (RX). gold only supports the -Ttext-segment semantic and treats -Ttext as an alias for -Ttext-segment. lld only supports the -Ttext semantic and treats -Ttext-segment as an alias for -Ttext. The text segment will be assigned to an address less than the specified -Ttext-segment value. This patch drops the -Ttext-segment alias. The text segment is traditionally the first segment. Users who specify -Ttext-segment may actually want to specify --image-base, the lld way to express this. Unfortunately currently this is supported by GNU ld's COFF port but not by its ELF port. gold does not support this option. With -z separate-code, the behavior of GNU ld -Ttext-segment is weird (see https://sourceware.org/bugzilla/show_bug.cgi?id=25207) rL289827 introduced the alias for linking qemu's non-pie user mode binaries. As explained previously, this actually assigns the text segment to an address less than 0x60000000. I feel that a better fix is on the qemu side: https://lists.nongnu.org/archive/html/qemu-devel/2019-11/msg02480.html Reviewed By: grimar, ruiu Differential Revision: https://reviews.llvm.org/D70468
|
 | lld/ELF/Driver.cpp |
 | lld/test/ELF/ttext-segment.s |
 | lld/ELF/Options.td |
 | lld/test/ELF/sectionstart.s |
Commit
f1a9a83232230e1c848a91270ebe0d4089f0a803
by listmail[SCEV] Be robust against IR generated by simple-loop-unswitch Simple loop unswitch likes to leave around unsimplified and/or/xors. SCEV today bails out on these idioms which is unfortunate in general, and specifically for the unswitch interaction. Differential Revision: https://reviews.llvm.org/D70459
|
 | llvm/test/Analysis/ScalarEvolution/trip-count-andor.ll |
 | llvm/lib/Analysis/ScalarEvolution.cpp |
Commit
bb775bee21258f93cd5844b3540c0ec2569c1e22
by Jonas Devlieghere[Docs] Generate the LLDB man page with Sphinx This patch replaces the existing out-of-date man page for lldb and replaces it with an RST file from which sphinx generates the actual troff file. This is similar to how man pages are generated for the rest of the LLVM utilities. The man page is generated by building the `docs-lldb-man` target. Differential revision: https://reviews.llvm.org/D70514
|
 | lldb/docs/conf.py |
 | lldb/tools/driver/Options.td |
 | lldb/docs/lldb.1 |
 | lldb/docs/man/lldb.rst |
 | lldb/docs/CMakeLists.txt |
Commit
46240c38721fe9919f9c63277bec7bbf3e62073b
by kostyak[scudo][standalone] Minor optimization & improvements Summary: A few small improvements and optimizations: - when refilling the free list, push back the last batch and return the front one: this allows to keep the allocations towards the front of the region; - instead of using 48 entries in the shuffle array, use a multiple of `MaxNumCached`; - make the maximum number of batches to create on refil a constant; ultimately it should be configurable, but that's for later; - `initCache` doesn't need to zero out the cache, it's already done. - it turns out that when using `||` or `&&`, the compiler is adamant on adding a short circuit for every part of the expression. Which ends up making somewhat annoying asm with lots of test and conditional jump. I am changing that to bitwise `|` or `&` in two place so that the generated code looks better. Added comments since it might feel weird to people. This yields to some small performance gains overall, nothing drastic though. Reviewers: hctim, morehouse, cferris, eugenis Subscribers: #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D70452
|
 | compiler-rt/lib/scudo/standalone/combined.h |
 | compiler-rt/lib/scudo/standalone/primary32.h |
 | compiler-rt/lib/scudo/standalone/primary64.h |
Commit
70d173fb1f7b920c0a56fb5b0b6776985728716e
by listmail[SCEV] Add a mode to skip classification when printing analysis For the various trip-count tests, the classification isn't useful and makes the auto-generated tests super verbose. By skipping it, we make the auto-gen tests closer to the manually written ones. Up next: auto-genning a bunch of the existings tests.
|
 | llvm/test/Analysis/ScalarEvolution/trip-count-andor.ll |
 | llvm/lib/Analysis/ScalarEvolution.cpp |
Commit
4e8231b5cf0f5f62c7a51a857e29f5be5cb55734
by a.bataev[OPENMP50]Add device/kind context selector support. Summary: Added basic parsing/sema support for device/kind context selector. Reviewers: jdoerfert Subscribers: rampitec, aheejin, fedor.sergeev, simoncook, guansong, s.egerton, hfinkel, kkwli0, caomhin, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D70245
|
 | clang/test/OpenMP/nvptx_declare_variant_device_kind_codegen.cpp |
 | clang/include/clang/Basic/Attr.td |
 | clang/lib/CodeGen/CGOpenMPRuntime.cpp |
 | clang/test/OpenMP/declare_variant_ast_print.c |
 | clang/include/clang/Basic/DiagnosticParseKinds.td |
 | clang/test/OpenMP/declare_variant_messages.cpp |
 | clang/include/clang/Basic/OpenMPKinds.def |
 | clang/lib/Sema/SemaOpenMP.cpp |
 | clang/lib/Parse/ParseOpenMP.cpp |
 | clang/test/OpenMP/declare_variant_ast_print.cpp |
 | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp |
 | clang/test/OpenMP/declare_variant_device_kind_codegen.cpp |
 | clang/test/OpenMP/declare_variant_messages.c |
 | clang/test/OpenMP/declare_variant_mixed_codegen.cpp |
Commit
d9426c3360895f265a19e25e2d2bae3348ad9ce8
by listmail[Tests] Autogenerate a bunch of SCEV trip count tests for readability. Will likely merge some of these files soon.
|
 | llvm/test/Analysis/ScalarEvolution/trip-count3.ll |
 | llvm/test/Analysis/ScalarEvolution/trip-count10.ll |
 | llvm/test/Analysis/ScalarEvolution/trip-count8.ll |
 | llvm/test/Analysis/ScalarEvolution/trip-count4.ll |
 | llvm/test/Analysis/ScalarEvolution/trip-count7.ll |
 | llvm/test/Analysis/ScalarEvolution/trip-count2.ll |
 | llvm/test/Analysis/ScalarEvolution/trip-count9.ll |
 | llvm/test/Analysis/ScalarEvolution/trip-count6.ll |
 | llvm/test/Analysis/ScalarEvolution/trip-count.ll |
Commit
aaea24802bf5de0420f1ef5f3660a9765e23dea8
by listmailBroaden the definition of a "widenable branch" As a reminder, a "widenable branch" is the pattern "br i1 (and i1 X, WC()), label %taken, label %untaken" where "WC" is the widenable condition intrinsics. The semantics of such a branch (derived from the semantics of WC) is that a new condition can be added into the condition arbitrarily without violating legality. Broaden the definition in two ways: Allow swapped operands to the br (and X, WC()) form Allow widenable branch w/trivial condition (i.e. true) which takes form of br i1 WC() The former is just general robustness (e.g. for X = non-instruction this is what instcombine produces). The later is specifically important as partial unswitching of a widenable range check produces exactly this form above the loop. Differential Revision: https://reviews.llvm.org/D70502
|
 | llvm/test/Transforms/SimplifyCFG/wc-widen-block.ll |
 | llvm/lib/Analysis/GuardUtils.cpp |
 | llvm/test/Transforms/LoopPredication/predicate-exits.ll |
 | llvm/lib/Transforms/Scalar/GuardWidening.cpp |
 | llvm/lib/Transforms/Utils/GuardUtils.cpp |
 | llvm/test/Transforms/GuardWidening/basic_widenable_condition_guards.ll |
 | llvm/test/Transforms/LoopPredication/basic_widenable_branch_guards.ll |
Commit
ab411801b82783eb7f652701ccfce81b16cf1811
by tstellar[cmake] Explicitly mark libraries defined in lib/ as "Component Libraries" Summary: Most libraries are defined in the lib/ directory but there are also a few libraries defined in tools/ e.g. libLLVM, libLTO. I'm defining "Component Libraries" as libraries defined in lib/ that may be included in libLLVM.so. Explicitly marking the libraries in lib/ as component libraries allows us to remove some fragile checks that attempt to differentiate between lib/ libraries and tools/ libraires: 1. In tools/llvm-shlib, because llvm_map_components_to_libnames(LIB_NAMES "all") returned a list of all libraries defined in the whole project, there was custom code needed to filter out libraries defined in tools/, none of which should be included in libLLVM.so. This code assumed that any library defined as static was from lib/ and everything else should be excluded. With this change, llvm_map_components_to_libnames(LIB_NAMES, "all") only returns libraries that have been added to the LLVM_COMPONENT_LIBS global cmake property, so this custom filtering logic can be removed. Doing this also fixes the build with BUILD_SHARED_LIBS=ON and LLVM_BUILD_LLVM_DYLIB=ON. 2. There was some code in llvm_add_library that assumed that libraries defined in lib/ would not have LLVM_LINK_COMPONENTS or ARG_LINK_COMPONENTS set. This is only true because libraries defined lib lib/ use LLVMBuild.txt and don't set these values. This code has been fixed now to check if the library has been explicitly marked as a component library, which should now make it easier to remove LLVMBuild at some point in the future. I have tested this patch on Windows, MacOS and Linux with release builds and the following combinations of CMake options: - "" (No options) - -DLLVM_BUILD_LLVM_DYLIB=ON - -DLLVM_LINK_LLVM_DYLIB=ON - -DBUILD_SHARED_LIBS=ON - -DBUILD_SHARED_LIBS=ON -DLLVM_BUILD_LLVM_DYLIB=ON - -DBUILD_SHARED_LIBS=ON -DLLVM_LINK_LLVM_DYLIB=ON Reviewers: beanz, smeenai, compnerd, phosek Reviewed By: beanz Subscribers: wuzish, jholewinski, arsenm, dschuff, jyknight, dylanmckay, sdardis, nemanjai, jvesely, nhaehnle, mgorny, mehdi_amini, sbc100, jgravelle-google, hiraditya, aheejin, fedor.sergeev, asb, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, atanasyan, steven_wu, rogfer01, MartinMosbeck, brucehoult, the_o, dexonsmith, PkmX, jocewei, jsji, dang, Jim, lenary, s.egerton, pzheng, sameer.abuasal, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70179
|
 | llvm/lib/CodeGen/MIRParser/CMakeLists.txt |
 | llvm/lib/Target/ARM/AsmParser/CMakeLists.txt |
 | llvm/lib/MCA/CMakeLists.txt |
 | llvm/lib/Target/PowerPC/Disassembler/CMakeLists.txt |
 | llvm/lib/Transforms/Scalar/CMakeLists.txt |
 | llvm/lib/Passes/CMakeLists.txt |
 | llvm/lib/Target/XCore/Disassembler/CMakeLists.txt |
 | llvm/lib/LineEditor/CMakeLists.txt |
 | llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt |
 | llvm/lib/Target/X86/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/Target/Lanai/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/Target/AVR/AsmParser/CMakeLists.txt |
 | llvm/lib/Target/X86/TargetInfo/CMakeLists.txt |
 | llvm/lib/IR/CMakeLists.txt |
 | llvm/lib/IRReader/CMakeLists.txt |
 | llvm/lib/Transforms/IPO/CMakeLists.txt |
 | llvm/lib/Target/MSP430/TargetInfo/CMakeLists.txt |
 | llvm/lib/CodeGen/AsmPrinter/CMakeLists.txt |
 | llvm/lib/ProfileData/CMakeLists.txt |
 | llvm/lib/Transforms/Coroutines/CMakeLists.txt |
 | llvm/lib/DebugInfo/DWARF/CMakeLists.txt |
 | llvm/lib/Target/Lanai/Disassembler/CMakeLists.txt |
 | llvm/lib/Target/BPF/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/FuzzMutate/CMakeLists.txt |
 | llvm/lib/ExecutionEngine/Orc/CMakeLists.txt |
 | llvm/lib/CodeGen/GlobalISel/CMakeLists.txt |
 | llvm/lib/Target/AVR/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/Target/Lanai/TargetInfo/CMakeLists.txt |
 | llvm/lib/Target/PowerPC/AsmParser/CMakeLists.txt |
 | llvm/lib/Target/PowerPC/TargetInfo/CMakeLists.txt |
 | llvm/lib/Target/ARC/Disassembler/CMakeLists.txt |
 | llvm/lib/Bitcode/Writer/CMakeLists.txt |
 | llvm/lib/Bitcode/Reader/CMakeLists.txt |
 | llvm/lib/Target/ARC/TargetInfo/CMakeLists.txt |
 | llvm/lib/Target/Sparc/TargetInfo/CMakeLists.txt |
 | llvm/lib/Target/MSP430/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/Target/X86/Utils/CMakeLists.txt |
 | llvm/lib/ProfileData/Coverage/CMakeLists.txt |
 | llvm/lib/TextAPI/CMakeLists.txt |
 | llvm/lib/Target/WebAssembly/AsmParser/CMakeLists.txt |
 | llvm/lib/DebugInfo/MSF/CMakeLists.txt |
 | llvm/lib/Target/Mips/TargetInfo/CMakeLists.txt |
 | llvm/lib/Demangle/CMakeLists.txt |
 | llvm/lib/Target/XCore/TargetInfo/CMakeLists.txt |
 | llvm/lib/DebugInfo/Symbolize/CMakeLists.txt |
 | llvm/lib/Target/Mips/Disassembler/CMakeLists.txt |
 | llvm/lib/Target/MSP430/Disassembler/CMakeLists.txt |
 | llvm/lib/Target/X86/AsmParser/CMakeLists.txt |
 | llvm/lib/Target/RISCV/Utils/CMakeLists.txt |
 | llvm/lib/Target/RISCV/TargetInfo/CMakeLists.txt |
 | llvm/lib/XRay/CMakeLists.txt |
 | llvm/lib/Target/AMDGPU/AsmParser/CMakeLists.txt |
 | llvm/lib/Target/AArch64/AsmParser/CMakeLists.txt |
 | llvm/lib/Target/CMakeLists.txt |
 | llvm/lib/Transforms/ObjCARC/CMakeLists.txt |
 | llvm/lib/Target/SystemZ/Disassembler/CMakeLists.txt |
 | llvm/lib/Target/Hexagon/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/Target/WebAssembly/TargetInfo/CMakeLists.txt |
 | llvm/lib/Analysis/CMakeLists.txt |
 | llvm/lib/ExecutionEngine/PerfJITEvents/CMakeLists.txt |
 | llvm/lib/Target/Lanai/AsmParser/CMakeLists.txt |
 | llvm/lib/Target/RISCV/AsmParser/CMakeLists.txt |
 | llvm/lib/Target/Sparc/Disassembler/CMakeLists.txt |
 | llvm/tools/llvm-shlib/CMakeLists.txt |
 | llvm/lib/Target/SystemZ/TargetInfo/CMakeLists.txt |
 | llvm/lib/Transforms/InstCombine/CMakeLists.txt |
 | llvm/lib/Target/AArch64/Disassembler/CMakeLists.txt |
 | llvm/lib/ToolDrivers/llvm-lib/CMakeLists.txt |
 | llvm/lib/Target/ARC/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/Target/ARM/Utils/CMakeLists.txt |
 | llvm/lib/ExecutionEngine/Interpreter/CMakeLists.txt |
 | llvm/lib/Target/AArch64/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/Target/MSP430/AsmParser/CMakeLists.txt |
 | llvm/lib/Target/Sparc/AsmParser/CMakeLists.txt |
 | llvm/lib/Transforms/CFGuard/CMakeLists.txt |
 | llvm/cmake/modules/LLVM-Config.cmake |
 | llvm/lib/ExecutionEngine/CMakeLists.txt |
 | llvm/lib/DebugInfo/CodeView/CMakeLists.txt |
 | llvm/lib/Target/RISCV/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/WindowsManifest/CMakeLists.txt |
 | llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt |
 | llvm/lib/LTO/CMakeLists.txt |
 | llvm/lib/Target/NVPTX/TargetInfo/CMakeLists.txt |
 | llvm/lib/Target/AArch64/TargetInfo/CMakeLists.txt |
 | llvm/lib/Target/Mips/AsmParser/CMakeLists.txt |
 | llvm/lib/Linker/CMakeLists.txt |
 | llvm/lib/MC/MCParser/CMakeLists.txt |
 | llvm/lib/CodeGen/CMakeLists.txt |
 | llvm/lib/Target/WebAssembly/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/Target/Sparc/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/DebugInfo/PDB/CMakeLists.txt |
 | llvm/lib/AsmParser/CMakeLists.txt |
 | llvm/lib/DebugInfo/GSYM/CMakeLists.txt |
 | llvm/lib/MC/CMakeLists.txt |
 | llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt |
 | llvm/lib/Target/AVR/TargetInfo/CMakeLists.txt |
 | llvm/lib/ExecutionEngine/OProfileJIT/CMakeLists.txt |
 | llvm/lib/Target/RISCV/Disassembler/CMakeLists.txt |
 | llvm/lib/Target/NVPTX/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt |
 | llvm/lib/Target/ARM/TargetInfo/CMakeLists.txt |
 | llvm/lib/ExecutionEngine/MCJIT/CMakeLists.txt |
 | llvm/lib/ObjectYAML/CMakeLists.txt |
 | llvm/lib/Target/X86/Disassembler/CMakeLists.txt |
 | llvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/TableGen/CMakeLists.txt |
 | llvm/lib/Target/SystemZ/AsmParser/CMakeLists.txt |
 | llvm/lib/Transforms/Utils/CMakeLists.txt |
 | llvm/cmake/modules/AddLLVM.cmake |
 | llvm/lib/Option/CMakeLists.txt |
 | llvm/lib/Target/BPF/AsmParser/CMakeLists.txt |
 | llvm/lib/Transforms/Instrumentation/CMakeLists.txt |
 | llvm/lib/Transforms/Vectorize/CMakeLists.txt |
 | llvm/lib/Target/BPF/Disassembler/CMakeLists.txt |
 | llvm/lib/Target/XCore/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/Object/CMakeLists.txt |
 | llvm/lib/Remarks/CMakeLists.txt |
 | llvm/lib/Target/AVR/Disassembler/CMakeLists.txt |
 | llvm/lib/Target/PowerPC/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/BinaryFormat/CMakeLists.txt |
 | llvm/lib/Target/ARM/Disassembler/CMakeLists.txt |
 | llvm/lib/Target/AArch64/Utils/CMakeLists.txt |
 | llvm/lib/Target/Hexagon/TargetInfo/CMakeLists.txt |
 | llvm/lib/Target/AMDGPU/TargetInfo/CMakeLists.txt |
 | llvm/lib/Target/Hexagon/AsmParser/CMakeLists.txt |
 | llvm/lib/Transforms/AggressiveInstCombine/CMakeLists.txt |
 | llvm/lib/ExecutionEngine/RuntimeDyld/CMakeLists.txt |
 | llvm/lib/Bitstream/Reader/CMakeLists.txt |
 | llvm/lib/Target/BPF/TargetInfo/CMakeLists.txt |
 | llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt |
 | llvm/lib/Support/CMakeLists.txt |
 | llvm/lib/Target/WebAssembly/Disassembler/CMakeLists.txt |
 | llvm/lib/ToolDrivers/llvm-dlltool/CMakeLists.txt |
 | llvm/lib/ExecutionEngine/OrcError/CMakeLists.txt |
 | llvm/lib/Target/AMDGPU/Utils/CMakeLists.txt |
 | llvm/lib/Target/Hexagon/Disassembler/CMakeLists.txt |
 | llvm/lib/MC/MCDisassembler/CMakeLists.txt |
Commit
e0cabe280b80ab71045d90b2d6f1a70e5d4c5d05
by Adrian PrantlDebug info: Emit objc_direct methods as members of their containing class even in DWARF 4 and earlier. This allows the debugger to recognize them as direct functions as opposed to Objective-C methods. <rdar://problem/57327663> Differential Revision: https://reviews.llvm.org/D70544
|
 | clang/lib/CodeGen/CGDebugInfo.cpp |
 | clang/test/CodeGenObjC/debug-info-direct-method.m |
 | clang/lib/CodeGen/CGDebugInfo.h |
Commit
f5759d5dbc441f1fe956757408f46e65611b94e5
by Jonas Devlieghere[Test] Split up TestIntegerTypes.py The unsplit test is timing out on GreenDragon's sanitized bot. By splitting the test we avoid this issue and increase parallelism.
|
 | lldb/packages/Python/lldbsuite/test/types/TestCharType.py |
 | lldb/packages/Python/lldbsuite/test/types/TestIntegerTypes.py |
 | lldb/packages/Python/lldbsuite/test/types/TestShortTypeExpr.py |
 | lldb/packages/Python/lldbsuite/test/types/TestIntegerType.py |
 | lldb/packages/Python/lldbsuite/test/types/TestIntegerTypesExpr.py |
 | lldb/packages/Python/lldbsuite/test/types/TestLongTypesExpr.py |
 | lldb/packages/Python/lldbsuite/test/types/TestIntegerTypeExpr.py |
 | lldb/packages/Python/lldbsuite/test/types/TestLongTypes.py |
 | lldb/packages/Python/lldbsuite/test/types/TestCharTypeExpr.py |
 | lldb/packages/Python/lldbsuite/test/types/TestShortType.py |
Commit
5fcf89f77893b4c3367f23dd82b426f783e67cff
by stefanp[PowerPC] Add new Future CPU for PowerPC This patch will add -mcpu=future into clang for PowerPC. A CPU type is required for work that may possibly be enabled for some future Power CPU. The CPU type future will serve that purpose. This patch introduces no new functionality. It is an incremental patch on top of which Power PC work for some future CPU can be done. Differential Revision: https://reviews.llvm.org/D70262
|
 | clang/lib/Basic/Targets/PPC.cpp |
 | clang/test/Preprocessor/init.c |
 | clang/lib/Driver/ToolChains/Arch/PPC.cpp |
 | clang/lib/Basic/Targets/PPC.h |
 | clang/test/Misc/target-invalid-cpu-note.c |
Commit
fea8288c174c63cd174e841a9c1cbd9e9bc74427
by craig.topper[X86] Add test case for f128 fma. NFC This should be turned into a libcall to fmal. We already do it correctly, but we had no test to confirm.
|
 | llvm/test/CodeGen/X86/fp128-libcalls.ll |
Commit
1439059cc76a51954b6eba9b657a23ff662dfbf8
by craig.topper[X86] Change legalization action for f128 fadd/fsub/fmul/fdiv from Custom to LibCall. The custom code just emits a libcall, but we can do the same with generic code. The only difference is that the generic code can form tail calls where the custom code couldn't. This is responsible for the test changes. This avoids needing to modify the Custom handling for strict fp.
|
 | llvm/test/CodeGen/X86/fp128-extract.ll |
 | llvm/test/CodeGen/X86/fp128-i128.ll |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/test/CodeGen/X86/soft-fp.ll |
 | llvm/test/CodeGen/X86/fp128-g.ll |
Commit
4f5d931c5813a5f89250b427b2d3e8c63e03a0c6
by kazu[JumpThreading] Refactor ThreadEdge Summary: This patch moves various checks from ThreadEdge to new function TryThreadEdge The rational behind this is that I'd like to use ThreadEdge without its checks in my upcoming patch. This patch preserves lightweight checks as assertions in ThreadEdge. ThreadEdge does not repeat the cost check, however. Reviewers: wmi Subscribers: hiraditya, jfb, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70338
|
 | llvm/lib/Transforms/Scalar/JumpThreading.cpp |
 | llvm/include/llvm/Transforms/Scalar/JumpThreading.h |
Commit
44fe1f024d542bb7d286f9dd03ef35ad474399bd
by Jonas Devlieghere[test] Mark TestEditline as skipped with ASan. As discussed in https://reviews.llvm.org/D70324.
|
 | lldb/packages/Python/lldbsuite/test/terminal/TestEditline.py |
Commit
b26d9e417d2d4dbb47f6e967926dbb31f6d7a4b4
by Jonas Devlieghere[Reproducer] Instruct users to replay reproducer Improve the message printed when LLDB crashes by asking the user to replay the reproducer before attaching it to a bugreport.. ******************** Crash reproducer for lldb version 10.0.0 (git@github.com:llvm/llvm-project.git revision ...) clang revision ... llvm revision ... Reproducer written to '/path/to/reproducer' Before attaching the reproducer to a bug report: - Look at the directory to ensure you're willing to share its content. - Make sure the reproducer works by replaying the reproducer. Replay the reproducer with the following command: ./bin/lldb -replay /path/to/reproducer ********************
|
 | lldb/tools/driver/Driver.cpp |
Commit
bb090bb1cad28cef1ad74c8ca986f3f5643eb6d9
by Jonas Devlieghere[Reproducer] Make 'reproducer xcrash' behave the same during capture & replay There's no point in preventing this command from running during replay. We should simulate the same crash as during capture.
|
 | lldb/source/Commands/CommandObjectReproducer.cpp |
Commit
6c2e4e88010827034250fcec0840c84dca4cc354
by Jonas Devlieghere[Driver] Fix newline at the end of help output Print a regular newline at the end of the help output. The current string literal seems to throw off shells.
|
 | lldb/tools/driver/Driver.cpp |
Commit
f8ff3d7ebd8499cad896b2e934fbc9d7412ba823
by a.bataev[OPENMP]Remove unused template parameter, NFC.
|
 | clang/lib/CodeGen/CGOpenMPRuntime.cpp |
 | clang/include/clang/Basic/OpenMPKinds.h |
 | clang/include/clang/Sema/Sema.h |
Commit
844d97f650a2d716e63e3be903c32a82f2f817b1
by Vedant KumarClang-trunk Generates Wrong Debug values with -O1 Bit-Tracking Dead Code Elimination (bdce) do not mark dbg.value as undef after deleting instruction. which shows invalid state of variable in debugger. This patches fixes this by marking the dbg.value as undef which depends on dead instruction. This fixes https://bugs.llvm.org/show_bug.cgi?id=41925 Patch by kamlesh kumar! Differential Revision: https://reviews.llvm.org/D70040
|
 | llvm/lib/Transforms/Scalar/BDCE.cpp |
 | llvm/test/Transforms/BDCE/pr41925.ll |
Commit
52e377497ddc3aa7178d4fd4c0cda096df4d8a72
by yamauchi[PGO][PGSO] DAG.shouldOptForSize part. Summary: (Split of off D67120) SelectionDAG::shouldOptForSize changes for profile guided size optimization. Reviewers: davidxl Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70095
|
 | llvm/include/llvm/CodeGen/FastISel.h |
 | llvm/include/llvm/CodeGen/SelectionDAG.h |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp |
 | llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp |
 | llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp |
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
 | llvm/lib/Target/AArch64/AArch64InstrInfo.td |
 | llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp |
 | llvm/lib/Target/X86/X86ISelLowering.cpp |
 | llvm/lib/Target/X86/X86InstrInfo.td |
 | llvm/lib/Target/X86/X86ISelDAGToDAG.cpp |
 | llvm/include/llvm/CodeGen/SelectionDAGISel.h |
 | llvm/utils/TableGen/GlobalISelEmitter.cpp |
Commit
b8b57087d3a6954204c6c968fb3de1dc67a87c59
by luismarques[Object][RISCV] Fix R_RISCV_SET6 and R_RISCV_SUB6 relocations resolution Summary: These relocations had a suspicious resolution logic, given their name. This patch makes the resolution match the LLD one, which makes more sense. Reviewers: asb, lenary, HsiangKai, jrtc27 Reviewed By: HsiangKai Tags: #llvm Differential Revision: https://reviews.llvm.org/D70396
|
 | llvm/lib/Object/RelocationResolver.cpp |
Commit
f471eb8e99b564265a4bea326922263ff06cda40
by jdenny.ornl[FileCheck] Make FILECHECK_OPTS useful for its test suite Without this patch, `FILECHECK_OPTS` isn't propagated to FileCheck's test suite so that `FILECHECK_OPTS` doesn't inadvertently affect test results by affecting the output of FileCheck calls under test. As a result, `FILECHECK_OPTS` is useless for debugging FileCheck's test suite. In `llvm/test/FileCheck/lit.local.cfg`, this patch provides a new subsitution, `%ProtectFileCheckOutput`, to address this problem for both `FILECHECK_OPTS` and the deprecated `FILECHECK_DUMP_INPUT_ON_FAILURE`. The rest of the patch uses `%ProtectFileCheckOutput` throughout the test suite Fixes PR40284. Reviewed By: probinson, thopre Differential Revision: https://reviews.llvm.org/D65121
|
 | llvm/test/FileCheck/check-not-diaginfo.txt |
 | llvm/test/FileCheck/no-check-file.txt |
 | llvm/test/FileCheck/line-count.txt |
 | llvm/docs/TestingGuide.rst |
 | llvm/test/FileCheck/match-full-lines.txt |
 | llvm/test/FileCheck/numeric-defines.txt |
 | llvm/test/FileCheck/lit.local.cfg |
 | llvm/test/FileCheck/var-scope.txt |
 | llvm/test/FileCheck/check-label-dag.txt |
 | llvm/test/FileCheck/check-empty-tag.txt |
 | llvm/test/FileCheck/multiple-missing-prefixes.txt |
 | llvm/test/FileCheck/check-count.txt |
 | llvm/test/FileCheck/envvar-opts.txt |
 | llvm/test/FileCheck/numeric-expression.txt |
 | llvm/test/FileCheck/string-defines.txt |
 | llvm/test/FileCheck/check-ignore-case.txt |
 | llvm/test/FileCheck/validate-check-prefix.txt |
 | llvm/test/FileCheck/no-multi-suffixes.txt |
 | llvm/test/FileCheck/check-empty.txt |
 | llvm/test/FileCheck/check-prefixes.txt |
 | llvm/test/FileCheck/string-defines-diagnostics.txt |
 | llvm/test/FileCheck/implicit-check-not.txt |
 | llvm/test/FileCheck/verbose.txt |
 | llvm/test/FileCheck/check-multiple-prefixes-nomatch-2.txt |
 | llvm/test/FileCheck/dump-input-enable.txt |
 | llvm/test/FileCheck/check-label.txt |
 | llvm/test/FileCheck/check-multiple-prefixes-nomatch.txt |
 | llvm/test/FileCheck/dump-input-annotations.txt |
 | llvm/test/FileCheck/numeric-defines-diagnostics.txt |
 | llvm/test/FileCheck/opt-color.txt |
Commit
8293f7434577e23a07284686f5b54079e22e6a91
by listmailFurther cleanup manipulation of widenable branches [NFC] This is a follow on to aaea24802bf5. In post commit discussion, Artur and I realized we could cleanup the code using Uses; this patch does so.
|
 | llvm/lib/Analysis/GuardUtils.cpp |
 | llvm/include/llvm/Analysis/GuardUtils.h |
 | llvm/lib/Transforms/Utils/GuardUtils.cpp |
Commit
0163329dbd6c687453a27f72e21512a8c151c5b3
by julian.lettner[TSan] Make `mach_vm_allocate.c` test less flaky rdar://57365733
|
 | compiler-rt/test/tsan/Darwin/mach_vm_allocate.c |
Commit
16d9f44fd154b409b1c7f0876ba7c767b60cb3da
by mvanotti[libFuzzer] Fix fd check in DupAndCloseStderr. Summary: This commit fixes the check in the return value from the `DuplicateFile` function, which returns a new file descriptor. `DuplicateFile` can return 0 if that file descriptor is available (for example, if stdin has already been closed). In particular, this could cause a bug with the `-close_fd_mask` flag in some platforms: just call the fuzzer with stdin closed and the `-close_fd_mask=2` flag, and stderr will not be muted. Example fuzzer: ``` extern "C" int LLVMFuzzerTestOneInput(const uint8_t* Data, size_t Size) { fprintf(stderr, "STDERR\n"); fprintf(stdout, "STDOUT\n"); return 0; } ``` Invocation (muting both stderr and stdout): ``` ./test -close_fd_mask=3 -runs=1 0<&- INFO: Seed: 1155116940 INFO: Loaded 1 modules (1 inline 8-bit counters): 1 [0x48b020, 0x48b021), INFO: Loaded 1 PC tables (1 PCs): 1 [0x478dc8,0x478dd8), INFO: -max_len is not provided; libFuzzer will not generate inputs larger than 4096 bytes STDERR INFO: A corpus is not provided, starting from an empty corpus STDERR Done 2 runs in 0 second(s) ``` Reviewers: mcgrathr, jakehehrlich, phosek, kcc, aarongreen Subscribers: #sanitizers, llvm-commits Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D68775
|
 | compiler-rt/lib/fuzzer/FuzzerIO.cpp |
Commit
75434366cec161ee532ee0ec3dcb5ebeb588d9df
by david.tellenbach[AArch64] [FrameLowering] Allow conditional insertion of CFI instruction Summary: The insertion of most CFI instructions during AArch64 frame lowering can be disabled (e.g. using the function attribute `nounwind`). This patch enables conditional insertion for one more CFI instruction. Reviewers: t.p.northover, ostannard Reviewed By: ostannard Subscribers: kristof.beyls, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D70129
|
 | llvm/lib/Target/AArch64/AArch64FrameLowering.cpp |
 | llvm/test/CodeGen/AArch64/arm64-blockaddress.ll |
 | llvm/test/CodeGen/AArch64/no_cfi.ll |
Commit
7bf721e59c54aba854ab81cc6fc92db30446cfda
by luismarques[Object][RISCV] Resolve R_RISCV_32_PCREL Summary: Add support for resolving `R_RISCV_32_PCREL` relocations. Those aren't actually resolved AFAIK, but support is still needed to avoid llvm-dwarfdump errors. The use of these relocations was introduced in D66419 but the corresponding resolving wasn't added then. The test adds a check that should catch future unresolved relocations. Reviewers: asb, lenary Reviewed By: asb Tags: #llvm Differential Revision: https://reviews.llvm.org/D70204
|
 | llvm/test/DebugInfo/RISCV/relax-debug-frame.ll |
 | llvm/lib/Object/RelocationResolver.cpp |
Commit
bc8e88e974550dc7a8000d526df6dadb12b54bc0
by Adrian PrantlEarly-exitify ClangASTContext::AddObjCClassProperty() (NFC)
|
 | lldb/source/Symbol/ClangASTContext.cpp |
Commit
dfb7a9091affce6e5a8fdb017b4e2d58675bb9b0
by listmail[LoopPred] Robustly handle partially unswitched loops We may end up with a case where we have a widenable branch above the loop, but not all widenable branches within the loop have been removed. Since a widenable branch inhibit SCEVs ability to reason about exit counts (by design), we have a tradeoff between effectiveness of this optimization and allowing future widening of the branches within the loop. LoopPred is thought to be one of the most important optimizations for range check elimination, so let's pay the cost.
|
 | llvm/test/Transforms/LoopPredication/predicate-exits.ll |
 |