SuccessChanges

Summary

  1. [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
  2. [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
  3. [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.
  4. [DAGCombiner] Use SDNode::isOperandOf to simplify some code. NFCI
  5. [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
  6. 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
  7. [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
  8. Inline function call into assert to fix unused variable warning.
  9. 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.
  10. [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
  11. 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
  12. [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. :)
  13. Fix pointer width in test from r366754.
  14. gn build: Wrap two comments to 80 columns
  15. [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
  16. [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
  17. [Statepoints] Add a test which shows a miscompile with no-realign-stacks
  18. Revert "Fixing build error from commit 9285295." This reverts commit 95cbc3da8871f43c1ce2b2926afaedcd826202b1.
  19. llvm-objcopy/test: add REQUIRES: shell for use of umask (follow-up to r365162)
  20. 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
  21. 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
  22. [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.)
  23. [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.
  24. [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).
  25. [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.
  26. [InstCombine][NFC] Tests for canonicalization of unsigned multiply overflow check
  27. [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.
  28. [IndVarSimplify][NFC] Autogenerate check lines in loop_evaluate_1.ll Being affected by upcoming patch.
  29. [Driver] Set the default win32-macho debug format to DWARF rdar://53267670 Differential Revision: https://reviews.llvm.org/D65116
  30. 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.
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 TypePath in RepositoryPath in Workspace
The file was modified/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 TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/COFF/Writer.cpp (diff)lld.src/COFF/Writer.cpp
The file was added/lld/trunk/test/COFF/tls_suffix_sorting.slld.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 TypePath in RepositoryPath in Workspace
The file was modified/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 TypePath in RepositoryPath in Workspace
The file was modified/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 TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm-c/Transforms/IPO.h (diff)llvm.src/include/llvm-c/Transforms/IPO.h
The file was modified/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 TypePath in RepositoryPath in Workspace
The file was modified/libcxx/trunk/include/bit (diff)libcxx.src/include/bit
The file was modified/libcxx/trunk/include/type_traits (diff)libcxx.src/include/type_traits
The file was added/libcxx/trunk/test/std/numerics/bit/bit.endianlibcxx.src/test/std/numerics/bit/bit.endian
The file was added/libcxx/trunk/test/std/numerics/bit/bit.endian/endian.pass.cpplibcxx.src/test/std/numerics/bit/bit.endian/endian.pass.cpp
The file was removed/libcxx/trunk/test/std/utilities/meta/meta.type.synop/endian.pass.cpplibcxx.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 TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCISelLowering.h (diff)llvm.src/lib/Target/PowerPC/PPCISelLowering.h
The file was modified/llvm/trunk/test/CodeGen/PowerPC/float-load-store-pair.ll (diff)llvm.src/test/CodeGen/PowerPC/float-load-store-pair.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/ppc64-smallarg.ll (diff)llvm.src/test/CodeGen/PowerPC/ppc64-smallarg.ll
The file was modified/llvm/trunk/test/CodeGen/PowerPC/ppc64le-smallarg.ll (diff)llvm.src/test/CodeGen/PowerPC/ppc64le-smallarg.ll
The file was modified/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 TypePath in RepositoryPath in Workspace
The file was modified/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 TypePath in RepositoryPath in Workspace
The file was modified/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 TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/tools/llvm-lipo/info-invalid.testllvm.src/test/tools/llvm-lipo/info-invalid.test
The file was added/llvm/trunk/test/tools/llvm-lipo/info.testllvm.src/test/tools/llvm-lipo/info.test
The file was modified/llvm/trunk/tools/llvm-lipo/LipoOpts.td (diff)llvm.src/tools/llvm-lipo/LipoOpts.td
The file was modified/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 TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/Attributor.h (diff)llvm.src/include/llvm/Transforms/IPO/Attributor.h
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/Local.h (diff)llvm.src/include/llvm/Transforms/Utils/Local.h
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/Local.cpp (diff)llvm.src/lib/Transforms/Utils/Local.cpp
The file was added/llvm/trunk/test/Transforms/FunctionAttrs/liveness.llllvm.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 TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/StatepointLowering.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
The file was modified/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 TypePath in RepositoryPath in Workspace
The file was modified/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 TypePath in RepositoryPath in Workspace
The file was modified/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 Jonas Devlieghere:
[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 TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugLine.cpp (diff)llvm.src/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
The file was modified/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
The file was modified/llvm/trunk/test/tools/llvm-dwarfdump/X86/debug_line_invalid.test (diff)llvm.src/test/tools/llvm-dwarfdump/X86/debug_line_invalid.test
The file was modified/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 TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Driver/Types.def (diff)clang.src/include/clang/Driver/Types.def
The file was modified/cfe/trunk/include/clang/Driver/Types.h (diff)clang.src/include/clang/Driver/Types.h
The file was modified/cfe/trunk/lib/Driver/Driver.cpp (diff)clang.src/lib/Driver/Driver.cpp
The file was modified/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 TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/X86/statepoint-no-realign-stack.llllvm.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 TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/Attributor.h (diff)llvm.src/include/llvm/Transforms/IPO/Attributor.h
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/Local.h (diff)llvm.src/include/llvm/Transforms/Utils/Local.h
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/Local.cpp (diff)llvm.src/lib/Transforms/Utils/Local.cpp
The file was removed/llvm/trunk/test/Transforms/FunctionAttrs/liveness.llllvm.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 TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test (diff)llvm.src/test/tools/llvm-objcopy/ELF/mirror-permissions-unix.test
The file was modified/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 TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/ConstantFolding.cpp (diff)llvm.src/lib/Analysis/ConstantFolding.cpp
The file was added/llvm/trunk/test/Analysis/ConstantFolding/gep-alias.llllvm.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 TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Transforms/IPO/Attributor.h (diff)llvm.src/include/llvm/Transforms/IPO/Attributor.h
The file was modified/llvm/trunk/include/llvm/Transforms/Utils/Local.h (diff)llvm.src/include/llvm/Transforms/Utils/Local.h
The file was modified/llvm/trunk/lib/Transforms/IPO/Attributor.cpp (diff)llvm.src/lib/Transforms/IPO/Attributor.cpp
The file was modified/llvm/trunk/lib/Transforms/Utils/Local.cpp (diff)llvm.src/lib/Transforms/Utils/Local.cpp
The file was added/llvm/trunk/test/Transforms/FunctionAttrs/liveness.llllvm.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 TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/PatternMatch.h (diff)llvm.src/include/llvm/IR/PatternMatch.h
The file was modified/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 TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/InstSimplify/div-by-0-guard-before-smul_ov.llllvm.src/test/Transforms/InstSimplify/div-by-0-guard-before-smul_ov.ll
The file was added/llvm/trunk/test/Transforms/InstSimplify/div-by-0-guard-before-umul_ov.llllvm.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 TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/SimplifyCFG/signbit-like-value-extension.llllvm.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 TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/SimplifyCFG/unsigned-multiplication-will-overflow.llllvm.src/test/Transforms/SimplifyCFG/unsigned-multiplication-will-overflow.ll
Revision 366748 by lebedevri:
[InstCombine][NFC] Tests for canonicalization of unsigned multiply overflow check
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/InstCombine/unsigned-mul-lack-of-overflow-check-via-mul-udiv.llllvm.src/test/Transforms/InstCombine/unsigned-mul-lack-of-overflow-check-via-mul-udiv.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/unsigned-mul-lack-of-overflow-check-via-udiv-of-allones.llllvm.src/test/Transforms/InstCombine/unsigned-mul-lack-of-overflow-check-via-udiv-of-allones.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/unsigned-mul-overflow-check-via-mul-udiv.llllvm.src/test/Transforms/InstCombine/unsigned-mul-overflow-check-via-mul-udiv.ll
The file was added/llvm/trunk/test/Transforms/InstCombine/unsigned-mul-overflow-check-via-udiv-of-allones.llllvm.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 TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/Transforms/PhaseOrdering/unsigned-multiply-overflow-check.llllvm.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 TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/Transforms/IndVarSimplify/loop_evaluate_1.ll (diff)llvm.src/test/Transforms/IndVarSimplify/loop_evaluate_1.ll
Revision 366744 by Vedant Kumar:
[Driver] Set the default win32-macho debug format to DWARF

rdar://53267670

Differential Revision: https://reviews.llvm.org/D65116
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Driver/ToolChains/MSVC.h (diff)clang.src/lib/Driver/ToolChains/MSVC.h
The file was modified/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 TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/DSInstructions.td (diff)llvm.src/lib/Target/AMDGPU/DSInstructions.td