[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