| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
is created before the native exports file is built in a parallel build.
llvm-svn: 101413
|
|
|
|
|
|
| |
is doing the right thing and codegen looks correct for both Thumb and Thumb2.
llvm-svn: 101410
|
|
|
|
| |
llvm-svn: 101405
|
|
|
|
|
|
| |
system.
llvm-svn: 101404
|
|
|
|
|
|
|
|
|
|
| |
native linking export files, including running sed to prepend underscores
on darwin, and make use of it in libLTO and libEnhancedDisassembly.
Remove the leading underscores from library export files so that they
work with the new EXPORTED_SYMBOL_FILE support.
llvm-svn: 101399
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
with a fix
rotate CallInst operands, i.e. move callee to the back
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
llvm-svn: 101397
|
|
|
|
| |
llvm-svn: 101395
|
|
|
|
| |
llvm-svn: 101392
|
|
|
|
| |
llvm-svn: 101388
|
|
|
|
| |
llvm-svn: 101387
|
|
|
|
| |
llvm-svn: 101385
|
|
|
|
|
|
|
|
| |
directly. In cases where there are two dyn_alloc in the same BB it would have caused the old SP value to be reused and badness ensues. rdar://7493908
llvm is generating poor code for dynamic alloca, I'll fix that later.
llvm-svn: 101383
|
|
|
|
| |
llvm-svn: 101382
|
|
|
|
| |
llvm-svn: 101379
|
|
|
|
|
|
| |
can't be static.
llvm-svn: 101377
|
|
|
|
| |
llvm-svn: 101376
|
|
|
|
| |
llvm-svn: 101375
|
|
|
|
|
|
| |
in addition to the predecessor.
llvm-svn: 101374
|
|
|
|
| |
llvm-svn: 101371
|
|
|
|
| |
llvm-svn: 101368
|
|
|
|
| |
llvm-svn: 101365
|
|
|
|
|
|
|
|
|
|
| |
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
llvm-svn: 101364
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tokenfactor in between the load/store. This allows us to
optimize test7 into:
_test7: ## @test7
## BB#0: ## %entry
movl (%rdx), %eax
## kill: SIL<def> ESI<kill>
movb %sil, 5(%rdi)
ret
instead of:
_test7: ## @test7
## BB#0: ## %entry
movl 4(%esp), %ecx
movl $-65281, %eax ## imm = 0xFFFFFFFFFFFF00FF
andl 4(%ecx), %eax
movzbl 8(%esp), %edx
shll $8, %edx
addl %eax, %edx
movl 12(%esp), %eax
movl (%eax), %eax
movl %edx, 4(%ecx)
ret
llvm-svn: 101355
|
|
|
|
|
|
|
|
| |
This doesn't occur much at all, it only seems to formed in the case
when the trunc optimization kicks in due to phase ordering. In that
case it is saves a few bytes on x86-32.
llvm-svn: 101350
|
|
|
|
|
|
| |
and. This happens with the store->load narrowing stuff.
llvm-svn: 101348
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a load/or/and/store sequence into a narrower store when it is
safe. Daniel tells me that clang will start producing this sort
of thing with bitfields, and this does trigger a few dozen times
on 176.gcc produced by llvm-gcc even now.
This compiles code like CodeGen/X86/2009-05-28-DAGCombineCrash.ll
into:
movl %eax, 36(%rdi)
instead of:
movl $4294967295, %eax ## imm = 0xFFFFFFFF
andq 32(%rdi), %rax
shlq $32, %rcx
addq %rax, %rcx
movq %rcx, 32(%rdi)
and each of the testcases into a single store. Each of them used
to compile into craziness like this:
_test4:
movl $65535, %eax ## imm = 0xFFFF
andl (%rdi), %eax
shll $16, %esi
addl %eax, %esi
movl %esi, (%rdi)
ret
llvm-svn: 101343
|
|
|
|
| |
llvm-svn: 101342
|
|
|
|
| |
llvm-svn: 101341
|
|
|
|
| |
llvm-svn: 101340
|
|
|
|
| |
llvm-svn: 101338
|
|
|
|
| |
llvm-svn: 101337
|
|
|
|
|
|
| |
characters long.
llvm-svn: 101336
|
|
|
|
| |
llvm-svn: 101335
|
|
|
|
| |
llvm-svn: 101334
|
|
|
|
|
|
| |
patterns to handle the lowering.
llvm-svn: 101331
|
|
|
|
| |
llvm-svn: 101330
|
|
|
|
| |
llvm-svn: 101329
|
|
|
|
| |
llvm-svn: 101325
|
|
|
|
| |
llvm-svn: 101317
|
|
|
|
|
|
| |
unit.
llvm-svn: 101315
|
|
|
|
| |
llvm-svn: 101314
|
|
|
|
|
|
|
|
| |
The commit "Adding IPSCCP and Internalize passes to the C-bindings" introduced
new dependencies for IPO. Add these to the CMAKE build as otherwise the
BUILD_SHARED_LIBS=1 build fails.
llvm-svn: 101313
|
|
|
|
|
|
|
| |
function checks whether we have a valid submode for VLDM/VSTM (must be either
"ia" or "db") before calling ARM_AM::getAM5Opc(AMSubMode, unsigned char).
llvm-svn: 101306
|
|
|
|
|
|
|
|
| |
kernel linker happier when dealing with kexts.
Radar 7805069
llvm-svn: 101303
|
|
|
|
| |
llvm-svn: 101300
|
|
|
|
|
|
|
| |
other getOperand wrappers, and it makes it easier to use with DebugInfo
code, which isn't currently prepared to see const MDNode *.
llvm-svn: 101299
|
|
|
|
| |
llvm-svn: 101298
|
|
|
|
| |
llvm-svn: 101294
|
|
|
|
|
|
| |
Change the error msg to read "Encoding error: msb < lsb".
llvm-svn: 101293
|
|
|
|
|
|
| |
be used in ImmutableCallSite too.
llvm-svn: 101292
|