| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
directory.
llvm-svn: 7485
|
| |
|
|
|
|
|
|
| |
Note that some generated operators (like &, | or ^) may
not be supported by the assembler -- but if they've got
this far, it's better to generate them and let the assembler decide.
llvm-svn: 7476
|
| |
|
|
|
|
| |
than machine register size), not just the second operand.
llvm-svn: 7475
|
| |
|
|
|
|
|
|
| |
since it is *necessary* for correct code generation. Only optional
transformations belong in the PreOpts pass (which needs to be renamed
from PreSelection to PreOpts).
llvm-svn: 7474
|
| |
|
|
|
|
| |
Add new RegisterInfo class
llvm-svn: 7469
|
| |
|
|
| |
llvm-svn: 7460
|
| |
|
|
| |
llvm-svn: 7455
|
| |
|
|
| |
llvm-svn: 7454
|
| |
|
|
|
|
|
| |
.; so I have changed the basic block markers to start with .L. I also
broke up a >80char line.
llvm-svn: 7452
|
| |
|
|
|
|
| |
Make the register classes optionally take code fragments for allocation_order_*
llvm-svn: 7441
|
| |
|
|
| |
llvm-svn: 7437
|
| |
|
|
|
|
| |
ordinary (primitive) types since ConstantExprs may be of primitive type!
llvm-svn: 7418
|
| |
|
|
|
|
| |
it's currently not used.
llvm-svn: 7416
|
| |
|
|
|
|
|
|
| |
implementation
for a target.
llvm-svn: 7415
|
| |
|
|
|
|
| |
have changed.
llvm-svn: 7414
|
| |
|
|
| |
llvm-svn: 7413
|
| |
|
|
| |
llvm-svn: 7405
|
| |
|
|
| |
llvm-svn: 7404
|
| |
|
|
| |
llvm-svn: 7403
|
| |
|
|
|
|
| |
* Enabled STXFSR instructions
llvm-svn: 7400
|
| |
|
|
| |
llvm-svn: 7399
|
| |
|
|
|
|
| |
in ConvertConstantToIntType.
llvm-svn: 7395
|
| |
|
|
| |
llvm-svn: 7394
|
| |
|
|
|
|
| |
which were wrong (particularly, '\a' for '\007').
llvm-svn: 7393
|
| |
|
|
|
|
|
|
|
| |
that depends on machine register size.
Moved insertCallerSavingCode() to PhyRegAlloc and
moved isRegVolatile and modifiedByCall to TargetRegInfo: they are all
machine independent. Remove several dead functions.
llvm-svn: 7392
|
| |
|
|
|
|
|
| |
immed. field. Moved insertCallerSavingCode() to PhyRegAlloc: it is
now machine independent. Remove all uses of PhyRegAlloc.
llvm-svn: 7391
|
| |
|
|
|
|
|
| |
instead of assert()ing
* Fixed a nasty bug where '07' was used instead of register 'o7'
llvm-svn: 7382
|
| |
|
|
|
|
| |
value types
llvm-svn: 7377
|
| |
|
|
| |
llvm-svn: 7357
|
| |
|
|
|
|
| |
what value type it is.
llvm-svn: 7356
|
| |
|
|
| |
llvm-svn: 7352
|
| |
|
|
| |
llvm-svn: 7345
|
| |
|
|
| |
llvm-svn: 7344
|
| |
|
|
| |
llvm-svn: 7343
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Single and FP double reg types (which share the same reg class).
Now all methods marking/finding unused regs consider the regType
within the reg class, and SparcFloatRegClass specializes this code.
(2) Remove machine-specific regalloc. methods that are no longer needed.
In particular, arguments and return value from a call do not need
machine-specific code for allocation.
(3) Rename TargetRegInfo::getRegType variants to avoid unintentional
overloading when an include file is omitted.
llvm-svn: 7334
|
| |
|
|
|
|
|
|
| |
causing a nasty array bound error later.
2. Fix silly typo causing logical shift of unsigned long to use
SRL instead of SRLX.
llvm-svn: 7330
|
| |
|
|
|
|
|
| |
SlotCalculator in CWriter. (Unfortunately, all this means a lot of
X86/Printer's methods have to be de-constified again. Oh well.)
llvm-svn: 7299
|
| |
|
|
| |
llvm-svn: 7291
|
| |
|
|
|
|
|
|
|
|
|
| |
doFinalization too except that would have made them shadow, not override,
the parent class :-P.
Allow *any* constant cast expression between pointers and longs,
or vice-versa, or any widening (not just same-size) conversion that
isLosslesslyConvertibleTo approves. This fixes oopack.
llvm-svn: 7288
|
| |
|
|
|
|
|
|
|
|
|
| |
Printer::doFinalization() out in the cold. Now we pass in a TargetMachine
to Printer's constructor and get the TargetData from the TargetMachine.
Don't pass TargetMachine or MRegisterInfo objects around in the Printer.
Constify TargetData references.
X86.h: Update comment and prototype of createX86CodePrinterPass().
X86TargetMachine.cpp: Update callers of createX86CodePrinterPass().
llvm-svn: 7275
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Stop passing ostreams around: we already have one perfectly good ostream
and we can all share it.
Stop stashing a pointer to TargetData in the Pass object, because that will
lead to a crash if there are no functions in the module (ouch!) Instead,
use addRequired() and getAnalysis(), like we always should have done.
Move the check for ConstantExpr up before the check for isPrimitiveType,
because we need to be able to catch e.g. ubyte (cast bool false to ubyte),
whose type is primitive but which is nevertheless a ConstantExpr, by calling
our specialized handler instead of the AsmWriter. This would result in
assembler errors when we would try to output something like ".byte (cast
bool false to ubyte)".
GC some unused variable declarations.
llvm-svn: 7265
|
| |
|
|
| |
llvm-svn: 7253
|
| |
|
|
|
|
| |
whether the constant is signed or unsigned, then casting
llvm-svn: 7252
|
| |
|
|
| |
llvm-svn: 7217
|
| |
|
|
| |
llvm-svn: 7208
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid a fall-through in the (stubby) treatment of the longjmp intrinsic
call which causes llc & lli to core-dump.
Add a sort-of treatment of cast double to ulong. I am not really sure
what a user should expect to see upon casting a negative FP value to
unsigned long long. But with what is given here, I was able to write
a program that could cast -123.456 to ulong and back and get -123.0,
which seems like a step in the right direction. GCC seems to give you
0. I don't know if I'd consider that useful.
These cases were coming up in GNU coreutils-5.0.
llvm-svn: 7205
|
| |
|
|
|
|
| |
try to load or store through a bool*.
llvm-svn: 7195
|
| |
|
|
|
|
|
|
|
|
| |
now works in instructions which require a 2-bit or 3-bit INTcc code.
Incidentally, that means that the representation of INTcc registers is now the
same in both integer and FP instructions. Thus, code became much simpler and
cleaner.
llvm-svn: 7185
|
| |
|
|
|
|
| |
no change in functionality.
llvm-svn: 7184
|
| |
|
|
| |
llvm-svn: 7182
|