Revision
366781
by uenoku:
[AMDGPU][NFC] Simplify test file for amdgcn intrinsics Summary: Remove unchecked attribute in the call site and use FileCheck String Substitution for `convergent` check. Reviewers: nhaehnle Reviewed By: nhaehnle Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64901 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll (diff) | llvm.src/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll |
Revision
366780
by mstorsjo:
[COFF] Unbreak sorting of mingw comdat .tls sections after SVN r363457 Code built for mingw with -fdata-sections will store each TLS variable in a comdat section, named .tls$$<varname>. Normal TLS variables are stored in sections named .tls$ with a trailing dollar, which are sorted after a starter marker (in a later linked object file) in a section named ".tls" (with no dollar suffix), before an ending marker in a section named ".tls$ZZZ". The mingw comdat section suffix stripping introduced in SVN r363457 broke sorting of such tls sections, ending up sorting the stripped .tls$$<varname> sections (stripped to ".tls") before the start marker in the section named ".tls". We could add exceptions to the section name suffix stripping for .tls (and .CRT, where suffixes always should be honored), but the more conservative option is probably the reverse; to only apply the stripping for the normal sections where sorting shouldn't have any effect. Differential Revision: https://reviews.llvm.org/D65018 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /lld/trunk/COFF/Writer.cpp (diff) | lld.src/COFF/Writer.cpp |
 | /lld/trunk/test/COFF/tls_suffix_sorting.s | lld.src/test/COFF/tls_suffix_sorting.s |
Revision
366779
by ctopper:
[DAGCombiner] Make ShrinkLoadReplaceStoreWithStore return an SDValue instead of an SDNode*. NFCI The function was calling getNode() on an SDValue to return and the caller turned the result back into a SDValue. So just return the original SDValue to avoid this. |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff) | llvm.src/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
Revision
366778
by ctopper:
[DAGCombiner] Use SDNode::isOperandOf to simplify some code. NFCI |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp (diff) | llvm.src/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
Revision
366777
by codafi:
[LLVM-C] Improve Bindings to The Internalize Pass Summary: Adds a binding to the internalize pass that allows the caller to pass a function pointer that acts as the visibility-preservation predicate. Previously, one could only pass an unsigned value (not LLVMBool?) that directed the pass to consider "main" or not. Reviewers: whitequark, deadalnix, harlanhaskins Reviewed By: whitequark, harlanhaskins Subscribers: kren1, hiraditya, llvm-commits, harlanhaskins Tags: #llvm Differential Revision: https://reviews.llvm.org/D62456 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/include/llvm-c/Transforms/IPO.h (diff) | llvm.src/include/llvm-c/Transforms/IPO.h |
 | /llvm/trunk/lib/Transforms/IPO/IPO.cpp (diff) | llvm.src/lib/Transforms/IPO/IPO.cpp |
Revision
366776
by marshall:
Implement most of P1612R1: Relocate endian. Moves the std::endian functionality from 'type-traits' to 'bit'. No other change. The reason that this is 'partial' is that P1621 also recommends a feature-test macro, but I don't have the value for that one yet. In a month or so, I'll add that |
Change Type | Path in Repository | Path in Workspace |
---|
 | /libcxx/trunk/include/bit (diff) | libcxx.src/include/bit |
 | /libcxx/trunk/include/type_traits (diff) | libcxx.src/include/type_traits |
 | /libcxx/trunk/test/std/numerics/bit/bit.endian | libcxx.src/test/std/numerics/bit/bit.endian |
 | /libcxx/trunk/test/std/numerics/bit/bit.endian/endian.pass.cpp | libcxx.src/test/std/numerics/bit/bit.endian/endian.pass.cpp |
 | /libcxx/trunk/test/std/utilities/meta/meta.type.synop/endian.pass.cpp | libcxx.src/test/std/utilities/meta/meta.type.synop/endian.pass.cpp |
