| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
this:
- movl $0, %eax
- movl %eax, _yy_n_chars
+ movl $0, _yy_n_chars
llvm-svn: 57555
|
|
|
|
| |
llvm-svn: 57553
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Compute action in X86SelectSelect based on MVT instead of type.
2. Use TLI.getValueType(..) instead of MVT::getVT(..) because the former
handles pointers and the later doesn't.
3. Don't pass TLI into isTypeLegal, since it already has access to it as
an ivar.
#2 gives fast isel some minor new functionality: handling load/stores of
pointers.
llvm-svn: 57552
|
|
|
|
| |
llvm-svn: 57551
|
|
|
|
|
|
| |
change the generated code, but makes the code simpler.
llvm-svn: 57550
|
|
|
|
|
|
|
|
| |
which makes it easy to share the compare/imm folding logic with 'setcc'.
This shaves a bunch of instructions off the common select case, which
happens a lot in llvm-gcc.
llvm-svn: 57549
|
|
|
|
|
|
| |
loading 4 into a register and then doing the compare.
llvm-svn: 57548
|
|
|
|
| |
llvm-svn: 57547
|
|
|
|
| |
llvm-svn: 57546
|
|
|
|
| |
llvm-svn: 57545
|
|
|
|
| |
llvm-svn: 57544
|
|
|
|
|
|
|
|
|
|
|
| |
i.e. conditions that cannot be checked with a single instruction. For example,
SETONE and SETUEQ on x86.
- Teach legalizer to implement *illegal* setcc as a and / or of a number of
legal setcc nodes. For now, only implement FP conditions. e.g. SETONE is
implemented as SETO & SETNE, SETUEQ is SETUO | SETEQ.
- Move x86 target over.
llvm-svn: 57542
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
| |
for pentium). Fixes
gcc.target/i386/20000720-1.c
gcc.target/i386/pr26826.c
llvm-svn: 57528
|
|
|
|
| |
llvm-svn: 57526
|
|
|
|
|
|
| |
left to right)
llvm-svn: 57524
|
|
|
|
|
|
|
|
|
| |
instead of requiring all "short description" strings to begin with
two spaces. This makes these strings less mysterious, and it fixes
some cases where short description strings mistakenly did not
begin with two spaces.
llvm-svn: 57521
|
|
|
|
| |
llvm-svn: 57508
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
create a new DAG node to represent the new shift to keep the
DAG consistent, even though it'll almost always be folded into
the address.
If a user of the resulting address has multiple uses, the
nodes may get revisited by a later MatchAddress call, in which
case DAG inconsistencies do matter.
This fixes PR2849.
llvm-svn: 57465
|
|
|
|
| |
llvm-svn: 57414
|
|
|
|
|
|
|
| |
parameters instead of raw Constants. This prevents the constants from
being selected by the isel pass, fixing PR2735.
llvm-svn: 57385
|
|
|
|
| |
llvm-svn: 57381
|
|
|
|
| |
llvm-svn: 57380
|
|
|
|
|
|
|
|
| |
the same pattern as roundpd/roundps, the Intel compiler
builtins do not: rounds* has an extra operand. Fixes
gcc.target/i386/sse4_1-rounds[sd]-[1234].c
llvm-svn: 57370
|
|
|
|
| |
llvm-svn: 57368
|
|
|
|
|
|
| |
support there. At least, this will allow libgcc compile, however we are not ABI-compatible with stuff compiled with native gcc.
llvm-svn: 57364
|
|
|
|
| |
llvm-svn: 57363
|
|
|
|
| |
llvm-svn: 57362
|
|
|
|
| |
llvm-svn: 57359
|
|
|
|
| |
llvm-svn: 57358
|
|
|
|
| |
llvm-svn: 57346
|
|
|
|
|
|
| |
it is correct, however :)
llvm-svn: 57345
|
|
|
|
| |
llvm-svn: 57344
|
|
|
|
|
|
|
| |
and APFloat::convertToInteger. Restore return value to
IEEE754. Adjust all users accordingly.
llvm-svn: 57329
|
|
|
|
|
|
|
| |
make it clearer what the function does. No functional
change.
llvm-svn: 57325
|
|
|
|
| |
llvm-svn: 57318
|
|
|
|
|
|
| |
g++dg/abi/key2.C
llvm-svn: 57309
|
|
|
|
| |
llvm-svn: 57295
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GCC 4.4.0 gives an error on the "int" declaration for example
saying that it has already been declared (using the "short"
one). Using templates here allow the compiler to distinguish
between the function to choose.
Also, "llvm/Support/DataTypes.h" was not included, leading to
error messages about not knowing "uint32_t" for example.
Patch by Samuel Tardieu.
llvm-svn: 57292
|
|
|
|
|
|
| |
Patch by Samuel Tardieu.
llvm-svn: 57291
|
|
|
|
|
|
|
| |
SDISel typically adds them in. This makes it a little easier
to compare FastISel output with SDISel output.
llvm-svn: 57266
|
|
|
|
|
|
|
|
| |
X86::CL that was used, emit an EXTRACT_SUBREG from the CL
super-register to CL. This more precisely describes how the
CL register is being used.
llvm-svn: 57264
|
|
|
|
|
|
| |
get the proper opcode bits.
llvm-svn: 57262
|
|
|
|
| |
llvm-svn: 57261
|
|
|
|
| |
llvm-svn: 57259
|
|
|
|
| |
llvm-svn: 57258
|
|
|
|
|
|
| |
Fixes local RA miscompilation of gcc.c-torture/execute/20020904-1.c -O0.
llvm-svn: 57257
|
|
|
|
|
|
| |
the Rn operand encoded properly
llvm-svn: 57252
|
|
|
|
| |
llvm-svn: 57251
|
|
|
|
|
|
| |
SSE2, when in reality movss is an SSE1 instruction.
llvm-svn: 57246
|