| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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: 101368
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 101334
|
| |
|
|
|
|
| |
patterns to handle the lowering.
llvm-svn: 101331
|
| |
|
|
|
|
| |
a bunch of stuff to support it.
llvm-svn: 101273
|
| |
|
|
|
|
| |
i32 store of immediates.
llvm-svn: 100751
|
| |
|
|
| |
llvm-svn: 100709
|
| |
|
|
| |
llvm-svn: 100599
|
| |
|
|
| |
llvm-svn: 100416
|
| |
|
|
| |
llvm-svn: 100381
|
| |
|
|
|
|
|
| |
Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset,
e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)
llvm-svn: 100304
|
| |
|
|
| |
llvm-svn: 100214
|
| |
|
|
| |
llvm-svn: 100208
|
| |
|
|
| |
llvm-svn: 100199
|
| |
|
|
|
|
|
| |
Added support for address spaces and added a isVolatile field to memcpy, memmove, and memset,
e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)
llvm-svn: 100191
|
| |
|
|
| |
llvm-svn: 100176
|
| |
|
|
| |
llvm-svn: 100167
|
| |
|
|
| |
llvm-svn: 100137
|
| |
|
|
| |
llvm-svn: 100132
|
| |
|
|
|
|
|
|
| |
zero.
- Do not try to infer GV alignment unless its type is sized. It's not possible to infer alignment if it has opaque type.
llvm-svn: 100118
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
1. Makes it possible to lower with floating point loads and stores.
2. Avoid unaligned loads / stores unless it's fast.
3. Fix some memcpy lowering logic bug related to when to optimize a
load from constant string into a constant.
4. Adjust x86 memcpy lowering threshold to make it more sane.
5. Fix x86 target hook so it uses vector and floating point memory
ops more effectively.
rdar://7774704
llvm-svn: 100090
|
| |
|
|
| |
llvm-svn: 99948
|
| |
|
|
|
|
|
|
|
| |
memmove, and memset,
e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)
A update of langref will occur in a subsequent checkin.
llvm-svn: 99928
|
| |
|
|
|
|
|
|
|
| |
create symbols. It is extremely error prone and a source of a lot
of the remaining integrated assembler bugs on x86-64.
This fixes rdar://7807601.
llvm-svn: 99902
|
| |
|
|
| |
llvm-svn: 99859
|
| |
|
|
|
|
|
| |
makes calls a little bit more consistent and allows easy removal of the
specializations in the future. Convert all callers to the templated functions.
llvm-svn: 99838
|
| |
|
|
| |
llvm-svn: 99620
|
| |
|
|
| |
llvm-svn: 99598
|
| |
|
|
| |
llvm-svn: 99434
|
| |
|
|
| |
llvm-svn: 99423
|
| |
|
|
|
|
|
| |
caller, then it is not safe to optimize the call into a sibcall since
the call result has to be popped off the x87 stack.
llvm-svn: 99032
|
| |
|
|
|
|
|
| |
- Although it would be nice to allow this decoupling, the assembler needs to be able to reason about MCSymbolRefExprs in too many places to make this viable. We can use a target specific encoding of the variant if this becomes an issue.
- This patch also extends llvm-mc to support parsing of the modifiers, as opposed to lumping them in with the symbol.
llvm-svn: 98592
|
| |
|
|
|
|
|
|
| |
32-bit indices. Instead of shuffling each element out of the index vector,
when all indices are needed, just store the input vector to the stack and
load the elements out.
llvm-svn: 98588
|
| |
|
|
|
|
| |
section, remove the target-specific code that performs this.
llvm-svn: 98580
|
| |
|
|
|
|
|
|
|
|
|
| |
to is local to the translation unit, we need to place fill the value of that
symbol into the non-lazy pointer.
This should conclude all Darwin changes for placing the LSDA into the TEXT
section. There is some cleanup to do. I.e., there's no longer a special need for
target-specific code here. But that can come later.
llvm-svn: 98564
|
| |
|
|
| |
llvm-svn: 98561
|
| |
|
|
|
|
| |
the operand type.
llvm-svn: 98507
|
| |
|
|
|
|
| |
PR4841. Patch by Craig Smith!
llvm-svn: 98496
|
| |
|
|
|
|
| |
support to allow loads to be folded to tail call instructions.
llvm-svn: 98465
|
| |
|
|
| |
llvm-svn: 98451
|
| |
|
|
| |
llvm-svn: 98370
|
| |
|
|
|
|
| |
string temporary. This should fix PR6590.
llvm-svn: 98349
|
| |
|
|
| |
llvm-svn: 98289
|
| |
|
|
| |
llvm-svn: 98281
|
| |
|
|
|
|
| |
to force it into a call preserved register instead. Change it to ecx for now.
llvm-svn: 98270
|
| |
|
|
|
|
| |
convention. Patch by David Terei!
llvm-svn: 98212
|
| |
|
|
|
|
|
| |
No functional effect yet. This is still evolving and should
not be viewed as final.
llvm-svn: 98195
|
| |
|
|
| |
llvm-svn: 98124
|
| |
|
|
|
|
|
| |
We cannot use a normal call here since it has extra unmodelled side
effects (it changes stack pointer). This should fix PR5292.
llvm-svn: 97884
|