| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 73464
|
| |
|
|
| |
llvm-svn: 73457
|
| |
|
|
|
|
| |
Comments welcome!
llvm-svn: 73456
|
| |
|
|
|
|
| |
describe their behavior.
llvm-svn: 73454
|
| |
|
|
| |
llvm-svn: 73451
|
| |
|
|
| |
llvm-svn: 73449
|
| |
|
|
| |
llvm-svn: 73448
|
| |
|
|
|
|
|
|
| |
df_iterator.
Owen Anderson 2009-06-15: Remember to clear out our maps to prevent crashing.
llvm-svn: 73438
|
| |
|
|
| |
llvm-svn: 73437
|
| |
|
|
| |
llvm-svn: 73436
|
| |
|
|
|
|
| |
unsupported inline asm construct, rather than verifying a code invariant.
llvm-svn: 73435
|
| |
|
|
| |
llvm-svn: 73434
|
| |
|
|
| |
llvm-svn: 73433
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
failures.
To support this, add some utility functions to Type to help support
vector/scalar-independent code. Change ConstantInt::get and
ConstantFP::get to support vector types, and add an overload to
ConstantInt::get that uses a static IntegerType type, for
convenience.
Introduce a new getConstant method for ScalarEvolution, to simplify
common use cases.
llvm-svn: 73431
|
| |
|
|
| |
llvm-svn: 73430
|
| |
|
|
| |
llvm-svn: 73429
|
| |
|
|
| |
llvm-svn: 73428
|
| |
|
|
| |
llvm-svn: 73427
|
| |
|
|
| |
llvm-svn: 73426
|
| |
|
|
| |
llvm-svn: 73423
|
| |
|
|
| |
llvm-svn: 73422
|
| |
|
|
| |
llvm-svn: 73421
|
| |
|
|
| |
llvm-svn: 73417
|
| |
|
|
|
|
|
|
| |
problem addressed in 31284, but the patch there only
addressed the case where an invoke is the first thing in
a block.
llvm-svn: 73416
|
| |
|
|
| |
llvm-svn: 73413
|
| |
|
|
| |
llvm-svn: 73412
|
| |
|
|
|
|
|
|
|
|
|
| |
that push immediate operands of 1, 2, and 4 bytes (extended to the native
register size in each case). The assembly mnemonics are "pushl" and "pushq."
One such instruction appears at the beginning of the "start" function , so this
is essential for accurate disassembly when unwinding."
Patch by Sean Callanan!
llvm-svn: 73407
|
| |
|
|
| |
llvm-svn: 73406
|
| |
|
|
| |
llvm-svn: 73404
|
| |
|
|
| |
llvm-svn: 73401
|
| |
|
|
| |
llvm-svn: 73399
|
| |
|
|
| |
llvm-svn: 73398
|
| |
|
|
| |
llvm-svn: 73397
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
specific one. The GNU one is chosen when _GNU_SOURCE is defined. g++ always
defines _GNU_SOURCE on linux platforms because glibc's headers won't compile
in C++ mode without it. The GNU strerror_r doesn't always modify the buffer
which causes empty error messages on linux.
This patch changes MakeErrMsg to use the return value of strerror_r to get
the string instead of assuming the buffer will be modified, on GLIBC.
Patch by Benjamin Kramer!
llvm-svn: 73396
|
| |
|
|
| |
llvm-svn: 73394
|
| |
|
|
|
|
|
|
|
| |
incomming chain of the RETURN node. The incomming chain must
be the outgoing chain of the CALL node. This causes the
backend to identify tail calls that are not tail calls. This
patch fixes this.
llvm-svn: 73387
|
| |
|
|
|
|
| |
generator!
llvm-svn: 73385
|
| |
|
|
|
|
|
|
| |
Look for as in the path. Doing it here instead
of llvm-gcc because llvm-gcc has nothing as
convenient as sys::Program::FindProgramByName.
llvm-svn: 73383
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Change register allocation hint to a pair of unsigned integers. The hint type is zero (which means prefer the register specified as second part of the pair) or entirely target dependent.
- Allow targets to specify alternative register allocation orders based on allocation hint.
Part 2.
- Use the register allocation hint system to implement more aggressive load / store multiple formation.
- Aggressively form LDRD / STRD. These are formed *before* register allocation. It has to be done this way to shorten live interval of base and offset registers. e.g.
v1025 = LDR v1024, 0
v1026 = LDR v1024, 0
=>
v1025,v1026 = LDRD v1024, 0
If this transformation isn't done before allocation, v1024 will overlap v1025 which means it more difficult to allocate a register pair.
- Even with the register allocation hint, it may not be possible to get the desired allocation. In that case, the post-allocation load / store multiple pass must fix the ldrd / strd instructions. They can either become ldm / stm instructions or back to a pair of ldr / str instructions.
This is work in progress, not yet enabled.
llvm-svn: 73381
|
| |
|
|
| |
llvm-svn: 73380
|
| |
|
|
|
|
|
|
| |
windows."
Patch by Benjamin Kramer!
llvm-svn: 73379
|
| |
|
|
| |
llvm-svn: 73373
|
| |
|
|
| |
llvm-svn: 73372
|
| |
|
|
| |
llvm-svn: 73369
|
| |
|
|
|
|
| |
absolute or not, based on a patch by Gregory Curfman!
llvm-svn: 73368
|
| |
|
|
| |
llvm-svn: 73366
|
| |
|
|
| |
llvm-svn: 73362
|
| |
|
|
|
|
|
|
|
|
| |
they contain multiplications of constants with add operations.
This helps simplify several kinds of things; in particular it
helps simplify expressions like ((-1 * (%a + %b)) + %a) to %b,
as expressions like this often come up in loop trip count
computations.
llvm-svn: 73361
|
| |
|
|
|
|
| |
used as keys in DenseMaps.
llvm-svn: 73360
|
| |
|
|
|
|
| |
the potentially expensive erase.
llvm-svn: 73359
|