Revision
366775
by wuzish:
[PowerPC] Replace float load/store pair with integer load/store pair when it's only used in load/store Replace float load/store pair with integer load/store pair when it's only used in load/store, because float load/store instructions cost more cycles then integer load/store. A typical scenario is when there is a call with more than 13 float arguments passing, we need pass them by stack. So we need a load/store pair to do such memory operation if the variable is global variable. Differential Revision: https://reviews.llvm.org/D64195 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/Target/PowerPC/PPCISelLowering.h (diff) | llvm.src/lib/Target/PowerPC/PPCISelLowering.h |
 | /llvm/trunk/test/CodeGen/PowerPC/float-load-store-pair.ll (diff) | llvm.src/test/CodeGen/PowerPC/float-load-store-pair.ll |
 | /llvm/trunk/test/CodeGen/PowerPC/ppc64-smallarg.ll (diff) | llvm.src/test/CodeGen/PowerPC/ppc64-smallarg.ll |
 | /llvm/trunk/test/CodeGen/PowerPC/ppc64le-smallarg.ll (diff) | llvm.src/test/CodeGen/PowerPC/ppc64le-smallarg.ll |
 | /llvm/trunk/test/CodeGen/PowerPC/pwr7-gt-nop.ll (diff) | llvm.src/test/CodeGen/PowerPC/pwr7-gt-nop.ll |
Revision
366774
by rtrieu:
Inline function call into assert to fix unused variable warning. |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff) | llvm.src/lib/Transforms/IPO/Attributor.cpp |
Revision
366773
by rtrieu:
Move variable out from debug only section. MFI is no longer just needed for an assert. Move it out of the debug only section to allow non-assert builds to be able to find it. |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/CodeGen/SelectionDAG/StatepointLowering.cpp (diff) | llvm.src/lib/CodeGen/SelectionDAG/StatepointLowering.cpp |
Revision
366772
by smeenai:
[llvm-lipo] Implement -info Prints architecture type of all input files. Patch by Anusha Basana <anusha.basana@gmail.com> Differential Revision: https://reviews.llvm.org/D64668 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/test/tools/llvm-lipo/info-invalid.test | llvm.src/test/tools/llvm-lipo/info-invalid.test |
 | /llvm/trunk/test/tools/llvm-lipo/info.test | llvm.src/test/tools/llvm-lipo/info.test |
 | /llvm/trunk/tools/llvm-lipo/LipoOpts.td (diff) | llvm.src/tools/llvm-lipo/LipoOpts.td |
 | /llvm/trunk/tools/llvm-lipo/llvm-lipo.cpp (diff) | llvm.src/tools/llvm-lipo/llvm-lipo.cpp |
Revision
366769
by sstefan:
Fixing build error from commit 95cbc3d [Attributor] Liveness analysis. Liveness analysis abstract attribute used to indicate which BasicBlocks are dead and can therefore be ignored. Right now we are only looking at noreturn calls. Reviewers: jdoerfert, uenoku Subscribers: hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D64162 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/include/llvm/Transforms/IPO/Attributor.h (diff) | llvm.src/include/llvm/Transforms/IPO/Attributor.h |
 | /llvm/trunk/include/llvm/Transforms/Utils/Local.h (diff) | llvm.src/include/llvm/Transforms/Utils/Local.h |
 | /llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff) | llvm.src/lib/Transforms/IPO/Attributor.cpp |
 | /llvm/trunk/lib/Transforms/Utils/Local.cpp (diff) | llvm.src/lib/Transforms/Utils/Local.cpp |
 | /llvm/trunk/test/Transforms/FunctionAttrs/liveness.ll | llvm.src/test/Transforms/FunctionAttrs/liveness.ll |
