| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 68735
|
|
|
|
| |
llvm-svn: 68727
|
|
|
|
|
|
| |
SelectionDAG do those. This fixes PR3955.
llvm-svn: 68546
|
|
|
|
|
|
|
|
| |
ptrtoint and inttoptr in X86FastISel. These casts aren't always
handled in the generic FastISel code because X86 sometimes needs
custom code to do truncation and zero-extension.
llvm-svn: 66988
|
|
|
|
|
|
|
|
|
| |
by inserting explicit zero extensions where necessary. Included
is a testcase where SelectionDAG produces a virtual register
holding an i1 value which FastISel previously mistakenly assumed
to be zero-extended.
llvm-svn: 66941
|
|
|
|
| |
llvm-svn: 66867
|
|
|
|
| |
llvm-svn: 66866
|
|
|
|
|
|
| |
on the number of times a std::string is created and copied.
llvm-svn: 66396
|
|
|
|
|
|
|
|
| |
getGlobalVariablesUsing and replaced it something readable. It eliminated use of slow UniqueVector and replaced it with StringMap, SmallVector, and DenseMap, etc. It also fixed some non-deterministic behavior.
This is a very minor compile time win.
llvm-svn: 65438
|
|
|
|
|
|
|
|
|
|
|
|
| |
them are generic changes.
- Use the "fast" flag that's already being passed into the asm printers instead
of shoving it into the DwarfWriter.
- Instead of calling "MI->getParent()->getParent()" for every MI, set the
machine function when calling "runOnMachineFunction" in the asm printers.
llvm-svn: 65379
|
|
|
|
|
|
|
|
|
|
| |
a DBG_LABEL or not. We want to fall back to the original way of emitting debug
info when we're in -O0/-fast mode.
- Add plumbing in to pass the "Fast" flag to places that need it.
- XFAIL DebugInfo/deaddebuglabel.ll. This is finding 11 labels instead of 8. I
need to investigate still.
llvm-svn: 65367
|
|
|
|
| |
llvm-svn: 64428
|
|
|
|
|
|
|
| |
the new way, where all of the information is passed on SDNodes and machine
instructions.
llvm-svn: 64427
|
|
|
|
| |
llvm-svn: 64379
|
|
|
|
|
|
|
| |
created. Specifically, those BuildMIs which use
"DebugLoc::getUnknownLoc()". I'll remove them soon.
llvm-svn: 63584
|
|
|
|
|
|
| |
SuperRegClasses. These are not necessary. Also eliminate getSubRegisterRegClass and getSuperRegisterRegClass. These are slow and their results can change if register file names change. Just use TargetLowering::getRegClassFor() to get the right TargetRegisterClass instead.
llvm-svn: 62762
|
|
|
|
| |
llvm-svn: 62545
|
|
|
|
| |
llvm-svn: 62286
|
|
|
|
| |
llvm-svn: 62127
|
|
|
|
|
|
| |
suggested by Chris.
llvm-svn: 62099
|
|
|
|
|
|
|
|
|
| |
and use it in x86 address mode folding. Also, make
getRegForValue return 0 for illegal types even if it has a
ValueMap for them, because Argument values are put in the
ValueMap. This fixes PR3181.
llvm-svn: 60696
|
|
|
|
| |
llvm-svn: 59952
|
|
|
|
| |
llvm-svn: 58814
|
|
|
|
|
|
|
|
|
| |
- Move the EH landing-pad code and adjust it so that it works
with FastISel as well as with SDISel.
- Add FastISel support for @llvm.eh.exception and
@llvm.eh.selector.
llvm-svn: 57539
|
|
|
|
| |
llvm-svn: 57428
|
|
|
|
|
|
|
| |
and APFloat::convertToInteger. Restore return value to
IEEE754. Adjust all users accordingly.
llvm-svn: 57329
|
|
|
|
|
|
|
| |
for things like null pointers, which at this level aren't
different from regular integer constants.
llvm-svn: 57265
|
|
|
|
|
|
|
| |
It turns out that this is a fairly common operation,
and it's easy enough to handle.
llvm-svn: 56990
|
|
|
|
|
|
|
|
|
|
|
| |
sequences like this:
sete %al
testb %al, %al
jne LBB11_1
with this:
je LBB11_1
llvm-svn: 56969
|
|
|
|
|
|
| |
they'll be a little more visible. Also, update and reword them a bit.
llvm-svn: 56877
|
|
|
|
|
|
| |
i1 operands are assumed to already by zero-extended.
llvm-svn: 56615
|
|
|
|
| |
llvm-svn: 56610
|
|
|
|
|
|
| |
giving the target a chance to materialize constants.
llvm-svn: 56605
|
|
|
|
|
|
| |
object. This will be needed to support debug info.
llvm-svn: 56508
|
|
|
|
|
|
|
| |
results in better code for globals. Also, unbreak the local CSE for
GlobalValue stub loads.
llvm-svn: 56371
|
|
|
|
| |
llvm-svn: 56068
|
|
|
|
|
|
|
| |
to static allocas. As part of this change, refactor the
address mode code for laods and stores.
llvm-svn: 56066
|
|
|
|
| |
llvm-svn: 56009
|
|
|
|
|
|
|
|
| |
With this change,
all of MultiSource/Applications passes on Darwin/X86 under FastISel.
llvm-svn: 55982
|
|
|
|
|
|
| |
funky getelementptr embedded in the address operand.
llvm-svn: 55975
|
|
|
|
| |
llvm-svn: 55892
|
|
|
|
| |
llvm-svn: 55880
|
|
|
|
|
|
| |
commit.
llvm-svn: 55865
|
|
|
|
| |
llvm-svn: 55846
|
|
|
|
| |
llvm-svn: 55843
|
|
|
|
| |
llvm-svn: 55818
|
|
|
|
|
|
|
|
| |
constant
pool loads on X86 in fast isel. This isn't actually used yet.
llvm-svn: 55814
|
|
|
|
|
|
| |
in FastISel.
llvm-svn: 55748
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
HandlePHINodesInSuccessorBlocks that works FastISel-style. This
allows PHI nodes to be updated correctly while using FastISel.
This also involves some code reorganization; ValueMap and
MBBMap are now members of the FastISel class, so they needn't
be passed around explicitly anymore. Also, SelectInstructions
is changed to SelectInstruction, and only does one instruction
at a time.
llvm-svn: 55746
|
|
|
|
| |
llvm-svn: 55704
|