| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
* Fixed file headers to be consistent with the rest of LLVM
* Other minor fixes
llvm-svn: 3277
|
|
|
|
|
|
|
| |
instead of ::ID's.
- Pass::getAnalysis<> now no longer takes an optional argument
llvm-svn: 3264
|
|
|
|
| |
llvm-svn: 3057
|
|
|
|
| |
llvm-svn: 2985
|
|
|
|
| |
llvm-svn: 2847
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
handle conditional move instructions:
-- cpMem<->Reg functions now support CC registers (int and FP) correctly.
-- Scratch registers must be explicitly provided to cpMem<->Reg when
needed, since CC regs need one to be copied to/from memory.
-- CC regs are saved to a scratch register instead of stack.
-- All regs used by a instruction are now recorded in MachineInstr::regsUsed,
since regs used to save values *across* an instruction are not obvious
either from the operands or from the LiveVar sets.
-- An (explicit or implicit) operand may now be both a def and a use.
This is needed for conditional move operations.
So an operand may need spill code both before and after the instruction.
-- class MachineCodeForBasicBlock is now an annotation on BasicBlock.
llvm-svn: 2833
|
|
|
|
|
|
|
| |
because operands may be modified directly to set register.
Also, class MachineCodeForBasicBlock is now an annotation on BasicBlock.
llvm-svn: 2832
|
|
|
|
| |
llvm-svn: 2822
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-- 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: 2397
|
|
|
|
|
|
| |
to make debugging output a lot nicer.
llvm-svn: 2395
|
|
|
|
| |
llvm-svn: 2379
|
|
|
|
|
|
| |
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: 2252
|
|
|
|
|
|
| |
pointer so that they do not all get leaked!
llvm-svn: 2188
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
be marked as having a Call Interference, even though it may not
be live after the call.
llvm-svn: 2068
|
|
|
|
| |
llvm-svn: 1976
|
|
|
|
| |
llvm-svn: 1957
|
|
|
|
|
|
| |
but did not pass the arguments by reference!
llvm-svn: 1906
|
|
|
|
|
|
|
| |
but did not pass the arguments by reference!
Also added a function to get a register class by ID.
llvm-svn: 1901
|
|
|
|
|
|
|
| |
Method::inst_* is now in llvm/Support/InstIterator.h
GraphTraits specializations for BasicBlock and Methods are now in llvm/Support/CFG.h
llvm-svn: 1746
|
|
|
|
| |
llvm-svn: 1720
|
|
|
|
|
|
| |
return references instead of pointers.
llvm-svn: 1719
|
|
|
|
|
|
| |
* Removal dependencies on Type.h & remove uses of getTypeID()
llvm-svn: 1718
|
|
|
|
|
|
| |
* Removal of getTypeID() methods, and dependence on llvm/Type.h, from IGNode & LiveRange
llvm-svn: 1717
|
|
|
|
| |
llvm-svn: 1716
|
|
|
|
|
|
|
|
|
|
| |
function in the one .cpp file that uses it. Use ValueSet's instead.
* Prepare to delete LiveVarSet.h & LiveVarSet.cpp
* Eliminate the ValueSet class, making all old member functions into global
templates that will eventually be moved to Support.
* Eliminate some irrelevant const's
llvm-svn: 1712
|
|
|
|
|
|
|
|
|
| |
function in the one .cpp file that uses it. Use ValueSet's instead.
* Prepare to delete LiveVarSet.h & LiveVarSet.cpp
* Eliminate the ValueSet class, making all old member functions into global
templates that will eventually be moved to Support.
llvm-svn: 1711
|
|
|
|
|
|
| |
* Introduce RAV to allow stream I/O instead of using printValue
llvm-svn: 1710
|
|
|
|
| |
llvm-svn: 1707
|
|
|
|
| |
llvm-svn: 1701
|