Revision
366765
by reames:
[Statepoints] Fix a bug in statepoint lowering for functions w/no-realign-stack We were silently using the ABI alignment for all of the stores generated for deopt and gc values. We'd gotten the alignment of the stack slot itself properly reduced (via MachineFrameInfo's clamping), but having the MMO on the store incorrect was enough for us to generate an aligned store to a unaligned location. The simplest fix would have been to just pass the alignment to the helper function, but once we do that, the helper function doesn't really help. So, inline it and directly call the MMO version of DAG.getStore with a properly constructed MMO. Note that there's a separate performance possibility here. Even if we *can* realign stacks, we probably don't *want to* if all of the stores are in slowpaths. But that's a later patch, if at all. :) |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/CodeGen/SelectionDAG/StatepointLowering.cpp (diff) | llvm.src/lib/CodeGen/SelectionDAG/StatepointLowering.cpp |
 | /llvm/trunk/test/CodeGen/X86/statepoint-no-realign-stack.ll (diff) | llvm.src/test/CodeGen/X86/statepoint-no-realign-stack.ll |
Revision
366764
by pcc:
Fix pointer width in test from r366754. |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/test/Analysis/ConstantFolding/gep-alias.ll (diff) | llvm.src/test/Analysis/ConstantFolding/gep-alias.ll |
Revision
366763
by nico:
gn build: Wrap two comments to 80 columns |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn (diff) | llvm.src/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn |
Revision
366762
by jdevlieghere:
[DWARF] Add more error handling to debug line parser. This patch exnteds the error handling in the debug line parser to get rid of the existing MD5 assertion. I want to reuse the debug line parser from LLVM in LLDB where we cannot crash on invalid input. Differential revision: https://reviews.llvm.org/D64544 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugLine.cpp (diff) | llvm.src/lib/DebugInfo/DWARF/DWARFDebugLine.cpp |
 | /llvm/trunk/test/tools/llvm-dwarfdump/X86/Inputs/debug_line_malformed.s (diff) | llvm.src/test/tools/llvm-dwarfdump/X86/Inputs/debug_line_malformed.s |
 | /llvm/trunk/test/tools/llvm-dwarfdump/X86/debug_line_invalid.test (diff) | llvm.src/test/tools/llvm-dwarfdump/X86/debug_line_invalid.test |
 | /llvm/trunk/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp (diff) | llvm.src/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp |
Revision
366761
by zer0:
[NFC][clang] Refactor getCompilationPhases()+Types.def step 1. Moves list of phases into Types.def table: Currently Types.def contains a table of strings that are used to assemble a list of compilation phases to be setup in the clang driver's jobs pipeline. This change makes it so that the table itself contains the list of phases. A subsequent patch will remove the strings. Differential Revision: https://reviews.llvm.org/D64098 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /cfe/trunk/include/clang/Driver/Types.def (diff) | clang.src/include/clang/Driver/Types.def |
 | /cfe/trunk/include/clang/Driver/Types.h (diff) | clang.src/include/clang/Driver/Types.h |
 | /cfe/trunk/lib/Driver/Driver.cpp (diff) | clang.src/lib/Driver/Driver.cpp |
 | /cfe/trunk/lib/Driver/Types.cpp (diff) | clang.src/lib/Driver/Types.cpp |
Revision
366760
by reames:
[Statepoints] Add a test which shows a miscompile with no-realign-stacks |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/test/CodeGen/X86/statepoint-no-realign-stack.ll | llvm.src/test/CodeGen/X86/statepoint-no-realign-stack.ll |
Revision
366759
by sstefan:
Revert "Fixing build error from commit 9285295." This reverts commit 95cbc3da8871f43c1ce2b2926afaedcd826202b1. |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/include/llvm/Transforms/IPO/Attributor.h (diff) | llvm.src/include/llvm/Transforms/IPO/Attributor.h |
 | /llvm/trunk/include/llvm/Transforms/Utils/Local.h (diff) | llvm.src/include/llvm/Transforms/Utils/Local.h |
 | /llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff) | llvm.src/lib/Transforms/IPO/Attributor.cpp |
 | /llvm/trunk/lib/Transforms/Utils/Local.cpp (diff) | llvm.src/lib/Transforms/Utils/Local.cpp |
 | /llvm/trunk/test/Transforms/FunctionAttrs/liveness.ll | llvm.src/test/Transforms/FunctionAttrs/liveness.ll |
