[llvm-dev] [PATCH] D41675: Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1)
Philip Reames via llvm-dev
llvm-dev at lists.llvm.org
Mon Jan 29 11:38:39 PST 2018
This seems like a reasonable proposal for any param alignment
attribute. I don't see a reason to restrict this to the memory intrinsics.
On 01/24/2018 07:40 PM, Daniel Neilson via llvm-dev wrote:
> Good question. AFAIK, the IR-printer doesn’t understand the semantics
> of parameter attributes. In this case, it only knows that there is an
> attribute on the parameter that is integer valued (with value 1) and
> that has the name “align”, so it prints it out. If we don’t want it
> printing out ‘align 1’ then it’s up to us to not set the alignment
> parameter attribute to a value if that value would be 1.
>
> If preferred, it would be easy enough to change the behaviour for the
> memory intrinsics to only set the attribute to a value if an alignment
> greater than 1 is supplied. It’d keep the text in the IR a little
> cleaner/cleaner, and not change functionality…
>
> Thoughts/opinions, anyone?
>
> -Daniel
>
>> On Jan 24, 2018, at 9:24 PM, Alexandre Isoard
>> <alexandre.isoard at gmail.com <mailto:alexandre.isoard at gmail.com>> wrote:
>>
>> Yes, all that is correct.
>>
>> My question is more a long term question: why do the .ll printer
>> specify the alignment if it is equivalent to the default one?
>> That is, it seems the sed script expect the printer to not specify it
>> (this would match the load/store behavior), but the ll-printer does
>> specify it, which either means the printer is not ideal on this case
>> and I should fix it, or in this case the ABI alignment is not what I
>> think it is, then I should fix the test-cases.
>>
>> I'm not sure which side is correct.
>>
>> On Wed, Jan 24, 2018 at 7:11 PM, Daniel Neilson<dneilson at azul.com
>> <mailto:dneilson at azul.com>>wrote:
>>
>> Hi Alexandre,
>> Before the change you would have been expecting one of the
>> following, correct?
>> a) call void @llvm.memcpy.p3i8.p1i8.i64(i8 addrspace(3)* bitcast
>> ([512 x float] addrspace(3)* [[SPM0]] to i8 addrspace(3)*), i8
>> addrspace(1)* [[APTR]], i64 2048, i32 0, i1 false)
>> b) call void @llvm.memcpy.p3i8.p1i8.i64(i8 addrspace(3)* bitcast
>> ([512 x float] addrspace(3)* [[SPM0]] to i8 addrspace(3)*), i8
>> addrspace(1)* [[APTR]], i64 2048, i32 1, i1 false)
>>
>> Functionally, (a) & (b) are both saying that the src & dest
>> pointers are 1-byte aligned; i.e. they’re both basically saying
>> “I don’t really have any better information on alignment, so
>> we’ll go with 1-byte aligned since it can’t be less aligned than
>> that”
>>
>> After the patch, you’re seeing:
>> i) call void @llvm.memcpy.p3i8.p1i8.i64(i8 addrspace(3)* align 1
>> bitcast ([512 x float] addrspace(3)* [[SPM0]] to i8
>> addrspace(3)*), i8 align 1 addrspace(1)* [[APTR]], i64 2048, i1
>> false)
>> but your IR test, that you ran the sed script on, is saying to
>> expect:
>> ii) call void @llvm.memcpy.p3i8.p1i8.i64(i8 addrspace(3)*
>> bitcast ([512 x float] addrspace(3)* [[SPM0]] to i8
>> addrspace(3)*), i8 addrspace(1)* [[APTR]], i64 2048, i1 false)
>>
>> Is that correct? Just like (a) & (b), both (i) & (ii) are
>> functionally equivalent.
>>
>> The script rule that would have changed that was:
>> s~call void @llvm\.mem(cpy|move)\.p([^(]*)i64\(i8([^*]*)\* (.*),
>> i8([^*]*)\* (.*), i64 (.*), i32 [01], i1 ([^)]*)\)~call void
>> @llvm.mem\1.p\2i64(i8\3* \4, i8\5* \6, i64 \7, i1 \8)~g
>>
>> It was converting both (a) and (b) into (ii). If that’s not what
>> you’re seeing/wanting, then you can just add the ‘align 1’s into
>> your test’s CHECK pattern, or alter the sed script by
>> changing “..., i32 [01], i1...” into “..., i32 0, i1…"
>>
>> -Daniel
>>
>>> On Jan 24, 2018, at 8:47 PM, Alexandre Isoard
>>> <alexandre.isoard at gmail.com <mailto:alexandre.isoard at gmail.com>>
>>> wrote:
>>>
>>> Thanks, that worked like a charm except for the following:
>>>
>>> llvm generate:
>>>
>>> call void @llvm.memcpy.p3i8.p1i8.i64(i8 addrspace(3)* align 1
>>> bitcast ([512 x float] addrspace(3)* @a_scratchpad to i8
>>> addrspace(3)*), i8 addrspace(1)* align 1 %0, i64 2048, i1 false)
>>>
>>> And we expected:
>>>
>>> call void @llvm.memcpy.p3i8.p1i8.i64(i8 addrspace(3)* bitcast
>>> ([512 x float] addrspace(3)* [[SPM0]] to i8 addrspace(3)*), i8
>>> addrspace(1)* [[APTR]], i64 2048, i1 false)
>>>
>>> Notice the presence of "align 1". I'm not sure which side is
>>> correct, isn't it equivalent (that is, this is the natural ABI
>>> alignment of that type)?
>>>
>>> Here is my datalayout:
>>>
>>> target datalayout =
>>> "e-m:e-i64:64-n8:16:32:64-S128-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
>>>
>>>
>>> 2018-01-23 20:14 GMT-08:00 Daniel Neilson<dneilson at azul.com
>>> <mailto:dneilson at azul.com>>:
>>>
>>> Hi Alexandre,
>>> The script uses extended-sed syntax, so you need to run sed
>>> with the -E option.
>>>
>>> For example, when preparing the patch I created a file (
>>> script.sed ) containing all of the lines that I copied into
>>> the commit message. Then, I ran this bash one-liner from the
>>> test directory:
>>> for f in $(find . -name '*.ll'); do sed -E -i ‘.sedbak' -f
>>> script.sed $f; done
>>> When I was happy with the results, then: find . -name
>>> ‘*.sedbak’ --exec rm -f {} \;
>>>
>>> Please let me know if that doesn’t work for you.
>>>
>>> -Daniel
>>>
>>>> On Jan 23, 2018, at 8:33 PM, Alexandre Isoard via llvm-dev
>>>> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>>
>>>> wrote:
>>>>
>>>> Hello,
>>>>
>>>> Is there a script to update those test cases? I see mention
>>>> of a sed script in the commit message but when I try it
>>>> (see attached) on sed I get the following error:
>>>>
>>>> sed: file script line 2: invalid reference \3 on `s'
>>>> command's RHS
>>>>
>>>> Did I lose something in a copy-paste? Is it not really a
>>>> sed script? How do I run it?
>>>>
>>>>
>>>> On Fri, Jan 19, 2018 at 9:15 AM, Daniel Neilson via
>>>> Phabricator via llvm-commits<llvm-commits at lists.llvm.org
>>>> <mailto:llvm-commits at lists.llvm.org>>wrote:
>>>>
>>>> This revision was automatically updated to reflect the
>>>> committed changes.
>>>> Closed by commit rL322965: Remove alignment argument
>>>> from memcpy/memmove/memset in favour of alignment…
>>>> (authored by dneilson, committed by ).
>>>>
>>>> Repository:
>>>> rL LLVM
>>>>
>>>> https://reviews.llvm.org/D41675
>>>> <https://reviews.llvm.org/D41675>
>>>>
>>>> Files:
>>>> llvm/trunk/docs/LangRef.rst
>>>> llvm/trunk/include/llvm/IR/IntrinsicInst.h
>>>> llvm/trunk/include/llvm/IR/Intrinsics.td
>>>> <http://rinsics.td/>
>>>> llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
>>>> llvm/trunk/lib/IR/AutoUpgrade.cpp
>>>> llvm/trunk/lib/IR/IRBuilder.cpp
>>>> llvm/trunk/lib/IR/Verifier.cpp
>>>> llvm/trunk/lib/Target/AArch64/AArch64FastISel.cpp
>>>> llvm/trunk/lib/Target/ARM/ARMFastISel.cpp
>>>> llvm/trunk/lib/Target/Mips/MipsFastISel.cpp
>>>> llvm/trunk/lib/Target/X86/X86FastISel.cpp
>>>> llvm/trunk/lib/Transforms/InstCombine/InstCombineCalls.cpp
>>>> llvm/trunk/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
>>>> llvm/trunk/test/Analysis/AliasSet/memtransfer.ll
>>>> llvm/trunk/test/Analysis/BasicAA/assume.ll
>>>> llvm/trunk/test/Analysis/BasicAA/cs-cs.ll
>>>> llvm/trunk/test/Analysis/BasicAA/gep-and-alias.ll
>>>> llvm/trunk/test/Analysis/BasicAA/getmodrefinfo-cs-cs.ll
>>>> llvm/trunk/test/Analysis/BasicAA/guards.ll
>>>> llvm/trunk/test/Analysis/BasicAA/modref.ll
>>>> llvm/trunk/test/Analysis/CallGraph/no-intrinsics.ll
>>>> llvm/trunk/test/Analysis/ConstantFolding/gep-constanfolding-error.ll
>>>> llvm/trunk/test/Analysis/DependenceAnalysis/Preliminary.ll
>>>> llvm/trunk/test/Analysis/GlobalsModRef/memset-escape.ll
>>>> llvm/trunk/test/Analysis/GlobalsModRef/no-escape.ll
>>>> llvm/trunk/test/Analysis/GlobalsModRef/pr12351.ll
>>>> llvm/trunk/test/Analysis/GlobalsModRef/volatile-instrs.ll
>>>> llvm/trunk/test/Analysis/Lint/noalias-byval.ll
>>>> llvm/trunk/test/Analysis/MemorySSA/basicaa-memcpy.ll
>>>> llvm/trunk/test/Analysis/ScalarEvolution/avoid-smax-1.ll
>>>> llvm/trunk/test/Analysis/ScalarEvolution/trip-count.ll
>>>> llvm/trunk/test/Analysis/ScalarEvolution/trip-count3.ll
>>>> llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/functionattrs.ll
>>>> llvm/trunk/test/Analysis/TypeBasedAliasAnalysis/memcpyopt.ll
>>>> llvm/trunk/test/Bitcode/standardCIntrinsic.3.2.ll
>>>> llvm/trunk/test/Bitcode/upgrade-memory-intrinsics.ll
>>>> llvm/trunk/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
>>>> llvm/trunk/test/CodeGen/AArch64/PBQP-csr.ll
>>>> llvm/trunk/test/CodeGen/AArch64/aarch64-DAGCombine-findBetterNeighborChains-crash.ll
>>>> llvm/trunk/test/CodeGen/AArch64/arm64-2012-05-07-MemcpyAlignBug.ll
>>>> llvm/trunk/test/CodeGen/AArch64/arm64-abi-varargs.ll
>>>> llvm/trunk/test/CodeGen/AArch64/arm64-abi_align.ll
>>>> llvm/trunk/test/CodeGen/AArch64/arm64-fast-isel-intrinsic.ll
>>>> llvm/trunk/test/CodeGen/AArch64/arm64-memcpy-inline.ll
>>>> llvm/trunk/test/CodeGen/AArch64/arm64-memset-inline.ll
>>>> llvm/trunk/test/CodeGen/AArch64/arm64-memset-to-bzero.ll
>>>> llvm/trunk/test/CodeGen/AArch64/arm64-misaligned-memcpy-inline.ll
>>>> llvm/trunk/test/CodeGen/AArch64/arm64-misched-basic-A53.ll
>>>> llvm/trunk/test/CodeGen/AArch64/arm64-misched-basic-A57.ll
>>>> llvm/trunk/test/CodeGen/AArch64/arm64-stur.ll
>>>> llvm/trunk/test/CodeGen/AArch64/arm64-virtual_base.ll
>>>> llvm/trunk/test/CodeGen/AArch64/fast-isel-memcpy.ll
>>>> llvm/trunk/test/CodeGen/AArch64/func-argpassing.ll
>>>> llvm/trunk/test/CodeGen/AArch64/ldp-stp-scaled-unscaled-pairs.ll
>>>> llvm/trunk/test/CodeGen/AArch64/ldst-paired-aliasing.ll
>>>> llvm/trunk/test/CodeGen/AArch64/ldst-zero.ll
>>>> llvm/trunk/test/CodeGen/AArch64/machine-combiner-madd.ll
>>>> llvm/trunk/test/CodeGen/AArch64/memcpy-f128.ll
>>>> llvm/trunk/test/CodeGen/AArch64/merge-store-dependency.ll
>>>> llvm/trunk/test/CodeGen/AArch64/mergestores_noimplicitfloat.ll
>>>> llvm/trunk/test/CodeGen/AArch64/misched-stp.ll
>>>> llvm/trunk/test/CodeGen/AArch64/pr33172.ll
>>>> llvm/trunk/test/CodeGen/AArch64/tailcall-mem-intrinsics.ll
>>>> llvm/trunk/test/CodeGen/AArch64/tailcall-string-rvo.ll
>>>> llvm/trunk/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
>>>> llvm/trunk/test/CodeGen/AMDGPU/lds-alignment.ll
>>>> llvm/trunk/test/CodeGen/AMDGPU/llvm.memcpy.ll
>>>> llvm/trunk/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
>>>> llvm/trunk/test/CodeGen/AMDGPU/promote-alloca-mem-intrinsics.ll
>>>> llvm/trunk/test/CodeGen/AMDGPU/stack-size-overflow.ll
>>>> llvm/trunk/test/CodeGen/ARM/2009-03-07-SpillerBug.ll
>>>> llvm/trunk/test/CodeGen/ARM/2011-03-10-DAGCombineCrash.ll
>>>> llvm/trunk/test/CodeGen/ARM/2011-10-26-memset-inline.ll
>>>> llvm/trunk/test/CodeGen/ARM/2011-10-26-memset-with-neon.ll
>>>> llvm/trunk/test/CodeGen/ARM/2012-04-24-SplitEHCriticalEdge.ll
>>>> llvm/trunk/test/CodeGen/ARM/Windows/memset.ll
>>>> llvm/trunk/test/CodeGen/ARM/Windows/no-aeabi.ll
>>>> llvm/trunk/test/CodeGen/ARM/arm-eabi.ll
>>>> llvm/trunk/test/CodeGen/ARM/constantpool-promote-ldrh.ll
>>>> llvm/trunk/test/CodeGen/ARM/constantpool-promote.ll
>>>> llvm/trunk/test/CodeGen/ARM/crash-O0.ll
>>>> llvm/trunk/test/CodeGen/ARM/debug-info-blocks.ll
>>>> llvm/trunk/test/CodeGen/ARM/dyn-stackalloc.ll
>>>> llvm/trunk/test/CodeGen/ARM/fast-isel-intrinsic.ll
>>>> llvm/trunk/test/CodeGen/ARM/interval-update-remat.ll
>>>> llvm/trunk/test/CodeGen/ARM/ldm-stm-base-materialization.ll
>>>> llvm/trunk/test/CodeGen/ARM/machine-cse-cmp.ll
>>>> llvm/trunk/test/CodeGen/ARM/memcpy-inline.ll
>>>> llvm/trunk/test/CodeGen/ARM/memcpy-ldm-stm.ll
>>>> llvm/trunk/test/CodeGen/ARM/memcpy-no-inline.ll
>>>> llvm/trunk/test/CodeGen/ARM/memfunc.ll
>>>> llvm/trunk/test/CodeGen/ARM/memset-inline.ll
>>>> llvm/trunk/test/CodeGen/ARM/stack-protector-bmovpcb_call.ll
>>>> llvm/trunk/test/CodeGen/ARM/struct-byval-frame-index.ll
>>>> llvm/trunk/test/CodeGen/ARM/tailcall-mem-intrinsics.ll
>>>> llvm/trunk/test/CodeGen/AVR/std-ldd-immediate-overflow.ll
>>>> llvm/trunk/test/CodeGen/BPF/byval.ll
>>>> llvm/trunk/test/CodeGen/BPF/ex1.ll
>>>> llvm/trunk/test/CodeGen/BPF/fi_ri.ll
>>>> llvm/trunk/test/CodeGen/BPF/reloc.ll
>>>> llvm/trunk/test/CodeGen/BPF/rodata_1.ll
>>>> llvm/trunk/test/CodeGen/BPF/rodata_2.ll
>>>> llvm/trunk/test/CodeGen/BPF/rodata_3.ll
>>>> llvm/trunk/test/CodeGen/BPF/rodata_4.ll
>>>> llvm/trunk/test/CodeGen/BPF/sanity.ll
>>>> llvm/trunk/test/CodeGen/BPF/undef.ll
>>>> llvm/trunk/test/CodeGen/BPF/warn-call.ll
>>>> llvm/trunk/test/CodeGen/Generic/ForceStackAlign.ll
>>>> llvm/trunk/test/CodeGen/Generic/invalid-memcpy.ll
>>>> llvm/trunk/test/CodeGen/Hexagon/adjust-latency-stackST.ll
>>>> llvm/trunk/test/CodeGen/Hexagon/branchfolder-keep-impdef.ll
>>>> llvm/trunk/test/CodeGen/Hexagon/early-if-conversion-bug1.ll
>>>> llvm/trunk/test/CodeGen/Hexagon/mem-fi-add.ll
>>>> llvm/trunk/test/CodeGen/Hexagon/memcpy-likely-aligned.ll
>>>> llvm/trunk/test/CodeGen/Hexagon/rdf-filter-defs.ll
>>>> llvm/trunk/test/CodeGen/Hexagon/store-imm-stack-object.ll
>>>> llvm/trunk/test/CodeGen/Hexagon/tail-call-mem-intrinsics.ll
>>>> llvm/trunk/test/CodeGen/MSP430/memset.ll
>>>> llvm/trunk/test/CodeGen/Mips/2012-12-12-ExpandMemcpy.ll
>>>> llvm/trunk/test/CodeGen/Mips/Fast-ISel/memtest1.ll
>>>> llvm/trunk/test/CodeGen/Mips/biggot.ll
>>>> llvm/trunk/test/CodeGen/Mips/cconv/arguments-small-structures-bigger-than-32bits.ll
>>>> llvm/trunk/test/CodeGen/Mips/cconv/arguments-varargs-small-structs-byte.ll
>>>> llvm/trunk/test/CodeGen/Mips/cconv/arguments-varargs-small-structs-combinations.ll
>>>> llvm/trunk/test/CodeGen/Mips/cconv/return-struct.ll
>>>> llvm/trunk/test/CodeGen/Mips/largeimmprinting.ll
>>>> llvm/trunk/test/CodeGen/Mips/long-calls.ll
>>>> llvm/trunk/test/CodeGen/Mips/memcpy.ll
>>>> llvm/trunk/test/CodeGen/Mips/pr33978.ll
>>>> llvm/trunk/test/CodeGen/Mips/tailcall/tailcall.ll
>>>> llvm/trunk/test/CodeGen/NVPTX/lower-aggr-copies.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/2011-12-05-NoSpillDupCR.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/2011-12-06-SpillAndRestoreCR.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/MMO-flags-assertion.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/aantidep-inline-asm-use.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/ctrloop-reg.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/emptystruct.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/fsl-e500mc.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/fsl-e5500.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/glob-comp-aa-crash.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/isel-rc-nox0.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/licm-remat.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/lxv-aligned-stack-slots.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/memcpy-vec.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/memcpy_dereferenceable.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/memset-nc-le.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/memset-nc.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/merge-st-chain-op.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/ppc-empty-fs.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/pr27350.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/resolvefi-basereg.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/resolvefi-disp.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/structsinmem.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/structsinregs.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/stwu8.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/tailcall-string-rvo.ll
>>>> llvm/trunk/test/CodeGen/PowerPC/toc-load-sched-bug.ll
>>>> llvm/trunk/test/CodeGen/RISCV/frame.ll
>>>> llvm/trunk/test/CodeGen/SystemZ/dag-combine-02.ll
>>>> llvm/trunk/test/CodeGen/SystemZ/loop-01.ll
>>>> llvm/trunk/test/CodeGen/SystemZ/loop-03.ll
>>>> llvm/trunk/test/CodeGen/SystemZ/memcpy-01.ll
>>>> llvm/trunk/test/CodeGen/SystemZ/memset-01.ll
>>>> llvm/trunk/test/CodeGen/SystemZ/memset-02.ll
>>>> llvm/trunk/test/CodeGen/SystemZ/memset-03.ll
>>>> llvm/trunk/test/CodeGen/SystemZ/memset-04.ll
>>>> llvm/trunk/test/CodeGen/SystemZ/tail-call-mem-intrinsics.ll
>>>> llvm/trunk/test/CodeGen/Thumb/2011-05-11-DAGLegalizer.ll
>>>> llvm/trunk/test/CodeGen/Thumb/dyn-stackalloc.ll
>>>> llvm/trunk/test/CodeGen/Thumb/ldm-stm-base-materialization-thumb2.ll
>>>> llvm/trunk/test/CodeGen/Thumb/ldm-stm-base-materialization.ll
>>>> llvm/trunk/test/CodeGen/Thumb/stack-coloring-without-frame-ptr.ll
>>>> llvm/trunk/test/CodeGen/Thumb2/2009-08-04-SubregLoweringBug.ll
>>>> llvm/trunk/test/CodeGen/Thumb2/2012-01-13-CBNZBug.ll
>>>> llvm/trunk/test/CodeGen/WebAssembly/global.ll
>>>> llvm/trunk/test/CodeGen/WebAssembly/mem-intrinsics.ll
>>>> llvm/trunk/test/CodeGen/X86/2007-10-15-CoalescerCrash.ll
>>>> llvm/trunk/test/CodeGen/X86/2009-01-25-NoSSE.ll
>>>> llvm/trunk/test/CodeGen/X86/2009-11-16-UnfoldMemOpBug.ll
>>>> llvm/trunk/test/CodeGen/X86/2010-04-08-CoalescerBug.ll
>>>> llvm/trunk/test/CodeGen/X86/2010-04-21-CoalescerBug.ll
>>>> llvm/trunk/test/CodeGen/X86/2010-06-25-CoalescerSubRegDefDead.ll
>>>> llvm/trunk/test/CodeGen/X86/2010-09-17-SideEffectsInChain.ll
>>>> llvm/trunk/test/CodeGen/X86/2012-01-10-UndefExceptionEdge.ll
>>>> llvm/trunk/test/CodeGen/X86/alignment-2.ll
>>>> llvm/trunk/test/CodeGen/X86/bug26810.ll
>>>> llvm/trunk/test/CodeGen/X86/darwin-bzero.ll
>>>> llvm/trunk/test/CodeGen/X86/fast-isel-call.ll
>>>> llvm/trunk/test/CodeGen/X86/fast-isel-deadcode.ll
>>>> llvm/trunk/test/CodeGen/X86/fast-isel-x86-64.ll
>>>> llvm/trunk/test/CodeGen/X86/force-align-stack-alloca.ll
>>>> llvm/trunk/test/CodeGen/X86/immediate_merging.ll
>>>> llvm/trunk/test/CodeGen/X86/immediate_merging64.ll
>>>> llvm/trunk/test/CodeGen/X86/lea-opt-memop-check-1.ll
>>>> llvm/trunk/test/CodeGen/X86/load-slice.ll
>>>> llvm/trunk/test/CodeGen/X86/lsr-normalization.ll
>>>> llvm/trunk/test/CodeGen/X86/mcu-abi.ll
>>>> llvm/trunk/test/CodeGen/X86/mem-intrin-base-reg.ll
>>>> llvm/trunk/test/CodeGen/X86/memcpy-2.ll
>>>> llvm/trunk/test/CodeGen/X86/memcpy-from-string.ll
>>>> llvm/trunk/test/CodeGen/X86/memcpy.ll
>>>> llvm/trunk/test/CodeGen/X86/memset-2.ll
>>>> llvm/trunk/test/CodeGen/X86/memset-3.ll
>>>> llvm/trunk/test/CodeGen/X86/memset-nonzero.ll
>>>> llvm/trunk/test/CodeGen/X86/memset-sse-stack-realignment.ll
>>>> llvm/trunk/test/CodeGen/X86/memset.ll
>>>> llvm/trunk/test/CodeGen/X86/memset64-on-x86-32.ll
>>>> llvm/trunk/test/CodeGen/X86/misaligned-memset.ll
>>>> llvm/trunk/test/CodeGen/X86/misched-new.ll
>>>> llvm/trunk/test/CodeGen/X86/negate-add-zero.ll
>>>> llvm/trunk/test/CodeGen/X86/optimize-max-0.ll
>>>> llvm/trunk/test/CodeGen/X86/pr11985.ll
>>>> llvm/trunk/test/CodeGen/X86/pr14333.ll
>>>> llvm/trunk/test/CodeGen/X86/pr34088.ll
>>>> llvm/trunk/test/CodeGen/X86/ragreedy-hoist-spill.ll
>>>> llvm/trunk/test/CodeGen/X86/regparm.ll
>>>> llvm/trunk/test/CodeGen/X86/remat-fold-load.ll
>>>> llvm/trunk/test/CodeGen/X86/slow-unaligned-mem.ll
>>>> llvm/trunk/test/CodeGen/X86/small-byval-memcpy.ll
>>>> llvm/trunk/test/CodeGen/X86/stack-align.ll
>>>> llvm/trunk/test/CodeGen/X86/stack-protector.ll
>>>> llvm/trunk/test/CodeGen/X86/tail-dup-merge-loop-headers.ll
>>>> llvm/trunk/test/CodeGen/X86/tailcall-mem-intrinsics.ll
>>>> llvm/trunk/test/CodeGen/X86/tlv-1.ll
>>>> llvm/trunk/test/CodeGen/X86/unaligned-load.ll
>>>> llvm/trunk/test/CodeGen/X86/unused_stackslots.ll
>>>> llvm/trunk/test/CodeGen/X86/unwindraise.ll
>>>> llvm/trunk/test/CodeGen/X86/variable-sized-darwin-bzero.ll
>>>> llvm/trunk/test/CodeGen/X86/vectorcall.ll
>>>> llvm/trunk/test/CodeGen/X86/x86-64-static-relo-movl.ll
>>>> llvm/trunk/test/CodeGen/X86/x86-repmov-copy-eflags.ll
>>>> llvm/trunk/test/CodeGen/XCore/memcpy.ll
>>>> llvm/trunk/test/DebugInfo/AArch64/frameindices.ll
>>>> llvm/trunk/test/DebugInfo/COFF/types-array.ll
>>>> llvm/trunk/test/DebugInfo/Generic/2010-10-01-crash.ll
>>>> llvm/trunk/test/DebugInfo/X86/array.ll
>>>> llvm/trunk/test/DebugInfo/X86/array2.ll
>>>> llvm/trunk/test/DebugInfo/X86/debug-ranges-offset.ll
>>>> llvm/trunk/test/DebugInfo/X86/pieces-2.ll
>>>> llvm/trunk/test/DebugInfo/X86/pieces-3.ll
>>>> llvm/trunk/test/DebugInfo/X86/safestack-byval.ll
>>>> llvm/trunk/test/DebugInfo/X86/split-dwarf-cross-unit-reference.ll
>>>> llvm/trunk/test/DebugInfo/X86/sroasplit-1.ll
>>>> llvm/trunk/test/DebugInfo/X86/sroasplit-2.ll
>>>> llvm/trunk/test/DebugInfo/X86/sroasplit-4.ll
>>>> llvm/trunk/test/DebugInfo/X86/sroasplit-5.ll
>>>> llvm/trunk/test/DebugInfo/X86/sroasplit-dbg-declare.ll
>>>> llvm/trunk/test/Instrumentation/AddressSanitizer/basic.ll
>>>> llvm/trunk/test/Instrumentation/AddressSanitizer/stack-poisoning-byval-args.ll
>>>> llvm/trunk/test/Instrumentation/DataFlowSanitizer/memset.ll
>>>> (145 more files...)
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> llvm-commits mailing list
>>>> llvm-commits at lists.llvm.org
>>>> <mailto:llvm-commits at lists.llvm.org>
>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>>> <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Alexandre Isoard*
>>>> <memcopy.sed>_______________________________________________
>>>> LLVM Developers mailing list
>>>> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>>> <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
>>>
>>>
>>>
>>>
>>> --
>>> *Alexandre Isoard*
>>
>>
>>
>>
>> --
>> *Alexandre Isoard*
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180129/d173ff68/attachment-0001.html>
More information about the llvm-dev
mailing list