| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 3002
|
| |
|
|
| |
llvm-svn: 2992
|
| |
|
|
| |
llvm-svn: 2979
|
| |
|
|
|
|
|
| |
* Do NOT add a prefix to global variables that are external
* Add newline after emitting a constpointerref
llvm-svn: 2925
|
| |
|
|
| |
llvm-svn: 2913
|
| |
|
|
| |
llvm-svn: 2874
|
| |
|
|
| |
llvm-svn: 2859
|
| |
|
|
|
|
| |
and generate actual machine instruction sequences directly.
llvm-svn: 2858
|
| |
|
|
| |
llvm-svn: 2857
|
| |
|
|
|
|
|
|
|
|
|
| |
and generate actual machine instruction sequences directly.
Also a couple of bug fixes in code for putting constants into registers:
-- Do *not* sign-extend unsigned constant that is shorter than int reg size
-- Fix handling of address constant (a GlobalValue) vs. constant that
must be loaded.
llvm-svn: 2856
|
| |
|
|
|
|
|
|
|
|
| |
-- FP argument to a function with no prototype going on stack
was not being copied to the stack in colorCallArgs().
-- Put caller-saving code *before* argument copying code so that
we don't trash a register before saving it!
-- Two other minor fixes.
llvm-svn: 2855
|
| |
|
|
| |
llvm-svn: 2845
|
| |
|
|
|
|
| |
assembly.
llvm-svn: 2842
|
| |
|
|
|
|
|
|
| |
changes in class MachineRegInfo (see MachineRegInfo.h for details).
Added {LD,ST}[X]FSR instructions.
llvm-svn: 2839
|
| |
|
|
| |
llvm-svn: 2838
|
| |
|
|
| |
llvm-svn: 2837
|
| |
|
|
|
|
|
|
|
|
| |
basic block.
Mark setCCInstr used as dest. of conditional-move as both a def and a use.
BA instruction no longer has the unused CC argument.
llvm-svn: 2836
|
| |
|
|
|
|
|
| |
Added LDFSR, LDXFSR, STFSR and STXFSR.
Fixed operands info for RDCCR, WRCCR.
llvm-svn: 2835
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
handle conditional move instructions:
-- cpMem<->Reg functions now support CC registers (int and FP) correctly.
Also, cpMem<->Reg functions now return a vector of machine instructions.
-- 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.
Other changes:
-- Added several get{Class,Type} functions.
-- Added unified-to-local register number conversion.
-- class MachineCodeForBasicBlock is now an annotation on BasicBlock.
-- Suggest/Color methods may modify the MachineInstr (and always did),
so don't make that argument const!
-- Caller-saving code doesn't need its special purpose code for
handling CC registers since cpMem<->Reg handle those correctly now.
llvm-svn: 2834
|
| |
|
|
| |
llvm-svn: 2808
|
| |
|
|
| |
llvm-svn: 2791
|
| |
|
|
|
|
| |
For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2778
|
| |
|
|
| |
llvm-svn: 2762
|
| |
|
|
| |
llvm-svn: 2761
|
| |
|
|
| |
llvm-svn: 2756
|
| |
|
|
|
|
| |
a vector. This makes asserting on array bounds easier.
llvm-svn: 2731
|
| |
|
|
| |
llvm-svn: 2688
|
| |
|
|
| |
llvm-svn: 2663
|
| |
|
|
|
|
|
| |
Make all sizes and offsets uint64_t instead of uint.
Fixed GetIndexedOffset to handle mixed array and struct indices.
llvm-svn: 2641
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-- correct sign extensions for integer casts and for shift-by-constant
instructions generated for integer multiply
-- 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 stack frame size when padding a section
-- folding getelementptr operations with mixed array and struct indexes
-- use uint64_t instead of uint for constant offsets in mem operands
-- 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: 2640
|
| |
|
|
| |
llvm-svn: 2535
|
| |
|
|
| |
llvm-svn: 2486
|
| |
|
|
| |
llvm-svn: 2397
|
| |
|
|
|
|
| |
to make debugging output a lot nicer.
llvm-svn: 2395
|
| |
|
|
|
|
| |
indicate whether or not they invalidate the CFGA
llvm-svn: 2386
|
| |
|
|
| |
llvm-svn: 2381
|
| |
|
|
| |
llvm-svn: 2378
|
| |
|
|
|
|
| |
Remove unneccesary getID variant for module's
llvm-svn: 2353
|
| |
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 2331
|
| |
|
|
| |
llvm-svn: 2323
|
| |
|
|
| |
llvm-svn: 2322
|
| |
|
|
|
|
|
| |
Freeze auto vars and spill areas when their sizes are used
for computing other offsets.
llvm-svn: 2317
|
| |
|
|
|
|
|
| |
function calls were simply wrong; other functions were just not
using all available registers.
llvm-svn: 2316
|
| |
|
|
|
|
| |
for a particular argument in a list of arguments.
llvm-svn: 2315
|
| |
|
|
|
|
|
|
| |
to copy the FP arg. to an integer. Necessary so that the
register allocator has two different live ranges for the FP value
and the int. argument.
llvm-svn: 2314
|
| |
|
|
| |
llvm-svn: 2313
|
| |
|
|
|
|
|
| |
assert it.
* Use WriteAsOperand instead of getStringValue for constants
llvm-svn: 2296
|
| |
|
|
| |
llvm-svn: 2254
|