|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| | llvm-svn: 118458 | 
| | 
| 
| 
| | llvm-svn: 118457 | 
| | 
| 
| 
| 
| 
| | number of registers in the list.
llvm-svn: 118456 | 
| | 
| 
| 
| | llvm-svn: 118453 | 
| | 
| 
| 
| 
| 
| | (ahatanaka@mips.com)
llvm-svn: 118447 | 
| | 
| 
| 
| | llvm-svn: 118446 | 
| | 
| 
| 
| | llvm-svn: 118445 | 
| | 
| 
| 
| | llvm-svn: 118442 | 
| | 
| 
| 
| 
| 
| 
| | pointsToConstantMemory code to guard against possible
compile time slowdowns.
llvm-svn: 118440 | 
| | 
| 
| 
| 
| 
| | Major cleanup of whitespace and formatting issues in MBlaze backend
llvm-svn: 118434 | 
| | 
| 
| 
| | llvm-svn: 118430 | 
| | 
| 
| 
| | llvm-svn: 118429 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | handle cases in which a register is unavailable for spill code.
Adds LiveIntervalUnion::extract. While processing interferences on a
live virtual register, reuses the same Query object for each
physcial reg.
llvm-svn: 118423 | 
| | 
| 
| 
| | llvm-svn: 118422 | 
| | 
| 
| 
| | llvm-svn: 118421 | 
| | 
| 
| 
| | llvm-svn: 118417 | 
| | 
| 
| 
| | llvm-svn: 118416 | 
| | 
| 
| 
| | llvm-svn: 118413 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | to optionally look for constant or local (alloca) memory.
Teach BasicAliasAnalysis::pointsToConstantMemory to look through Select
and Phi nodes, and to support looking for local memory.
Remove FunctionAttrs' PointsToLocalOrConstantMemory function, now that
AliasAnalysis knows all the tricks that it knew.
llvm-svn: 118412 | 
| | 
| 
| 
| 
| 
| 
| | getModRefBehavior now, since it now understands intrinsics as well
as normal functions.
llvm-svn: 118411 | 
| | 
| 
| 
| 
| 
| | knows about intrinsic functions.
llvm-svn: 118410 | 
| | 
| 
| 
| 
| 
| | to analyze intrinsic functions.
llvm-svn: 118409 | 
| | 
| 
| 
| | llvm-svn: 118398 | 
| | 
| 
| 
| | llvm-svn: 118397 | 
| | 
| 
| 
| | llvm-svn: 118396 | 
| | 
| 
| 
| | llvm-svn: 118395 | 
| | 
| 
| 
| | llvm-svn: 118394 | 
| | 
| 
| 
| 
| 
| | an initial implementation and may change once reglists are fully fleshed out.
llvm-svn: 118390 | 
| | 
| 
| 
| | llvm-svn: 118389 | 
| | 
| 
| 
| 
| 
| 
| | of a select instruction, the same as already exists for integer
comparisons.
llvm-svn: 118379 | 
| | 
| 
| 
| 
| 
| 
| 
| | of a select instruction, see if doing the compare with the
true and false values of the select gives the same result.
If so, that can be used as the value of the comparison.
llvm-svn: 118378 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | This is really slow with we have 1000s of sections each with a corresponding
relocation section. Also, it is only used by the ELF writer to add
basic data, so there is no need to force a new layout pass.
Should fix PR8563.
llvm-svn: 118377 | 
| | 
| 
| 
| | llvm-svn: 118375 | 
| | 
| 
| 
| 
| 
| | on an early return.
llvm-svn: 118370 | 
| | 
| 
| 
| | llvm-svn: 118367 | 
| | 
| 
| 
| | llvm-svn: 118365 | 
| | 
| 
| 
| 
| 
| | implementing rdar://8431864
llvm-svn: 118364 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | the registers, because the register numbers may be much greater than the number
of bits available in the machine's register.
I extracted the register list verification code out of the actual parsing of the
registers. This made checking for errors much easier. It also limits the number
of warnings that would be emitted for cascading infractions.
llvm-svn: 118363 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | different forms of this instruction (movw/movl/movq) which we reported
as being ambiguous.  Since they all do the same thing, gas just picks the
one with the shortest encoding.  Follow its lead here.
This implements rdar://8208615
llvm-svn: 118362 | 
| | 
| 
| 
| | llvm-svn: 118361 | 
| | 
| 
| 
| 
| 
| 
| | to satisfy the ClassifyOperand method of the Asm matcher without having to add a
RegList type to every back-end.
llvm-svn: 118360 | 
| | 
| 
| 
| | llvm-svn: 118358 | 
| | 
| 
| 
| 
| 
| 
| | - Make ARMOperand a class so that some things are internal to the class.
- Reformatting.
llvm-svn: 118357 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | exposed:
GAS doesn't accept "fcomip %st(1)", it requires "fcomip %st(1), %st(0)"
even though st(0) is implicit in all other fp stack instructions.
Fortunately, there is an alias for fcomip named "fcompi" and gas does
accept the default argument for the alias (boggle!).
As such, switch the canonical form of this instruction to "pi" instead
of "ip".  This makes the code generator and disassembler generate pi,
avoiding the gas bug.
llvm-svn: 118356 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | shift-by-1 instructions, where the asmstring doesn't contain
the implicit 1.  It turns out that a bunch of these rotate
instructions were completely broken because they used 1 
instead of $1.
This fixes assembly mismatches on "rclb	$1, %bl" and friends,
where we used to generate the 3 byte form, we now generate the
proper 2-byte form.
llvm-svn: 118355 | 
| | 
| 
| 
| 
| 
| 
| | listed in its asm string, for consistency with the other similar
instructions.
llvm-svn: 118354 | 
| | 
| 
| 
| | llvm-svn: 118353 | 
| | 
| 
| 
| 
| 
| 
| 
| | fixed physical registers.  Start moving fp comparison
aliases to the .td file (which default to using %st1 if
nothing is specified).
llvm-svn: 118352 | 
| | 
| 
| 
| 
| 
| 
| | (surprise!) a list of registers. Register lists are consecutive, so we only need
to record the start register plus the number of registers.
llvm-svn: 118351 | 
| | 
| 
| 
| 
| 
| 
| | add fixed immediate values.  Move the aad and aam aliases to
use this, and document it.
llvm-svn: 118350 |