| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 41595
|
|
|
|
| |
llvm-svn: 41590
|
|
|
|
|
|
|
|
|
| |
Add APFloat interfaces to ConstantFP, SelectionDAG.
Fix integer bit in double->APFloat conversion.
Convert LegalizeDAG to use APFloat interface in
ConstantFPSDNode uses.
llvm-svn: 41587
|
|
|
|
| |
llvm-svn: 41584
|
|
|
|
|
|
|
| |
Changes related modules so VNInfo's are not copied. This decrease
copy coalescing time by 45% and overall compilation time by 10% on siod.
llvm-svn: 41579
|
|
|
|
| |
llvm-svn: 41578
|
|
|
|
|
|
|
|
| |
in the trampoline lowering. Lookup the jump and
mov opcodes for the trampoline rather than hard
coding them.
llvm-svn: 41577
|
|
|
|
| |
llvm-svn: 41565
|
|
|
|
|
|
| |
scheduling.
llvm-svn: 41556
|
|
|
|
|
|
|
|
| |
1. Eliminate the costly live interval "swapping".
2. Change ValueNumberInfo container from SmallVector to std::vector. The former
performs slowly when the vector size is very large.
llvm-svn: 41536
|
|
|
|
|
|
|
| |
Changed the stack frame layout, StackGrowsUp fits better to Mips strange stack.
Stack offset calculation bug fixed!
llvm-svn: 41529
|
|
|
|
|
|
|
| |
Added comments about new stack allocation.
Expand SelectCC for i32 results
llvm-svn: 41527
|
|
|
|
|
|
| |
Comments for Mips directives added.
llvm-svn: 41526
|
|
|
|
| |
llvm-svn: 41525
|
|
|
|
| |
llvm-svn: 41522
|
|
|
|
| |
llvm-svn: 41516
|
|
|
|
| |
llvm-svn: 41506
|
|
|
|
| |
llvm-svn: 41502
|
|
|
|
|
|
| |
where both pointers have non-zero offsets.
llvm-svn: 41491
|
|
|
|
|
|
| |
to not alias each other, it can be translated as an llvm.memcpy.
llvm-svn: 41489
|
|
|
|
| |
llvm-svn: 41488
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc exception handling: if an exception unwinds through
an invoke, then execution must branch to the invoke's
unwind target. We previously tried to enforce this by
appending a cleanup action to every selector, however
this does not always work correctly due to an optimization
in the C++ unwinding runtime: if only cleanups would be
run while unwinding an exception, then the program just
terminates without actually executing the cleanups, as
invoke semantics would require. I was hoping this
wouldn't be a problem, but in fact it turns out to be the
cause of all the remaining failures in the LLVM testsuite
(these also fail with -enable-correct-eh-support, so turning
on -enable-eh didn't make things worse!). Instead we need
to append a full-blown catch-all to the end of each
selector. The correct way of doing this depends on the
personality function, i.e. it is language dependent, so
can only be done by gcc. Thus this patch which generalizes
the eh.selector intrinsic so that it can handle all possible
kinds of action table entries (before it didn't accomodate
cleanups): now 0 indicates a cleanup, and filters have to be
specified using the number of type infos plus one rather than
the number of type infos. Related gcc patches will cause
Ada to pass a cleanup (0) to force the selector to always
fire, while C++ will use a C++ catch-all (null).
llvm-svn: 41484
|
|
|
|
| |
llvm-svn: 41482
|
|
|
|
|
|
|
| |
Coping 100MB array (after a warmup) shows that glibc 2.6.1 implementation on
x86-64 (core 2) is 30% faster (from 0.270917s to 0.188079s)
llvm-svn: 41479
|
|
|
|
|
|
|
|
| |
setjmp/longjmp properly.
This fixes PR1520.
llvm-svn: 41461
|
|
|
|
| |
llvm-svn: 41456
|
|
|
|
| |
llvm-svn: 41409
|
|
|
|
|
|
|
| |
over uses in DAGCombiner. Fix interfaces to work
with APFloats.
llvm-svn: 41407
|
|
|
|
|
|
| |
dominator info. This avoid execution of dead iteration. Loop is already filter in the beginning such that this change is safe.
llvm-svn: 41394
|
|
|
|
|
|
| |
other split value.
llvm-svn: 41389
|
|
|
|
|
|
|
| |
know how to handle them. This fixes
test/CodeGen/Generic/asm-large-immediate.ll
llvm-svn: 41388
|
|
|
|
|
|
| |
second loop, take care of edge cases.
llvm-svn: 41387
|
|
|
|
|
|
| |
immediate operands.
llvm-svn: 41386
|
|
|
|
|
|
|
|
|
| |
.set Lset0,___gxx_personality_v0-.
.long Lset0
on some targets. Make it so!
llvm-svn: 41385
|
|
|
|
|
|
| |
changing the interface to allow for future changes.
llvm-svn: 41384
|
|
|
|
|
|
| |
This means backing out the preceding change to Constants.cpp, alas.
llvm-svn: 41378
|
|
|
|
| |
llvm-svn: 41372
|
|
|
|
|
|
|
| |
This eliminates a conditional on that path, and ensures ICmpInst/FCmpInst
both have an out-of-line virtual method to home the class.
llvm-svn: 41371
|
|
|
|
|
|
| |
appropriate split condition branch.
llvm-svn: 41365
|
|
|
|
| |
llvm-svn: 41360
|
|
|
|
| |
llvm-svn: 41359
|
|
|
|
|
|
|
|
| |
If split
condition predicate is GT or GE then execute false branch first.
llvm-svn: 41358
|
|
|
|
| |
llvm-svn: 41357
|
|
|
|
| |
llvm-svn: 41356
|
|
|
|
| |
llvm-svn: 41354
|
|
|
|
| |
llvm-svn: 41353
|
|
|
|
| |
llvm-svn: 41352
|
|
|
|
|
|
| |
Interface to rest of the compiler unchanged, as yet.
llvm-svn: 41348
|
|
|
|
| |
llvm-svn: 41319
|
|
|
|
| |
llvm-svn: 41318
|