Revision
366755
by dblaikie:
llvm-objcopy/test: add REQUIRES: shell for use of umask (follow-up to r365162) |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test (diff) | llvm.src/test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test |
 | /llvm/trunk/test/tools/llvm-objcopy/ELF/respect-umask.test (diff) | llvm.src/test/tools/llvm-objcopy/ELF/respect-umask.test |
Revision
366754
by pcc:
Analysis: Don't look through aliases when simplifying GEPs. It is not safe in general to replace an alias in a GEP with its aliasee if the alias can be replaced with another definition (i.e. via strong/weak resolution (linkonce_odr) or via symbol interposition (default visibility in ELF)) while the aliasee cannot. An example of how this can go wrong is in the included test case. I was concerned that this might be a load-bearing misoptimization (it's possible for us to use aliases to share vtables between base and derived classes, and on Windows, vtable symbols will always be aliases in RTTI mode, so this change could theoretically inhibit trivial devirtualization in some cases), so I built Chromium for Linux and Windows with and without this change. The file sizes of the resulting binaries were identical, so it doesn't look like this is going to be a problem. Differential Revision: https://reviews.llvm.org/D65118 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/Analysis/ConstantFolding.cpp (diff) | llvm.src/lib/Analysis/ConstantFolding.cpp |
 | /llvm/trunk/test/Analysis/ConstantFolding/gep-alias.ll | llvm.src/test/Analysis/ConstantFolding/gep-alias.ll |
Revision
366753
by sstefan:
Fixing build error from commit 9285295. [Attributor] Liveness analysis. Liveness analysis abstract attribute used to indicate which BasicBlocks are dead and can therefore be ignored. Right now we are only looking at noreturn calls. Reviewers: jdoerfert, uenoku Subscribers: hiraditya, llvm-commits Differential revision: https://reviews.llvm.org/D64162 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/include/llvm/Transforms/IPO/Attributor.h (diff) | llvm.src/include/llvm/Transforms/IPO/Attributor.h |
 | /llvm/trunk/include/llvm/Transforms/Utils/Local.h (diff) | llvm.src/include/llvm/Transforms/Utils/Local.h |
 | /llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff) | llvm.src/lib/Transforms/IPO/Attributor.cpp |
 | /llvm/trunk/lib/Transforms/Utils/Local.cpp (diff) | llvm.src/lib/Transforms/Utils/Local.cpp |
 | /llvm/trunk/test/Transforms/FunctionAttrs/liveness.ll | llvm.src/test/Transforms/FunctionAttrs/liveness.ll |
Revision
366752
by lebedevri:
[NFC][PatternMatch] Refactor code into a proper "matcher for any integral constant" Having it as a proper matcher is better for reusability elsewhere (in a follow-up patch.) |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/include/llvm/IR/PatternMatch.h (diff) | llvm.src/include/llvm/IR/PatternMatch.h |
 | /llvm/trunk/lib/Transforms/InstCombine/InstCombineInternal.h (diff) | llvm.src/lib/Transforms/InstCombine/InstCombineInternal.h |
Revision
366751
by lebedevri:
[InstSimplify][NFC] Tests for skipping 'div-by-0' checks before @llvm.umul.with.overflow These may remain after @llvm.umul.with.overflow was canonicalized from the code that was originally doing the check via division. |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/test/Transforms/InstSimplify/div-by-0-guard-before-smul_ov.ll | llvm.src/test/Transforms/InstSimplify/div-by-0-guard-before-smul_ov.ll |
 | /llvm/trunk/test/Transforms/InstSimplify/div-by-0-guard-before-umul_ov.ll | llvm.src/test/Transforms/InstSimplify/div-by-0-guard-before-umul_ov.ll |
