| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 78034
|
|
|
|
|
|
| |
interleaved (using appropriate BLOCK_IDs) otherwise ValuePtrs index gets out of sync.
llvm-svn: 78033
|
|
|
|
|
|
| |
faster) generic algorithm for now. If more accurate computation is needed, we'll rely on the disassembler.
llvm-svn: 78032
|
|
|
|
| |
llvm-svn: 78031
|
|
|
|
|
|
| |
This is a bit of pre-mature optimization. 8-bit variant makes it likely it will be narrowed to a 16-bit instruction.
llvm-svn: 78030
|
|
|
|
|
|
| |
results to fixed registers.
llvm-svn: 78025
|
|
|
|
| |
llvm-svn: 78024
|
|
|
|
|
|
|
|
|
| |
TLI.computeMaskedBitsForTargetNode from ComputeMaskedBits, since
the former may call back into the latter. This fixes a major
compile time problem on a testcase that happnened to hit this
in a particularly bad way, PR4643.
llvm-svn: 78023
|
|
|
|
| |
llvm-svn: 78020
|
|
|
|
|
|
|
|
| |
private,
eliminate IsInTextSection.
llvm-svn: 78017
|
|
|
|
| |
llvm-svn: 78015
|
|
|
|
| |
llvm-svn: 78014
|
|
|
|
| |
llvm-svn: 78013
|
|
|
|
| |
llvm-svn: 78012
|
|
|
|
|
|
| |
replicating the logic manually.
llvm-svn: 78011
|
|
|
|
|
|
| |
textual sections.
llvm-svn: 78007
|
|
|
|
| |
llvm-svn: 78006
|
|
|
|
|
|
|
| |
few places in InstCombine to use it, to fix problems handling pointer
types. This fixes the recent llvm-gcc bootstrap error.
llvm-svn: 78005
|
|
|
|
|
|
| |
hey it uses .previous, so it should work :)
llvm-svn: 78004
|
|
|
|
|
|
| |
and others.
llvm-svn: 78003
|
|
|
|
|
|
| |
more step towards "semantics sections"
llvm-svn: 78002
|
|
|
|
|
|
| |
Add a testcase.
llvm-svn: 77992
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When LowerSubregsInstructionPass::LowerInsert eliminates an INSERT_SUBREG
instriction because it is an identity copy, make sure that the same registers
are alive before and after the elimination.
When the super-register is marked <undef> this requires inserting an
IMPLICIT_DEF instruction to make sure the super register is live.
Fix a related bug where a kill flag on the inserted sub-register was not transferred properly.
Finally, clear the undef flag in MachineInstr::addRegisterKilled. Undef implies dead and kill implies live, so they cant both be valid.
llvm-svn: 77989
|
|
|
|
|
|
| |
Thanks Chris.
llvm-svn: 77987
|
|
|
|
|
|
|
|
| |
appropriate. Patch per report on llvmdev. No testcase because the
original report didn't come with a testcase, and I can't come up with a case
that actually fails.
llvm-svn: 77986
|
|
|
|
| |
llvm-svn: 77984
|
|
|
|
|
|
| |
code that I will be using shortly.
llvm-svn: 77983
|
|
|
|
| |
llvm-svn: 77982
|
|
|
|
| |
llvm-svn: 77978
|
|
|
|
|
|
|
| |
This will cause it to enter the ".text" section instead of "_text"
but masm is already broken.
llvm-svn: 77977
|
|
|
|
| |
llvm-svn: 77976
|
|
|
|
|
|
|
| |
- The theory is these should never actually be called, since these boil down to
passes which can access the target data via the standard mechanism.
llvm-svn: 77975
|
|
|
|
|
|
| |
trying the standard stuff.
llvm-svn: 77974
|
|
|
|
|
|
| |
like "LLVM ERROR: llvm: error:" or "LLVM ERROR: ERROR:".
llvm-svn: 77971
|
|
|
|
|
|
|
|
| |
Since we're generating stubs by hands we don't follow the ABI and don't
create a register spill area.
Don't use this area in compilation callback!
llvm-svn: 77968
|
|
|
|
|
|
| |
non-trivially coalesced copy, and the copy kills its source register. Trim the source register's live range to the last use if possible. This fixes up kill marker to make the scavenger happy.
llvm-svn: 77967
|
|
|
|
| |
llvm-svn: 77966
|
|
|
|
| |
llvm-svn: 77965
|
|
|
|
|
|
| |
fixes here and there (mostly __m64).
llvm-svn: 77964
|
|
|
|
|
|
| |
also fixes a subtle bug, when 6th v1i64 argument passed wrongly.
llvm-svn: 77963
|
|
|
|
|
|
| |
and provide a different set of call-clobberred registers.
llvm-svn: 77962
|
|
|
|
| |
llvm-svn: 77959
|
|
|
|
| |
llvm-svn: 77956
|
|
|
|
| |
llvm-svn: 77953
|
|
|
|
| |
llvm-svn: 77950
|
|
|
|
| |
llvm-svn: 77949
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is not just a matter of passing in the target triple from the module;
currently backends are making decisions based on the build and host
architecture. The goal is to migrate to making these decisions based off of the
triple (in conjunction with the feature string). Thus most clients pass in the
target triple, or the host triple if that is empty.
This has one important change in the way behavior of the JIT and llc.
For the JIT, it was previously selecting the Target based on the host
(naturally), but it was setting the target machine features based on the triple
from the module. Now it is setting the target machine features based on the
triple of the host.
For LLC, -march was previously only used to select the target, the target
machine features were initialized from the module's triple (which may have been
empty). Now the target triple is taken from the module, or the host's triple is
used if that is empty. Then the triple is adjusted to match -march.
The take away is that -march for llc is now used in conjunction with the host
triple to initialize the subtarget. If users want more deterministic behavior
from llc, they should use -mtriple, or set the triple in the input module.
llvm-svn: 77946
|
|
|
|
| |
llvm-svn: 77944
|
|
|
|
|
|
| |
Thanks to Eli Friedman for noticing it.
llvm-svn: 77942
|
|
|
|
|
|
| |
Fixes PR4669
llvm-svn: 77940
|