| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
so additional dep. edges have to be added.
This was needed to correctly handle conditional move instructions!
MachineCodeForBasicBlock is now an annotation on BasicBlock.
Renamed "earliestForNode" to "earliestReadyTimeForNode".
llvm-svn: 2826
|
|
|
|
| |
llvm-svn: 2822
|
|
|
|
|
|
|
|
| |
An (explicit or implicit) operand may now be both a def and a use.
Also add a set of regs used by each instruction.
dump() no longer takes an optional argument, which doesn't work in gdb.
llvm-svn: 2821
|
|
|
|
|
|
| |
because operands may be modified directly to set register.
llvm-svn: 2820
|
|
|
|
| |
llvm-svn: 2807
|
|
|
|
| |
llvm-svn: 2791
|
|
|
|
|
|
| |
For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2779
|
|
|
|
|
|
| |
For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2778
|
|
|
|
|
|
| |
a vector. This makes asserting on array bounds easier.
llvm-svn: 2731
|
|
|
|
|
|
| |
to #include CommandLine.h.
llvm-svn: 2712
|
|
|
|
| |
llvm-svn: 2710
|
|
|
|
| |
llvm-svn: 2676
|
|
|
|
| |
llvm-svn: 2664
|
|
|
|
|
|
|
| |
May be slightly less efficient but significantly reduces special
cases interfaces in code generation.
llvm-svn: 2649
|
|
|
|
|
|
|
|
| |
array and struct indexes.
Update operand values in CallArgsDescriptor (a new class)
when replacing constant values with immediates.
llvm-svn: 2645
|
|
|
|
| |
llvm-svn: 2644
|
|
|
|
| |
llvm-svn: 2643
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-- passing FP arguments to functions with more than 6 arguments
-- passing FP arguments to varargs functions
-- passing FP arguments to functions with no prototypes
-- incorrect coloring for CC registers (both int and FP): interferences
were being completely ignored for int CC and were considered but no
spills were marked for fp CC!
Also some code improvements:
-- better interface to generating machine instr for common cases
(many places still need to be updated to use this interface)
-- annotations on MachineInstr to communicate information from
one codegen phase to another (now used to pass information about
CALL/JMPLCALL operands from selection to register allocation)
-- all sizes and offests in class TargetData are uint64_t instead of uint
llvm-svn: 2642
|
|
|
|
| |
llvm-svn: 2486
|
|
|
|
| |
llvm-svn: 2406
|
|
|
|
| |
llvm-svn: 2397
|
|
|
|
|
|
| |
to make debugging output a lot nicer.
llvm-svn: 2395
|
|
|
|
| |
llvm-svn: 2379
|
|
|
|
| |
llvm-svn: 2378
|
|
|
|
|
|
| |
to the global namespace
llvm-svn: 2370
|
|
|
|
| |
llvm-svn: 2369
|
|
|
|
| |
llvm-svn: 2336
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Rename runOnMethod to runOnFunction
* Transform getAnalysisUsageInfo into getAnalysisUsage
- Method is now const
- It now takes one AnalysisUsage object to fill in instead of 3 vectors
to fill in
- Pass's now specify which other passes they _preserve_ not which ones
they modify (be conservative!)
- A pass can specify that it preserves all analyses (because it never
modifies the underlying program)
* s/Method/Function/g in other random places as well
llvm-svn: 2333
|
|
|
|
|
|
|
|
| |
AddedInstrns sets for the first machine instruction. It is hard
to ensure that the right order is preserved, and sure enough, the
order was broken. Instead, use a separate set for the function entry.
llvm-svn: 2318
|
|
|
|
|
|
|
|
| |
AddedInstrns sets for the first machine instruction. It is hard
to ensure that the right order is preserved, and sure enough, the
order was broken. Instead, use a separate set for the function entry.
llvm-svn: 2312
|
|
|
|
| |
llvm-svn: 2311
|
|
|
|
|
|
|
|
| |
(This can be improved to avoid making the initial pass over the method.)
Also, ensure automatic vars and reg. spills areas are not extended
if their sizes are used for computing some other offset.
llvm-svn: 2310
|
|
|
|
| |
llvm-svn: 2252
|
|
|
|
|
|
| |
be 'Argument' instead of FunctionArgument.
llvm-svn: 2216
|
|
|
|
| |
llvm-svn: 2201
|
|
|
|
|
|
|
|
|
|
| |
* Delete the DelaySlotInfo objects created by the SchedulingManager class.
These leaked objects were accounting for 3/4 of the memory leaked by the
backend, so this is a relatively major win.
* Reorganize SchedulingManager::getDelaySlotInfoForInstr so that it has
better code locality (making it easier to read).
llvm-svn: 2197
|
|
|
|
|
|
|
| |
frequently. This still leaks edges quite a bit, but it leaks no nodes
(I think).
llvm-svn: 2190
|
|
|
|
|
|
| |
pointer so that they do not all get leaked!
llvm-svn: 2188
|
|
|
|
| |
llvm-svn: 2186
|
|
|
|
| |
llvm-svn: 2185
|
|
|
|
|
|
|
| |
make a PHI node, although it was badly broken. This keeps tests passing, so
we'll go with it.
llvm-svn: 2184
|
|
|
|
| |
llvm-svn: 2180
|
|
|
|
| |
llvm-svn: 2177
|
|
|
|
|
|
|
| |
class. The Method class is obsolete (renamed) and all references to it
are being converted over to Function.
llvm-svn: 2144
|
|
|
|
| |
llvm-svn: 2071
|
|
|
|
| |
llvm-svn: 2070
|
|
|
|
| |
llvm-svn: 2069
|
|
|
|
|
|
|
| |
be marked as having a Call Interference, even though it may not
be live after the call.
llvm-svn: 2068
|
|
|
|
|
|
| |
change references from MethodARgument to FunctionArgument
llvm-svn: 1991
|
|
|
|
| |
llvm-svn: 1976
|