SuccessChanges

Summary

  1. AMDGPU: Remove pointless asserts
  2. [Driver][Darwin] Pass -munwind-table when !UseSjLjExceptions. This commit fixes a bug where clang/llvm doesn't emit an unwind table for a function when it is marked noexcept. Without this patch, the following code terminates with an uncaught exception on ARM64: int foo1() noexcept { try { throw 0; } catch (int i) { return 0; } return 1; } int main() { return foo1(); } rdar://problem/32411865 Differential Revision: https://reviews.llvm.org/D35693
  3. Use profile summary to disable peeling for huge working sets Summary: Detect when the working set size of a profiled application is huge, by comparing the number of counts required to reach the hot percentile in the profile summary to a large threshold*. When the working set size is determined to be huge, disable peeling to avoid bloating the working set further. *Note that the selected threshold (15K) is significantly larger than the largest working set value in SPEC cpu2006 (which is gcc at around 11K). Reviewers: davidxl Subscribers: mehdi_amini, mzolotukhin, eraman, llvm-commits Differential Revision: https://reviews.llvm.org/D36288
  4. AMDGPU: Don't use report_fatal_error for unsupported call types
  5. AMDGPU: Remove error on calls for amdgcn Repurpose the -amdgpu-function-calls flag. Rather than require it to emit a call, only use it to run the always inline path or not.
  6. AMDGPU: Fix implicitarg.ptr handling special inputs
  7. Support: WOA64 and WOA Signals Reviewers: rnk Differential Revision: https://reviews.llvm.org/D21813
  8. [llvm-pdbutil] Add an option to only dump specific module indices. Often something interesting (like a symbol) is in a particular module, and you don't want to dump symbols from all other 300 modules to see the one you want. This adds a -modi option so that we only dump the specified module.
  9. Enable AddressSanitizer for Fuchsia targets Patch by Roland McGrath Differential Revision: https://reviews.llvm.org/D35922
  10. AMDGPU: Pass special input registers to functions
  11. Fix typo.
  12. AMDGPU: Add analysis pass for function argument info This will allow only adding necessary inputs to callee functions that need special inputs forwarded from the kernel.
  13. [coverage] Special-case calls to noreturn functions. The code after a noreturn call doesn't execute. The pattern in the testcase is pretty common in LLVM (a switch with a default case that calls llvm_unreachable). Differential Revision: https://reviews.llvm.org/D36250
  14. [Inliner] Increase threshold for hot callsites without PGO. Summary: This increases the inlining threshold for hot callsites. Hotness is defined in terms of block frequency of the callsite relative to the caller's entry block's frequency. Since this requires BFI in the inliner, this only affects the new PM pipeline. This is enabled by default at -O3. This improves the performance of some internal benchmarks. Notably, an internal benchmark for Gipfeli compression (https://github.com/google/gipfeli) improves by ~7%. Povray in SPEC2006 improves by ~2.5%. I am running more experiments and will update the thread if other benchmarks show improvement/regression. In terms of text size, LLVM test-suite shows an 1.22% text size increase. Diving into the results, 13 of the benchmarks in the test-suite increases by > 10%. Most of these are small, but Adobe-C++/loop_unroll (17.6% increases) and tramp3d(20.7% size increase) have >250K text size. On a large application, the text size increases by 2% Reviewers: chandlerc, davidxl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36199
  15. [Mips] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC).
  16. DAG: Provide access to Pass instance from SelectionDAG This allows accessing an analysis pass during lowering.
  17. [GlobalISel] Make GlobalISel a non-optional library. With this change, the GlobalISel library gets always built. In particular, this is not possible to opt GlobalISel out of the build using the LLVM_BUILD_GLOBAL_ISEL variable any more.
  18. [NewGVN] Fix the case where we have a phi-of-ops which goes away. Patch by Daniel Berlin, fixes PR33196 (and probably something else).
  19. [PDB] Fix section contributions Summary: PDB section contributions are supposed to use output section indices and offsets, not input section indices and offsets. This allows the debugger to look up the index of the module that it should look up in the modules stream for symbol information. With this change, windbg can now find line tables, but it still cannot print local variables. Fixes PR34048 Reviewers: zturner Subscribers: hiraditya, ruiu, llvm-commits Differential Revision: https://reviews.llvm.org/D36285
  20. [LVI] Constant-propagate a zero extension of the switch condition value through case edges Summary: (This is a second attempt as https://reviews.llvm.org/D34822 was reverted.) LazyValueInfo currently computes the constant value of the switch condition through case edges, which allows the constant value to be propagated through the case edges. But we have seen a case where a zero-extended value of the switch condition is used past case edges for which the constant propagation doesn't occur. This patch adds a small logic to handle such a case in getEdgeValueLocal(). This is motivated by the Python 2.7 eval loop in PyEval_EvalFrameEx() where the lack of the constant propagation causes longer live ranges and more spill code than necessary. With this patch, we see that the code size of PyEval_EvalFrameEx() decreases by ~5.4% and a performance test improves by ~4.6%. Reviewers: sanjoy Reviewed By: sanjoy Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D36247
  21. Move unit test to the proper location Summary: Move test/CodeGen/AArch64/reg-bank-128bit.mir to test/CodeGen/AArch64/GlobalISel/reg-bank-128bit.mir so that the test is executed only when global-isel is enabled. lit.local.cfg under test/CodeGen/AArch64/GlobalISel checks if 'global-isel' is in the available_features while the same file under test/CodeGen/AArch64 doesn't. Reviewers: qcolombet, davide Reviewed By: davide Subscribers: davide, aemerson, javed.absar, igorb, kristof.beyls, llvm-commits Differential Revision: https://reviews.llvm.org/D36282
  22. Use "foo-12345.o" instead of "foo.o-12345" as temporary file name. This helps some tools that do things based on the output's extension. For example, we got reports from users on Windows that have a tool that scan a build output dir (but skip .obj files). The tool would keep the "foo.obj-12345" file open, and then when clang tried to rename the temp file to the final output filename, that would fail. By making the tempfile end in ".obj", tools like this will now skip the temp files as well. https://reviews.llvm.org/D36238
Revision 310007 by arsenm:
AMDGPU: Remove pointless asserts
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cppllvm.src/lib/Target/AMDGPU/SIISelLowering.cpp
Revision 310006 by ahatanak:
[Driver][Darwin] Pass -munwind-table when !UseSjLjExceptions.

This commit fixes a bug where clang/llvm doesn't emit an unwind table
for a function when it is marked noexcept. Without this patch, the
following code terminates with an uncaught exception on ARM64:

int foo1() noexcept {
  try {
    throw 0;
  } catch (int i) {
    return 0;
  }
  return 1;
}

int main() {
  return foo1();
}

rdar://problem/32411865

Differential Revision: https://reviews.llvm.org/D35693
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/include/clang/Driver/ToolChain.hclang.src/include/clang/Driver/ToolChain.h
The file was modified/cfe/trunk/lib/Driver/ToolChain.cppclang.src/lib/Driver/ToolChain.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Clang.cppclang.src/lib/Driver/ToolChains/Clang.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/CrossWindows.cppclang.src/lib/Driver/ToolChains/CrossWindows.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/CrossWindows.hclang.src/lib/Driver/ToolChains/CrossWindows.h
The file was modified/cfe/trunk/lib/Driver/ToolChains/Darwin.cppclang.src/lib/Driver/ToolChains/Darwin.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Darwin.hclang.src/lib/Driver/ToolChains/Darwin.h
The file was modified/cfe/trunk/lib/Driver/ToolChains/Gnu.cppclang.src/lib/Driver/ToolChains/Gnu.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Gnu.hclang.src/lib/Driver/ToolChains/Gnu.h
The file was modified/cfe/trunk/lib/Driver/ToolChains/MSVC.cppclang.src/lib/Driver/ToolChains/MSVC.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/MSVC.hclang.src/lib/Driver/ToolChains/MSVC.h
The file was modified/cfe/trunk/lib/Driver/ToolChains/MinGW.cppclang.src/lib/Driver/ToolChains/MinGW.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/MinGW.hclang.src/lib/Driver/ToolChains/MinGW.h
The file was modified/cfe/trunk/lib/Driver/ToolChains/NetBSD.hclang.src/lib/Driver/ToolChains/NetBSD.h
The file was modified/cfe/trunk/test/Driver/clang-translation.cclang.src/test/Driver/clang-translation.c
Revision 310005 by tejohnson:
Use profile summary to disable peeling for huge working sets

Summary:
Detect when the working set size of a profiled application is huge,
by comparing the number of counts required to reach the hot percentile
in the profile summary to a large threshold*.

When the working set size is determined to be huge, disable peeling
to avoid bloating the working set further.

*Note that the selected threshold (15K) is significantly larger than the
largest working set value in SPEC cpu2006 (which is gcc at around 11K).

Reviewers: davidxl

Subscribers: mehdi_amini, mzolotukhin, eraman, llvm-commits

Differential Revision: https://reviews.llvm.org/D36288
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/ProfileSummaryInfo.hllvm.src/include/llvm/Analysis/ProfileSummaryInfo.h
The file was modified/llvm/trunk/lib/Analysis/ProfileSummaryInfo.cppllvm.src/lib/Analysis/ProfileSummaryInfo.cpp
The file was modified/llvm/trunk/lib/Transforms/Scalar/LoopUnrollPass.cppllvm.src/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was modified/llvm/trunk/test/Other/new-pm-defaults.llllvm.src/test/Other/new-pm-defaults.ll
The file was modified/llvm/trunk/test/Other/new-pm-thinlto-defaults.llllvm.src/test/Other/new-pm-thinlto-defaults.ll
The file was modified/llvm/trunk/test/Transforms/LoopUnroll/peel-loop-pgo.llllvm.src/test/Transforms/LoopUnroll/peel-loop-pgo.ll
Revision 310004 by arsenm:
AMDGPU: Don't use report_fatal_error for unsupported call types
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelLowering.cppllvm.src/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelLowering.hllvm.src/lib/Target/AMDGPU/AMDGPUISelLowering.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cppllvm.src/lib/Target/AMDGPU/SIISelLowering.cpp
The file was removed/llvm/trunk/test/CodeGen/AMDGPU/call.llllvm.src/test/CodeGen/AMDGPU/call.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/promote-alloca-bitcast-function.llllvm.src/test/CodeGen/AMDGPU/promote-alloca-bitcast-function.ll
The file was added/llvm/trunk/test/CodeGen/AMDGPU/unsupported-calls.llllvm.src/test/CodeGen/AMDGPU/unsupported-calls.ll
Revision 310003 by arsenm:
AMDGPU: Remove error on calls for amdgcn

Repurpose the -amdgpu-function-calls flag. Rather
than require it to emit a call, only use it to
run the always inline path or not.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetMachine.cppllvm.src/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetMachine.hllvm.src/lib/Target/AMDGPU/AMDGPUTargetMachine.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cppllvm.src/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/basic-call-return.llllvm.src/test/CodeGen/AMDGPU/basic-call-return.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/byval-frame-setup.llllvm.src/test/CodeGen/AMDGPU/byval-frame-setup.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/call-argument-types.llllvm.src/test/CodeGen/AMDGPU/call-argument-types.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/call-encoding.llllvm.src/test/CodeGen/AMDGPU/call-encoding.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/call-graph-register-usage.llllvm.src/test/CodeGen/AMDGPU/call-graph-register-usage.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/call-preserved-registers.llllvm.src/test/CodeGen/AMDGPU/call-preserved-registers.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/call-return-types.llllvm.src/test/CodeGen/AMDGPU/call-return-types.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/call.llllvm.src/test/CodeGen/AMDGPU/call.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/callee-frame-setup.llllvm.src/test/CodeGen/AMDGPU/callee-frame-setup.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/callee-special-input-sgprs.llllvm.src/test/CodeGen/AMDGPU/callee-special-input-sgprs.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/callee-special-input-vgprs.llllvm.src/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/frame-index-elimination.llllvm.src/test/CodeGen/AMDGPU/frame-index-elimination.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.implicitarg.ptr.llllvm.src/test/CodeGen/AMDGPU/llvm.amdgcn.implicitarg.ptr.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/mem-builtins.llllvm.src/test/CodeGen/AMDGPU/mem-builtins.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/nested-calls.llllvm.src/test/CodeGen/AMDGPU/nested-calls.ll
The file was removed/llvm/trunk/test/CodeGen/AMDGPU/private-memory-broken.llllvm.src/test/CodeGen/AMDGPU/private-memory-broken.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/promote-alloca-bitcast-function.llllvm.src/test/CodeGen/AMDGPU/promote-alloca-bitcast-function.ll
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/promote-alloca-calling-conv.llllvm.src/test/CodeGen/AMDGPU/promote-alloca-calling-conv.ll
Revision 310002 by arsenm:
AMDGPU: Fix implicitarg.ptr handling special inputs
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cppllvm.src/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.hllvm.src/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cppllvm.src/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIMachineFunctionInfo.cppllvm.src/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
The file was modified/llvm/trunk/test/CodeGen/AMDGPU/llvm.amdgcn.implicitarg.ptr.llllvm.src/test/CodeGen/AMDGPU/llvm.amdgcn.implicitarg.ptr.ll
Revision 310001 by martell:
Support: WOA64 and WOA Signals

Reviewers: rnk

Differential Revision: https://reviews.llvm.org/D21813
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Support/Windows/Signals.incllvm.src/lib/Support/Windows/Signals.inc
Revision 310000 by zturner:
[llvm-pdbutil] Add an option to only dump specific module indices.

Often something interesting (like a symbol) is in a particular
module, and you don't want to dump symbols from all other 300
modules to see the one you want.  This adds a -modi option so that
we only dump the specified module.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/tools/llvm-pdbutil/DumpOutputStyle.cppllvm.src/tools/llvm-pdbutil/DumpOutputStyle.cpp
The file was modified/llvm/trunk/tools/llvm-pdbutil/llvm-pdbutil.cppllvm.src/tools/llvm-pdbutil/llvm-pdbutil.cpp
The file was modified/llvm/trunk/tools/llvm-pdbutil/llvm-pdbutil.hllvm.src/tools/llvm-pdbutil/llvm-pdbutil.h
Revision 309999 by phosek:
Enable AddressSanitizer for Fuchsia targets

Patch by Roland McGrath

Differential Revision: https://reviews.llvm.org/D35922
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/cmake/caches/Fuchsia-stage2.cmakeclang.src/cmake/caches/Fuchsia-stage2.cmake
The file was modified/cfe/trunk/lib/Driver/SanitizerArgs.cppclang.src/lib/Driver/SanitizerArgs.cpp
The file was modified/cfe/trunk/lib/Driver/ToolChains/Fuchsia.cppclang.src/lib/Driver/ToolChains/Fuchsia.cpp
The file was modified/cfe/trunk/test/Driver/fuchsia.cclang.src/test/Driver/fuchsia.c
Revision 309998 by arsenm:
AMDGPU: Pass special input registers to functions
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUCallLowering.cppllvm.src/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelLowering.cppllvm.src/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelLowering.hllvm.src/lib/Target/AMDGPU/AMDGPUISelLowering.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIFrameLowering.cppllvm.src/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.cppllvm.src/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIISelLowering.hllvm.src/lib/Target/AMDGPU/SIISelLowering.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIInstrInfo.cppllvm.src/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIMachineFunctionInfo.cppllvm.src/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIMachineFunctionInfo.hllvm.src/lib/Target/AMDGPU/SIMachineFunctionInfo.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIRegisterInfo.cppllvm.src/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/SIRegisterInfo.hllvm.src/lib/Target/AMDGPU/SIRegisterInfo.h
The file was added/llvm/trunk/test/CodeGen/AMDGPU/callee-special-input-sgprs.llllvm.src/test/CodeGen/AMDGPU/callee-special-input-sgprs.ll
The file was added/llvm/trunk/test/CodeGen/AMDGPU/callee-special-input-vgprs.llllvm.src/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
Revision 309997 by echristo:
Fix typo.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/ScheduleDAGInstrs.cppllvm.src/lib/CodeGen/ScheduleDAGInstrs.cpp
Revision 309996 by arsenm:
AMDGPU: Add analysis pass for function argument info

This will allow only adding necessary inputs to callee functions
that need special inputs forwarded from the kernel.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPU.hllvm.src/lib/Target/AMDGPU/AMDGPU.h
The file was added/llvm/trunk/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cppllvm.src/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp
The file was added/llvm/trunk/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.hllvm.src/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cppllvm.src/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetMachine.cppllvm.src/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/CMakeLists.txtllvm.src/lib/Target/AMDGPU/CMakeLists.txt
Revision 309995 by efriedma:
[coverage] Special-case calls to noreturn functions.

The code after a noreturn call doesn't execute.

The pattern in the testcase is pretty common in LLVM (a switch with
a default case that calls llvm_unreachable).

Differential Revision: https://reviews.llvm.org/D36250
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/CodeGen/CoverageMappingGen.cppclang.src/lib/CodeGen/CoverageMappingGen.cpp
The file was modified/cfe/trunk/test/CoverageMapping/switch.cppclang.src/test/CoverageMapping/switch.cpp
Revision 309994 by eraman:
[Inliner] Increase threshold for hot callsites without PGO.

Summary:
This increases the inlining threshold for hot callsites. Hotness is
defined in terms of block frequency of the callsite relative to the
caller's entry block's frequency. Since this requires BFI in the
inliner, this only affects the new PM pipeline. This is enabled by
default at -O3.

This improves the performance of some internal benchmarks. Notably, an
internal benchmark for Gipfeli compression
(https://github.com/google/gipfeli) improves by ~7%. Povray in SPEC2006
improves by ~2.5%. I am running more experiments and will update the
thread if other benchmarks show improvement/regression.

In terms of text size, LLVM test-suite shows an 1.22% text size
increase. Diving into the results, 13 of the benchmarks in the
test-suite increases by > 10%. Most of these are small, but
Adobe-C++/loop_unroll (17.6% increases) and tramp3d(20.7% size increase)
have >250K text size. On a large application, the text size increases by
2%

Reviewers: chandlerc, davidxl

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D36199
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Analysis/InlineCost.hllvm.src/include/llvm/Analysis/InlineCost.h
The file was modified/llvm/trunk/lib/Analysis/InlineCost.cppllvm.src/lib/Analysis/InlineCost.cpp
Revision 309993 by eugenezelenko:
[Mips] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC).
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Mips/Disassembler/MipsDisassembler.cppllvm.src/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
The file was modified/llvm/trunk/lib/Target/Mips/Mips16HardFloat.cppllvm.src/lib/Target/Mips/Mips16HardFloat.cpp
The file was modified/llvm/trunk/lib/Target/Mips/Mips16InstrInfo.cppllvm.src/lib/Target/Mips/Mips16InstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/Mips/Mips16InstrInfo.hllvm.src/lib/Target/Mips/Mips16InstrInfo.h
The file was modified/llvm/trunk/lib/Target/Mips/MipsAnalyzeImmediate.cppllvm.src/lib/Target/Mips/MipsAnalyzeImmediate.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsAnalyzeImmediate.hllvm.src/lib/Target/Mips/MipsAnalyzeImmediate.h
The file was modified/llvm/trunk/lib/Target/Mips/MipsAsmPrinter.cppllvm.src/lib/Target/Mips/MipsAsmPrinter.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsAsmPrinter.hllvm.src/lib/Target/Mips/MipsAsmPrinter.h
The file was modified/llvm/trunk/lib/Target/Mips/MipsConstantIslandPass.cppllvm.src/lib/Target/Mips/MipsConstantIslandPass.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsDelaySlotFiller.cppllvm.src/lib/Target/Mips/MipsDelaySlotFiller.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsFastISel.cppllvm.src/lib/Target/Mips/MipsFastISel.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsHazardSchedule.cppllvm.src/lib/Target/Mips/MipsHazardSchedule.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsISelLowering.cppllvm.src/lib/Target/Mips/MipsISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsISelLowering.hllvm.src/lib/Target/Mips/MipsISelLowering.h
The file was modified/llvm/trunk/lib/Target/Mips/MipsInstrInfo.cppllvm.src/lib/Target/Mips/MipsInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsInstrInfo.hllvm.src/lib/Target/Mips/MipsInstrInfo.h
The file was modified/llvm/trunk/lib/Target/Mips/MipsLongBranch.cppllvm.src/lib/Target/Mips/MipsLongBranch.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsMCInstLower.cppllvm.src/lib/Target/Mips/MipsMCInstLower.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsMCInstLower.hllvm.src/lib/Target/Mips/MipsMCInstLower.h
The file was modified/llvm/trunk/lib/Target/Mips/MipsOptimizePICCall.cppllvm.src/lib/Target/Mips/MipsOptimizePICCall.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsRegisterInfo.cppllvm.src/lib/Target/Mips/MipsRegisterInfo.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsRegisterInfo.hllvm.src/lib/Target/Mips/MipsRegisterInfo.h
The file was modified/llvm/trunk/lib/Target/Mips/MipsSEFrameLowering.cppllvm.src/lib/Target/Mips/MipsSEFrameLowering.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsSEFrameLowering.hllvm.src/lib/Target/Mips/MipsSEFrameLowering.h
The file was modified/llvm/trunk/lib/Target/Mips/MipsSEISelLowering.cppllvm.src/lib/Target/Mips/MipsSEISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/Mips/MipsSEISelLowering.hllvm.src/lib/Target/Mips/MipsSEISelLowering.h
Revision 309991 by arsenm:
DAG: Provide access to Pass instance from SelectionDAG

This allows accessing an analysis pass during lowering.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/CodeGen/SelectionDAG.hllvm.src/include/llvm/CodeGen/SelectionDAG.h
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cppllvm.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cppllvm.src/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Revision 309990 by qcolombet:
[GlobalISel] Make GlobalISel a non-optional library.

With this change, the GlobalISel library gets always built. In
particular, this is not possible to opt GlobalISel out of the build
using the LLVM_BUILD_GLOBAL_ISEL variable any more.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/CMakeLists.txtllvm.src/CMakeLists.txt
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/CMakeLists.txtllvm.src/lib/CodeGen/GlobalISel/CMakeLists.txt
The file was modified/llvm/trunk/lib/CodeGen/GlobalISel/GlobalISel.cppllvm.src/lib/CodeGen/GlobalISel/GlobalISel.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64CallLowering.cppllvm.src/lib/Target/AArch64/AArch64CallLowering.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64GenRegisterBankInfo.defllvm.src/lib/Target/AArch64/AArch64GenRegisterBankInfo.def
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstructionSelector.cppllvm.src/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64LegalizerInfo.cppllvm.src/lib/Target/AArch64/AArch64LegalizerInfo.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64RegisterBankInfo.cppllvm.src/lib/Target/AArch64/AArch64RegisterBankInfo.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64Subtarget.cppllvm.src/lib/Target/AArch64/AArch64Subtarget.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64TargetMachine.cppllvm.src/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/AArch64/CMakeLists.txtllvm.src/lib/Target/AArch64/CMakeLists.txt
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUCallLowering.cppllvm.src/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUGenRegisterBankInfo.defllvm.src/lib/Target/AMDGPU/AMDGPUGenRegisterBankInfo.def
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPULegalizerInfo.cppllvm.src/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cppllvm.src/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUSubtarget.cppllvm.src/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/AMDGPUTargetMachine.cppllvm.src/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/AMDGPU/CMakeLists.txtllvm.src/lib/Target/AMDGPU/CMakeLists.txt
The file was modified/llvm/trunk/lib/Target/ARM/ARMCallLowering.cppllvm.src/lib/Target/ARM/ARMCallLowering.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMInstructionSelector.cppllvm.src/lib/Target/ARM/ARMInstructionSelector.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMLegalizerInfo.cppllvm.src/lib/Target/ARM/ARMLegalizerInfo.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMRegisterBankInfo.cppllvm.src/lib/Target/ARM/ARMRegisterBankInfo.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMSubtarget.cppllvm.src/lib/Target/ARM/ARMSubtarget.cpp
The file was modified/llvm/trunk/lib/Target/ARM/ARMTargetMachine.cppllvm.src/lib/Target/ARM/ARMTargetMachine.cpp
The file was modified/llvm/trunk/lib/Target/ARM/CMakeLists.txtllvm.src/lib/Target/ARM/CMakeLists.txt
The file was modified/llvm/trunk/lib/Target/X86/CMakeLists.txtllvm.src/lib/Target/X86/CMakeLists.txt
The file was modified/llvm/trunk/lib/Target/X86/X86CallLowering.cppllvm.src/lib/Target/X86/X86CallLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86GenRegisterBankInfo.defllvm.src/lib/Target/X86/X86GenRegisterBankInfo.def
The file was modified/llvm/trunk/lib/Target/X86/X86InstructionSelector.cppllvm.src/lib/Target/X86/X86InstructionSelector.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86LegalizerInfo.cppllvm.src/lib/Target/X86/X86LegalizerInfo.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86RegisterBankInfo.cppllvm.src/lib/Target/X86/X86RegisterBankInfo.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86Subtarget.cppllvm.src/lib/Target/X86/X86Subtarget.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86TargetMachine.cppllvm.src/lib/Target/X86/X86TargetMachine.cpp
The file was modified/llvm/trunk/tools/llvm-config/CMakeLists.txtllvm.src/tools/llvm-config/CMakeLists.txt
The file was modified/llvm/trunk/unittests/CodeGen/GlobalISel/CMakeLists.txtllvm.src/unittests/CodeGen/GlobalISel/CMakeLists.txt
Revision 309988 by davide:
[NewGVN] Fix the case where we have a phi-of-ops which goes away.

Patch by Daniel Berlin, fixes PR33196 (and probably something else).
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Transforms/Scalar/NewGVN.cppllvm.src/lib/Transforms/Scalar/NewGVN.cpp
The file was added/llvm/trunk/test/Transforms/NewGVN/pr33196.llllvm.src/test/Transforms/NewGVN/pr33196.ll
Revision 309987 by rnk:
[PDB] Fix section contributions

Summary:
PDB section contributions are supposed to use output section indices and
offsets, not input section indices and offsets.

This allows the debugger to look up the index of the module that it
should look up in the modules stream for symbol information. With this
change, windbg can now find line tables, but it still cannot print local
variables.

Fixes PR34048

Reviewers: zturner

Subscribers: hiraditya, ruiu, llvm-commits

Differential Revision: https://reviews.llvm.org/D36285
Change TypePath in RepositoryPath in Workspace
The file was modified/lld/trunk/COFF/PDB.cppN/A
The file was modified/lld/trunk/COFF/PDB.hN/A
The file was modified/lld/trunk/COFF/Writer.cppN/A
The file was modified/lld/trunk/test/COFF/pdb-publics-import.testN/A
The file was modified/lld/trunk/test/COFF/pdb.testN/A
The file was modified/llvm/trunk/include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.hllvm.src/include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h
The file was modified/llvm/trunk/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cppllvm.src/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp
Revision 309986 by yamauchi:
[LVI] Constant-propagate a zero extension of the switch condition value through case edges

Summary:
(This is a second attempt as https://reviews.llvm.org/D34822 was reverted.)

LazyValueInfo currently computes the constant value of the switch condition through case edges, which allows the constant value to be propagated through the case edges.

But we have seen a case where a zero-extended value of the switch condition is used past case edges for which the constant propagation doesn't occur.

This patch adds a small logic to handle such a case in getEdgeValueLocal().

This is motivated by the Python 2.7 eval loop in PyEval_EvalFrameEx() where the lack of the constant propagation causes longer live ranges and more spill code than necessary.

With this patch, we see that the code size of PyEval_EvalFrameEx() decreases by ~5.4% and a performance test improves by ~4.6%.

Reviewers: sanjoy

Reviewed By: sanjoy

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D36247
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/LazyValueInfo.cppllvm.src/lib/Analysis/LazyValueInfo.cpp
The file was modified/llvm/trunk/test/Transforms/CorrelatedValuePropagation/range.llllvm.src/test/Transforms/CorrelatedValuePropagation/range.ll
Revision 309985 by twoh:
Move unit test to the proper location

Summary: Move test/CodeGen/AArch64/reg-bank-128bit.mir to test/CodeGen/AArch64/GlobalISel/reg-bank-128bit.mir so that the test is executed only when global-isel is enabled. lit.local.cfg under test/CodeGen/AArch64/GlobalISel checks if 'global-isel' is in the available_features while the same file under test/CodeGen/AArch64 doesn't.

Reviewers: qcolombet, davide

Reviewed By: davide

Subscribers: davide, aemerson, javed.absar, igorb, kristof.beyls, llvm-commits

Differential Revision: https://reviews.llvm.org/D36282
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/AArch64/GlobalISel/reg-bank-128bit.mirllvm.src/test/CodeGen/AArch64/GlobalISel/reg-bank-128bit.mir
The file was removed/llvm/trunk/test/CodeGen/AArch64/reg-bank-128bit.mirllvm.src/test/CodeGen/AArch64/reg-bank-128bit.mir
Revision 309984 by nico:
Use "foo-12345.o" instead of "foo.o-12345" as temporary file name.

This helps some tools that do things based on the output's extension.

For example, we got reports from users on Windows that have a tool that scan a
build output dir (but skip .obj files). The tool would keep the "foo.obj-12345"
file open, and then when clang tried to rename the temp file to the final
output filename, that would fail. By making the tempfile end in ".obj", tools
like this will now skip the temp files as well.

https://reviews.llvm.org/D36238
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Frontend/CompilerInstance.cppclang.src/lib/Frontend/CompilerInstance.cpp