hanchenye-llvm-project/llvm/lib
Daniel Neilson a894201313 [InlineFunction] Update deprecated use of IRBuilder CreateMemCpy (NFC)
Summary:
This change is part of step five in the series of changes to remove alignment argument from
memcpy/memmove/memset in favour of alignment attributes. In particular, this changes the
InlineFunction pass to ceause using the old IRBuilder CreateMemCpy single-alignment API
in favour of the new API that allows setting source and destination alignments independently.

Steps:
Step 1) Remove alignment parameter and create alignment parameter attributes for
memcpy/memmove/memset. ( rL322965, rC322964, rL322963 )
Step 2) Expand the IRBuilder API to allow creation of memcpy/memmove with differing
source and dest alignments. ( rL323597 )
Step 3) Update Clang to use the new IRBuilder API. ( rC323617 )
Step 4) Update Polly to use the new IRBuilder API. ( rL323618 )
Step 5) Update LLVM passes that create memcpy/memmove calls to use the new IRBuilder API,
and those that use use MemIntrinsicInst::[get|set]Alignment() to use [get|set]DestAlignment()
and [get|set]SourceAlignment() instead. ( rL323886, rL323891, rL324148, rL324273, rL324278 )
Step 6) Remove the single-alignment IRBuilder API for memcpy/memmove, and the
MemIntrinsicInst::[get|set]Alignment() methods.

Reference
   http://lists.llvm.org/pipermail/llvm-dev/2015-August/089384.html
   http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20151109/312083.html

llvm-svn: 324384
2018-02-06 19:14:31 +00:00
..
Analysis [InstCombine][ValueTracking] Match non-uniform constant power-of-two vectors 2018-02-06 18:39:23 +00:00
AsmParser LLParser: add an argument for overriding data layout and do not check alloca addr space 2018-01-30 22:32:39 +00:00
BinaryFormat [Support] Move DJB hash to support. NFC 2018-01-28 11:05:10 +00:00
Bitcode Re-land "[ThinLTO] Add call edges' relative block frequency to per-module summary." 2018-01-25 19:27:17 +00:00
CodeGen [DAG, X86] Improve Dependency analysis when doing multi-node 2018-02-06 16:14:29 +00:00
DebugInfo [DWARF] Regularize dumping strings from line tables. 2018-02-05 20:43:15 +00:00
Demangle
ExecutionEngine [ORC] Rename NullResolver to NullLegacyResolver. 2018-02-03 16:52:48 +00:00
FuzzMutate [llvm-opt-fuzzer] Avoid adding incorrect inputs to the fuzzer corpus 2018-02-05 11:05:47 +00:00
Fuzzer
IR LTO: Include dso-local bit in ThinLTO cache key. 2018-02-05 17:17:51 +00:00
IRReader LLParser: add an argument for overriding data layout and do not check alloca addr space 2018-01-30 22:32:39 +00:00
LTO [ThinLTO] Remove dead and dropped symbol declarations when possible 2018-02-06 00:43:39 +00:00
LineEditor
Linker [IRMover] Add comment and fix test case 2018-01-25 08:35:52 +00:00
MC [MC] Fix assembler infinite loop on EH table using LEB padding. 2018-02-01 00:25:19 +00:00
Object [RISCV] Add ELFObjectFileBase::getRISCVFeatures let llvm-objdump could get RISCV target feature 2018-02-02 06:01:02 +00:00
ObjectYAML CodeGen: support an extension to pass linker options on ELF 2018-01-30 16:29:29 +00:00
Option [Option] For typo '-foo', suggest '--foo' 2018-01-09 19:38:04 +00:00
Passes Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00
ProfileData
Support [ADT] Replace sys::MemoryFence with standard atomics. 2018-02-01 20:28:33 +00:00
TableGen [TblGen] Inline an (almost) trivial accessor. No functionality change. 2018-01-23 23:03:50 +00:00
Target [AMDGPU] removed dead code handling rmw in memory legalizer 2018-02-06 19:11:56 +00:00
Testing
ToolDrivers [COFF] Keep the underscore on exported decorated stdcall functions in MSVC mode 2018-01-20 11:44:32 +00:00
Transforms [InlineFunction] Update deprecated use of IRBuilder CreateMemCpy (NFC) 2018-02-06 19:14:31 +00:00
WindowsManifest
XRay [XRay] clarify error messages when parsing broken traces 2018-01-30 13:41:34 +00:00
CMakeLists.txt
LLVMBuild.txt