FailedChanges

Summary

  1. [CaptureTracking] Don't let comparisons against null escape inbounds pointers Pointers that are in-bounds (either through dereferenceable_or_null or thorough a getelementptr inbounds) cannot be captured with a comparison against null. There is no way to construct a pointer that is still in bounds but also NULL. This helps safe languages that insert null checks before load/store instructions. Without this patch, almost all pointers would be considered captured even for simple loads. With this patch, an icmp with null will not be seen as escaping as long as certain conditions are met. There was a lot of discussion about this patch. See the Phabricator thread for detals. Differential Revision: https://reviews.llvm.org/D60047
  2. [bindings/go] Add wrappers for atomic operations. This patch adds Go bindings for atomic operations in LLVM. Differential Revision: https://reviews.llvm.org/D61034
  3. [X86] NFCI : Comment updation for EVEX to VEX translation. Reviewers: llvm-commits, jbhateja Reviewed By: jbhateja Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63055
  4. Use for-range loop. NFCI.
  5. [AArch64][GlobalISel] Select immediate forms of cmp instructions. A simple re-use of the immediate operand matcher and renderer functions. rdar://43795178
  6. [X86] Remove (store (f32 (extractelt (v4f32))) isel patterns which is redundant. We emit a MOVSSmr and a COPY_TO_REGCLASS, but that's what we would get from selecting the store and extractelt independently.
Revision 362900 by aykevl:
[CaptureTracking] Don't let comparisons against null escape inbounds pointers

Pointers that are in-bounds (either through dereferenceable_or_null or
thorough a getelementptr inbounds) cannot be captured with a comparison
against null. There is no way to construct a pointer that is still in
bounds but also NULL.

This helps safe languages that insert null checks before load/store
instructions. Without this patch, almost all pointers would be
considered captured even for simple loads. With this patch, an icmp with
null will not be seen as escaping as long as certain conditions are met.

There was a lot of discussion about this patch. See the Phabricator
thread for detals.

Differential Revision: https://reviews.llvm.org/D60047
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Analysis/CaptureTracking.cpp (diff)llvm.src/lib/Analysis/CaptureTracking.cpp
The file was modified/llvm/trunk/test/Transforms/FunctionAttrs/nocapture.ll (diff)llvm.src/test/Transforms/FunctionAttrs/nocapture.ll
Revision 362899 by aykevl:
[bindings/go] Add wrappers for atomic operations.

This patch adds Go bindings for atomic operations in LLVM.

Differential Revision: https://reviews.llvm.org/D61034
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/bindings/go/llvm/ir.go (diff)llvm.src/bindings/go/llvm/ir.go
Revision 362898 by Jatin Bhateja:
[X86] NFCI : Comment updation for EVEX to VEX translation.

Reviewers: llvm-commits, jbhateja

Reviewed By: jbhateja

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63055
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86EvexToVex.cpp (diff)llvm.src/lib/Target/X86/X86EvexToVex.cpp
Revision 362897 by rksimon:
Use for-range loop. 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 362896 by aemerson:
[AArch64][GlobalISel] Select immediate forms of cmp instructions.

A simple re-use of the immediate operand matcher and renderer functions.

rdar://43795178
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/AArch64/AArch64InstructionSelector.cpp (diff)llvm.src/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was modified/llvm/trunk/test/CodeGen/AArch64/GlobalISel/fold-fp-select.mir (diff)llvm.src/test/CodeGen/AArch64/GlobalISel/fold-fp-select.mir
The file was added/llvm/trunk/test/CodeGen/AArch64/GlobalISel/select-cmp.mirllvm.src/test/CodeGen/AArch64/GlobalISel/select-cmp.mir
Revision 362895 by ctopper:
[X86] Remove (store (f32 (extractelt (v4f32))) isel patterns which is redundant.

We emit a MOVSSmr and a COPY_TO_REGCLASS, but that's what we would get from
selecting the store and extractelt independently.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86InstrAVX512.td (diff)llvm.src/lib/Target/X86/X86InstrAVX512.td
The file was modified/llvm/trunk/lib/Target/X86/X86InstrSSE.td (diff)llvm.src/lib/Target/X86/X86InstrSSE.td