Revision
366750
by lebedevri:
[SimplifyCFG][NFC] Test that we fail to flatten CFG in JPEG "sign" value extend pattern This comes up in JPEG decoding, see e.g. Figure F.12 – Extending the sign bit of a decoded value in V of ITU T.81 (JPEG specification). |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/test/Transforms/SimplifyCFG/signbit-like-value-extension.ll | llvm.src/test/Transforms/SimplifyCFG/signbit-like-value-extension.ll |
Revision
366749
by lebedevri:
[SimplifyCFG][NFC] Test that we fail to flatten CFG after forming @llvm.umul.with.overflow Even if we formed @llvm.umul.with.overflow, we are still stuck with that guard against div-by-zero, which is no longer needed, because we didn't flatten the CFG. |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/test/Transforms/SimplifyCFG/unsigned-multiplication-will-overflow.ll | llvm.src/test/Transforms/SimplifyCFG/unsigned-multiplication-will-overflow.ll |
Revision
366748
by lebedevri:
[InstCombine][NFC] Tests for canonicalization of unsigned multiply overflow check |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/test/Transforms/InstCombine/unsigned-mul-lack-of-overflow-check-via-mul-udiv.ll | llvm.src/test/Transforms/InstCombine/unsigned-mul-lack-of-overflow-check-via-mul-udiv.ll |
 | /llvm/trunk/test/Transforms/InstCombine/unsigned-mul-lack-of-overflow-check-via-udiv-of-allones.ll | llvm.src/test/Transforms/InstCombine/unsigned-mul-lack-of-overflow-check-via-udiv-of-allones.ll |
 | /llvm/trunk/test/Transforms/InstCombine/unsigned-mul-overflow-check-via-mul-udiv.ll | llvm.src/test/Transforms/InstCombine/unsigned-mul-overflow-check-via-mul-udiv.ll |
 | /llvm/trunk/test/Transforms/InstCombine/unsigned-mul-overflow-check-via-udiv-of-allones.ll | llvm.src/test/Transforms/InstCombine/unsigned-mul-overflow-check-via-udiv-of-allones.ll |
Revision
366747
by lebedevri:
[NFC][PhaseOrdering] Add tests showcasing the problems of unsigned multiply overflow check While we can form the @llvm.mul.with.overflow easily, we are still left with that check that was guarding against div-by-0. And in the second case we won't even flatten the CFG. |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/test/Transforms/PhaseOrdering/unsigned-multiply-overflow-check.ll | llvm.src/test/Transforms/PhaseOrdering/unsigned-multiply-overflow-check.ll |
Revision
366746
by lebedevri:
[IndVarSimplify][NFC] Autogenerate check lines in loop_evaluate_1.ll Being affected by upcoming patch. |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/test/Transforms/IndVarSimplify/loop_evaluate_1.ll (diff) | llvm.src/test/Transforms/IndVarSimplify/loop_evaluate_1.ll |
Revision
366744
by vedantk:
[Driver] Set the default win32-macho debug format to DWARF rdar://53267670 Differential Revision: https://reviews.llvm.org/D65116 |
Change Type | Path in Repository | Path in Workspace |
---|
 | /cfe/trunk/lib/Driver/ToolChains/MSVC.h (diff) | clang.src/lib/Driver/ToolChains/MSVC.h |
 | /cfe/trunk/test/Misc/win32-macho.c (diff) | clang.src/test/Misc/win32-macho.c |
Revision
366743
by arsenm:
AMDGPU: Don't use SDNodeXForm for DS offset output The xform has no real valuewhen it's using out of a complex pattern output. The complex pattern was already creating TargetConstants with i16, so this was just unnecessary machinery. This allows global isel to import the simple cases once the complex pattern is implemented. |
Change Type | Path in Repository | Path in Workspace |
---|
 | /llvm/trunk/lib/Target/AMDGPU/DSInstructions.td (diff) | llvm.src/lib/Target/AMDGPU/DSInstructions.td |