hanchenye-llvm-project/llvm
Craig Topper 35f55d72f6 [X86] Remove IntrArgMemOnly from target specific gather/scatter intrinsics
IntrArgMemOnly implies that only memory pointed to by pointer typed arguments will be accessed. But these intrinsics allow you to pass null to the pointer argument and put the full address into the index argument. Other passes won't be able to understand this.

A colleague found that ISPC was creating gathers like this and then dead store elimination removed some stores because it didn't understand what the gather was doing since the pointer argument was null.

Differential Revision: https://reviews.llvm.org/D58805

llvm-svn: 355228
2019-03-01 21:02:40 +00:00
..
benchmarks
bindings [bindings/go] Fix building on 32-bit systems (ARM etc.) 2019-02-16 22:33:10 +00:00
cmake CMake: Fix stand-alone clang builds since r353268 2019-02-20 01:11:05 +00:00
docs [Tablegen] Add support for the !mul operator. 2019-03-01 09:46:29 +00:00
examples [Kaleidoscope] Fix symbol resolver to search in reverse order. 2019-02-21 16:53:04 +00:00
include [X86] Remove IntrArgMemOnly from target specific gather/scatter intrinsics 2019-03-01 21:02:40 +00:00
lib [DWARF] Make -g with empty assembler source work better. 2019-03-01 20:58:04 +00:00
projects
resources
runtimes [CMake][runtimes] Set clang-header dependency for builtins 2019-02-20 23:06:10 +00:00
test [X86] Remove IntrArgMemOnly from target specific gather/scatter intrinsics 2019-03-01 21:02:40 +00:00
tools [DWARF] Make -g with empty assembler source work better. 2019-03-01 20:58:04 +00:00
unittests [ValueTracking] Known bits support for unsigned saturating add/sub 2019-03-01 20:07:04 +00:00
utils [TableGen][SelectionDAG][X86] Add specific isel matchers for immAllZerosV/immAllOnesV. Remove bitcasts from X86 patterns that are no longer necessary. 2019-03-01 20:18:38 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore [clangd] Store index in '.clangd/index' instead of '.clangd-index' 2019-02-20 19:08:06 +00:00
CMakeLists.txt [CMake] Honor LLVM_EXTERNAL_<proj>_SOURCE_DIR 2019-02-22 21:19:48 +00:00
CODE_OWNERS.TXT
CREDITS.TXT [NFC] Add to contributor list. 2019-02-26 05:46:45 +00:00
LICENSE.TXT
LLVMBuild.txt
README.txt Testing commit access 2019-02-19 20:38:51 +00:00
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.