FailedChanges

Summary

  1. [Hexagon] Handle S2_storerf_io in HexagonInstrInfo
  2. [Hexagon] Misc fixes in HexagonInstrInfo, NFC Formatting changes + remove unused function.
  3. [Hexagon] Adjust latency between allocframe and the first store on stack Allocframe and the following stores on the stack have a latency of 2 cycles when not in the same packet. This happens because R29 is needed early by the store instruction. Since one of such stores can be packetized along with allocframe and use old value of R29, we can assign it 0 cycle latency while leaving latency of other stores to the default value of 2 cycles. Patch by Jyotsna Verma.
  4. [Hexagon] Handle J2_jumptpt and J2_jumpfpt in HexagonInstrInfo
  5. [Hexagon] Implement undoing .cur instructions in packetizer The packetizer needs to convert .cur instruction to its regular form if the use is not in the same packet as the .cur. The code in the packetizer handles one type of .cur, which is the vector load case. This patch updates the packetizer so that it can undo all the .cur instructions. In the test case, the .cur is the 128B version, but there are also the post-increment versions. Patch by Brendon Cahoon.
  6. [OpenMP] Extended parse for 'always' map modifier https://reviews.llvm.org/D32807 This patch allows the map modifier 'always' to be separated by the map type (to, from, tofrom) only by a whitespace, rather than strictly by a comma as in current trunk.
  7. [Hexagon] Add memory operands to a rewritten load
  8. [Hexagon] Reset spill alignment when variable-sized objects are present
  9. [X86][LWP] Add llvm support for LWP instructions. This patch adds support for the the LightWeight Profiling (LWP) instructions which are available on all AMD Bulldozer class CPUs (bdver1 to bdver4). Differential Revision: https://reviews.llvm.org/D32769
  10. Don't attempt to use mpx registers on unsupported platforms Summary: The existing cpp-level checks using PR_MPX_ENABLE_MANAGEMENT aren't sufficient, as this isn't defined for linux kernel versions below 3.19. Reviewers: valentinagiusti, zturner, labath Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D32719
  11. CMake: Add LLVM_DYLIB_SYMBOL_VERSIONING option Summary: When apps or other libraries link against a library with symbol versions, the version string is recorded in the import table, and used at runtime to resolve the symbol back to a library that provides that version (vaguely like how two-level namespaces work in Mach-O). ld's --default-symver flag tags every exported symbol with a symbol version string equal to the library's soname. Using --default-symver means multiple versions of libLLVM can coexist within the same process, at least to the extent that they don't try to pass data between each other's llvms. As an example, imagine a language like Rust using llvm for CPU codegen, binding to OpenGL, with Mesa as the OpenGL implementation using llvm for R600 codegen. With --default-symver Rust and Mesa will resolve their llvm usage to the version each was linked against, which need not match. (Other ELF platforms like BSD and Solaris might have similar semantics, I've not checked.) This is based on an autoconf version of this patch by Adam Jackson. This new option can be used to add --default-symver to the linker flags for libLLVM.so. Reviewers: beanz Reviewed By: beanz Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D30997
Revision 302036 by kparzysz:
[Hexagon] Handle S2_storerf_io in HexagonInstrInfo
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp
Revision 302035 by kparzysz:
[Hexagon] Misc fixes in HexagonInstrInfo, NFC

Formatting changes + remove unused function.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp
Revision 302034 by kparzysz:
[Hexagon] Adjust latency between allocframe and the first store on stack

Allocframe and the following stores on the stack have a latency of 2 cycles
when not in the same packet. This happens because R29 is needed early by the
store instruction. Since one of such stores can be packetized along with
allocframe and use old value of R29, we can assign it 0 cycle latency
while leaving latency of other stores to the default value of 2 cycles.

Patch by Jyotsna Verma.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp
The file was added/llvm/trunk/test/CodeGen/Hexagon/adjust-latency-stackST.llllvm-revision.src/llvm/trunk/test/CodeGen/Hexagon/adjust-latency-stackST.ll
Revision 302033 by kparzysz:
[Hexagon] Handle J2_jumptpt and J2_jumpfpt in HexagonInstrInfo
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp
Revision 302032 by kparzysz:
[Hexagon] Implement undoing .cur instructions in packetizer

The packetizer needs to convert .cur instruction to its regular form if
the use is not in the same packet as the .cur. The code in the packetizer
handles one type of .cur, which is the vector load case. This patch
updates the packetizer so that it can undo all the .cur instructions.
In the test case, the .cur is the 128B version, but there are also the
post-increment versions.

Patch by Brendon Cahoon.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.h (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.h
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
Revision 302031 by cbertol:
[OpenMP] Extended parse for 'always' map modifier

https://reviews.llvm.org/D32807

This patch allows the map modifier 'always' to be separated by the map type (to, from, tofrom) only by a whitespace, rather than strictly by a comma as in current trunk.
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/lib/Parse/ParseOpenMP.cpp (diff)llvm-revision.src/cfe/trunk/lib/Parse/ParseOpenMP.cpp
The file was modified/cfe/trunk/test/OpenMP/target_ast_print.cpp (diff)llvm-revision.src/cfe/trunk/test/OpenMP/target_ast_print.cpp
The file was modified/cfe/trunk/test/OpenMP/target_map_messages.cpp (diff)llvm-revision.src/cfe/trunk/test/OpenMP/target_map_messages.cpp
Revision 302030 by kparzysz:
[Hexagon] Add memory operands to a rewritten load
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp
Revision 302029 by kparzysz:
[Hexagon] Reset spill alignment when variable-sized objects are present
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/Hexagon/HexagonInstrInfo.cpp
Revision 302028 by rksimon:
[X86][LWP] Add llvm support for LWP instructions.

This patch adds support for the the LightWeight Profiling (LWP) instructions which are available on all AMD Bulldozer class CPUs (bdver1 to bdver4).

Differential Revision: https://reviews.llvm.org/D32769
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/IR/IntrinsicsX86.td (diff)llvm-revision.src/llvm/trunk/include/llvm/IR/IntrinsicsX86.td
The file was modified/llvm/trunk/lib/Support/Host.cpp (diff)llvm-revision.src/llvm/trunk/lib/Support/Host.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86.td (diff)llvm-revision.src/llvm/trunk/lib/Target/X86/X86.td
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.h (diff)llvm-revision.src/llvm/trunk/lib/Target/X86/X86ISelLowering.h
The file was modified/llvm/trunk/lib/Target/X86/X86InstrInfo.td (diff)llvm-revision.src/llvm/trunk/lib/Target/X86/X86InstrInfo.td
The file was modified/llvm/trunk/lib/Target/X86/X86Schedule.td (diff)llvm-revision.src/llvm/trunk/lib/Target/X86/X86Schedule.td
The file was modified/llvm/trunk/lib/Target/X86/X86Subtarget.cpp (diff)llvm-revision.src/llvm/trunk/lib/Target/X86/X86Subtarget.cpp
The file was modified/llvm/trunk/lib/Target/X86/X86Subtarget.h (diff)llvm-revision.src/llvm/trunk/lib/Target/X86/X86Subtarget.h
The file was added/llvm/trunk/test/CodeGen/X86/lwp-intrinsics-x86_64.llllvm-revision.src/llvm/trunk/test/CodeGen/X86/lwp-intrinsics-x86_64.ll
The file was added/llvm/trunk/test/CodeGen/X86/lwp-intrinsics.llllvm-revision.src/llvm/trunk/test/CodeGen/X86/lwp-intrinsics.ll
The file was modified/llvm/trunk/test/MC/Disassembler/X86/x86-32.txt (diff)llvm-revision.src/llvm/trunk/test/MC/Disassembler/X86/x86-32.txt
The file was modified/llvm/trunk/test/MC/Disassembler/X86/x86-64.txt (diff)llvm-revision.src/llvm/trunk/test/MC/Disassembler/X86/x86-64.txt
The file was added/llvm/trunk/test/MC/X86/lwp-x86_64.sllvm-revision.src/llvm/trunk/test/MC/X86/lwp-x86_64.s
The file was added/llvm/trunk/test/MC/X86/lwp.sllvm-revision.src/llvm/trunk/test/MC/X86/lwp.s
Revision 302027 by fjricci:
Don't attempt to use mpx registers on unsupported platforms

Summary:
The existing cpp-level checks using PR_MPX_ENABLE_MANAGEMENT aren't sufficient,
as this isn't defined for linux kernel versions below 3.19.

Reviewers: valentinagiusti, zturner, labath

Subscribers: lldb-commits

Differential Revision: https://reviews.llvm.org/D32719
Change TypePath in RepositoryPath in Workspace
The file was modified/lldb/trunk/packages/Python/lldbsuite/test/functionalities/register/intel_xtended_registers/main.cpp (diff)llvm-revision.src/lldb/trunk/packages/Python/lldbsuite/test/functionalities/register/intel_xtended_registers/main.cpp
The file was modified/lldb/trunk/packages/Python/lldbsuite/test/functionalities/register/intel_xtended_registers/mpx_bound_violation/main.cpp (diff)llvm-revision.src/lldb/trunk/packages/Python/lldbsuite/test/functionalities/register/intel_xtended_registers/mpx_bound_violation/main.cpp
Revision 302026 by tstellar:
CMake: Add LLVM_DYLIB_SYMBOL_VERSIONING option

Summary:
When apps or other libraries link against a library with symbol
versions, the version string is recorded in the import table, and used
at runtime to resolve the symbol back to a library that provides that
version (vaguely like how two-level namespaces work in Mach-O).  ld's
--default-symver flag tags every exported symbol with a symbol version
string equal to the library's soname.  Using --default-symver means
multiple versions of libLLVM can coexist within the same process, at
least to the extent that they don't try to pass data between each
other's llvms.

As an example, imagine a language like Rust using llvm for CPU codegen,
binding to OpenGL, with Mesa as the OpenGL implementation using llvm for
R600 codegen.  With --default-symver Rust and Mesa will resolve their
llvm usage to the version each was linked against, which need not match.

(Other ELF platforms like BSD and Solaris might have similar semantics,
I've not checked.)

This is based on an autoconf version of this patch by Adam Jackson.

This new option can be used to add --default-symver to the linker flags
for libLLVM.so.

Reviewers: beanz

Reviewed By: beanz

Subscribers: mgorny, llvm-commits

Differential Revision: https://reviews.llvm.org/D30997
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/CMakeLists.txt (diff)llvm-revision.src/llvm/trunk/CMakeLists.txt
The file was modified/llvm/trunk/tools/llvm-shlib/CMakeLists.txt (diff)llvm-revision.src/llvm/trunk/tools/llvm-shlib/CMakeLists.txt