[llvm-dev] [PATCH] D41675: Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1)

Daniel Neilson via llvm-dev llvm-dev at lists.llvm.org
Wed Jan 24 19:40:05 PST 2018


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

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



--
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




--
Alexandre Isoard




--
Alexandre Isoard

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180125/81c855d5/attachment-0001.html>


More information about the llvm-dev mailing list