| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 54978
|
|
|
|
| |
llvm-svn: 54968
|
|
|
|
| |
llvm-svn: 54958
|
|
|
|
|
|
|
| |
1) Assign stack slots to new temporaries.
2) Don't insert an interval into the return vector more than once.
llvm-svn: 54956
|
|
|
|
|
|
|
|
| |
1) Remove an incorrect assertion.
2) Set the stack slot weight properly.
3) Resize the VirtRegMap when needed.
llvm-svn: 54949
|
|
|
|
|
|
| |
sorted by starting index.
llvm-svn: 54939
|
|
|
|
|
|
| |
MachineRegisterInfo::reg_iterator.
llvm-svn: 54930
|
|
|
|
|
|
|
|
|
| |
remat, or splitting. This code has been updated to current APIs
in so far as it compiles and, in theory, works, but does not take advantage of recent advancements. For instance, it could be improved by using
MachineRegisterInfo::use_iterator.
llvm-svn: 54924
|
|
|
|
|
|
| |
hoisting out some "test" and "cmp" instructions. This was obvious badness.
llvm-svn: 54908
|
|
|
|
| |
llvm-svn: 54902
|
|
|
|
| |
llvm-svn: 54901
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In particular, Collector was confusing to implementors. Several
thought that this compile-time class was the place to implement
their runtime GC heap. Of course, it doesn't even exist at runtime.
Specifically, the renames are:
Collector -> GCStrategy
CollectorMetadata -> GCFunctionInfo
CollectorModuleMetadata -> GCModuleInfo
CollectorRegistry -> GCRegistry
Function::getCollector -> getGC (setGC, hasGC, clearGC)
Several accessors and nested types have also been renamed to be
consistent. These changes should be obvious.
llvm-svn: 54899
|
|
|
|
| |
llvm-svn: 54895
|
|
|
|
| |
llvm-svn: 54891
|
|
|
|
| |
llvm-svn: 54885
|
|
|
|
| |
llvm-svn: 54884
|
|
|
|
|
|
| |
for splitting AsmPrinter into its own library.
llvm-svn: 54881
|
|
|
|
|
|
| |
for splitting AsmPrinter into its own library.
llvm-svn: 54880
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
returning an std::string by value, it fills in a SmallString/SmallVector
passed in. This significantly reduces string thrashing in some cases.
More specifically, this:
- Adds an operator<< and a print method for APInt that allows you to
directly send them to an ostream.
- Reimplements APInt::toString to be much simpler and more efficient
algorithmically in addition to not thrashing strings quite as much.
This speeds up llvm-dis on kc++ by 7%, and may also slightly speed up the
asmprinter. This also fixes a bug I introduced into the asmwriter in a
previous patch w.r.t. alias printing.
llvm-svn: 54873
|
|
|
|
|
|
| |
This makes JIT asmprinter-free.
llvm-svn: 54843
|
|
|
|
|
|
| |
appropriate for cases where std::vector is still used.
llvm-svn: 54820
|
|
|
|
| |
llvm-svn: 54810
|
|
|
|
| |
llvm-svn: 54807
|
|
|
|
|
|
| |
had to be propoagated down into all the targets and up into all clients of this API.
llvm-svn: 54802
|
|
|
|
| |
llvm-svn: 54793
|
|
|
|
| |
llvm-svn: 54787
|
|
|
|
| |
llvm-svn: 54784
|
|
|
|
|
|
|
|
|
| |
expensive
subregister query, and by increasing the size of the subregister hashtable so
that there are fewer collisions.
llvm-svn: 54781
|
|
|
|
| |
llvm-svn: 54780
|
|
|
|
| |
llvm-svn: 54770
|
|
|
|
|
|
|
| |
can have a non-negative result; for example, -16%16 is 0. Also,
clarify the related comments. This fixes PR2670.
llvm-svn: 54767
|
|
|
|
| |
llvm-svn: 54766
|
|
|
|
| |
llvm-svn: 54765
|
|
|
|
|
|
|
| |
non-constant indices. Only a few of the peephole checks require
a constant index.
llvm-svn: 54764
|
|
|
|
|
|
|
|
| |
the r2iMap_ by value. This will prevent references to them from being invalidated
if the map is changed.
llvm-svn: 54763
|
|
|
|
|
|
|
| |
the comments in FastISelEmitter.cpp for details on what this is.
This is currently experimental and unusable.
llvm-svn: 54751
|
|
|
|
|
|
| |
room for the new FastISel instruction selection code.
llvm-svn: 54749
|
|
|
|
| |
llvm-svn: 54742
|
|
|
|
|
|
| |
2) Conditionalize temporary insertion if we don't need it.
llvm-svn: 54741
|
|
|
|
| |
llvm-svn: 54688
|
|
|
|
|
|
| |
of stack objects. This fixes PR2656.
llvm-svn: 54646
|
|
|
|
| |
llvm-svn: 54574
|
|
|
|
|
|
|
| |
names. This can save a lot of allocations if you aren't going to be
looking at the output.
llvm-svn: 54546
|
|
|
|
| |
llvm-svn: 54540
|
|
|
|
|
|
| |
the entries might make it dead.
llvm-svn: 54535
|
|
|
|
| |
llvm-svn: 54522
|
|
|
|
|
|
|
|
| |
is narrower than the pointer. This testcase emits:
.byte (((17) - 16) & 255)
llvm-svn: 54517
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
FPROUND_F80_F32, FPROUND_PPCF128_F32,
FPROUND_F80_F64, FPROUND_PPCF128_F64
Support for soften float fp_round operands is added, Mips
needs this to round f64->f32.
Also added support to soften float FABS result, Mips doesn't
support double fabs results while in 'single float only' mode.
llvm-svn: 54484
|
|
|
|
|
|
|
|
| |
Also, fix a few problems when creating
live intervals for temporaries created by phi elimination.
llvm-svn: 54483
|
|
|
|
|
|
|
|
|
|
|
| |
LowerSubregs, and fix an x86-64 isel bug that this exposed.
SUBREG_TO_REG for x86-64 implicit zero extension is only safe for
isel to generate when the source is known to always have zeros in
the high 32 bits. The EXTRACT_SUBREG instruction does not clear
the high 32 bits.
llvm-svn: 54444
|