OSDN Git Service

Add writeonly IR attribute
authorNicolai Haehnle <nhaehnle@gmail.com>
Mon, 4 Jul 2016 08:01:29 +0000 (08:01 +0000)
committerNicolai Haehnle <nhaehnle@gmail.com>
Mon, 4 Jul 2016 08:01:29 +0000 (08:01 +0000)
commitb07f5404567484379450db2135cdc56ba08ebb00
tree85ada6277883420d7c9b8aa5b9fce14cd59359cd
parent061feda889306e89211087d63c4ebf4ef91a8446
Add writeonly IR attribute

Summary:
This complements the earlier addition of IntrWriteMem and IntrWriteArgMem
LLVM intrinsic properties, see D18291.

Also start using the attribute for memset, memcpy, and memmove intrinsics,
and remove their special-casing in BasicAliasAnalysis.

Reviewers: reames, joker.eph

Subscribers: joker.eph, llvm-commits

Differential Revision: http://reviews.llvm.org/D18714

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274485 91177308-0d34-0410-b5e6-96231b3b80d8
30 files changed:
docs/LangRef.rst
include/llvm/Analysis/AliasAnalysis.h
include/llvm/Bitcode/LLVMBitCodes.h
include/llvm/IR/Attributes.td
include/llvm/IR/CallSite.h
include/llvm/IR/Function.h
include/llvm/IR/Instructions.h
include/llvm/IR/Intrinsics.td
lib/Analysis/AliasAnalysis.cpp
lib/Analysis/BasicAliasAnalysis.cpp
lib/AsmParser/LLLexer.cpp
lib/AsmParser/LLParser.cpp
lib/AsmParser/LLToken.h
lib/Bitcode/Reader/BitcodeReader.cpp
lib/Bitcode/Writer/BitcodeWriter.cpp
lib/IR/Attributes.cpp
lib/IR/Verifier.cpp
test/Analysis/BasicAA/cs-cs.ll
test/Bindings/llvm-c/Inputs/invalid.ll.bc
test/Bindings/llvm-c/invalid-bitcode.test
test/Bitcode/attributes.ll
test/Bitcode/compatibility.ll
test/Bitcode/invalid.ll
test/Bitcode/invalid.ll.bc
test/LTO/X86/Inputs/invalid.ll.bc
test/LTO/X86/invalid.ll
test/Verifier/writeonly.ll [new file with mode: 0644]
utils/TableGen/CodeGenIntrinsics.h
utils/TableGen/CodeGenTarget.cpp
utils/TableGen/IntrinsicEmitter.cpp