mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-09-07 01:54:50 +00:00
a3f8b7a4ce
its work by putting all nodes in the worklist, requiring a big dynamic allocation. Now, DAGCombiner just iterates over the AllNodes list and maintains a worklist for nodes that are newly created or need to be revisited. This allows the worklist to stay small in most cases, so it can be a SmallVector. This has the side effect of making DAGCombine not miss a folding opportunity in alloca-align-rounding.ll. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55498 91177308-0d34-0410-b5e6-96231b3b80d8
17 lines
424 B
LLVM
17 lines
424 B
LLVM
; RUN: llvm-as < %s | llc -march=x86 -mtriple=i686-apple-darwin | grep and | count 1
|
|
; RUN: llvm-as < %s | llc -march=x86-64 -mtriple=i686-pc-linux | grep and | count 1
|
|
|
|
declare void @bar(<2 x i64>* %n)
|
|
|
|
define void @foo(i32 %h) {
|
|
%p = alloca <2 x i64>, i32 %h
|
|
call void @bar(<2 x i64>* %p)
|
|
ret void
|
|
}
|
|
|
|
define void @foo2(i32 %h) {
|
|
%p = alloca <2 x i64>, i32 %h, align 32
|
|
call void @bar(<2 x i64>* %p)
|
|
ret void
|
|
}
|