| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 23053
|
| |
|
|
|
|
|
|
|
| |
_test:
srawi r2, r3, 2
addze r3, r2
blr
llvm-svn: 23052
|
| |
|
|
| |
llvm-svn: 23051
|
| |
|
|
| |
llvm-svn: 23050
|
| |
|
|
| |
llvm-svn: 23049
|
| |
|
|
| |
llvm-svn: 23048
|
| |
|
|
| |
llvm-svn: 23047
|
| |
|
|
| |
llvm-svn: 23046
|
| |
|
|
| |
llvm-svn: 23045
|
| |
|
|
| |
llvm-svn: 23044
|
| |
|
|
|
|
| |
list when doing two-address and phi node lowering during register allocation.
llvm-svn: 23043
|
| |
|
|
|
|
|
| |
is used by the int -> FP code among other things. This gets
2005-05-12-Int64ToFP past that failure, to dying on lack of support for add_parts
llvm-svn: 23042
|
| |
|
|
| |
llvm-svn: 23041
|
| |
|
|
| |
llvm-svn: 23040
|
| |
|
|
|
|
|
|
|
|
| |
Move the implementation of the fix from Makefile.rules to Makefile. This
ensures that it is only checked on a top-level rebuild, and not in every
single subdirectory. This removes some annoying messages from the build and
numerous executions of config.status if the .in file changes but not
substantively enough to cause the .h file to be modified by config.status.
llvm-svn: 23039
|
| |
|
|
| |
llvm-svn: 23038
|
| |
|
|
|
|
| |
project. Thanks to Chris for pointing out this deficiency.
llvm-svn: 23037
|
| |
|
|
|
|
| |
around to functions and stuff
llvm-svn: 23036
|
| |
|
|
| |
llvm-svn: 23035
|
| |
|
|
| |
llvm-svn: 23034
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to codegen this: float foo() { return 1.245; }
into this:
_foo:
lis r2, ha16(.CPI_foo_0)
lfs f1, lo16(.CPI_foo_0)(r2)
blr
instead of this:
_foo:
lis r2, ha16(.CPI_foo_0)
lfs r2, lo16(.CPI_foo_0)(r2) <-- ouch
or f1, r2, r2 <-- ouch
blr
with the dag isel.
llvm-svn: 23033
|
| |
|
|
| |
llvm-svn: 23032
|
| |
|
|
| |
llvm-svn: 23031
|
| |
|
|
| |
llvm-svn: 23030
|
| |
|
|
| |
llvm-svn: 23029
|
| |
|
|
|
|
|
| |
instructions take a consistent reg class. Implement ISD::UNDEF in the dag->dag
selector to generate this, fixing UnitTests/2003-07-06-IntOverflow.
llvm-svn: 23028
|
| |
|
|
| |
llvm-svn: 23027
|
| |
|
|
| |
llvm-svn: 23026
|
| |
|
|
|
|
| |
Add some foldings to hopefully help the illegal setcc issue, and move some code around.
llvm-svn: 23025
|
| |
|
|
| |
llvm-svn: 23024
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Emit the indcall sequence as:
mtctr inreg
mr R12, inreg
btctr
If inreg and R12 aren't coallesced, this reduces the odds of having the mtctr
and btctr in the same dispatch group. :)
llvm-svn: 23023
|
| |
|
|
| |
llvm-svn: 23022
|
| |
|
|
| |
llvm-svn: 23021
|
| |
|
|
| |
llvm-svn: 23020
|
| |
|
|
| |
llvm-svn: 23019
|
| |
|
|
| |
llvm-svn: 23018
|
| |
|
|
|
|
|
| |
Regression/Transforms/SimplifyLibCalls/floor.ll. This triggers 19 times in
177.mesa.
llvm-svn: 23017
|
| |
|
|
| |
llvm-svn: 23016
|
| |
|
|
|
|
| |
in mesa.
llvm-svn: 23015
|
| |
|
|
| |
llvm-svn: 23014
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
select. Also teach it that the bit count instructions can only set the low bits
of the result, depending on the size of the input.
This allows us to compile this:
int %eq0(int %a) {
%tmp.1 = seteq int %a, 0 ; <bool> [#uses=1]
%tmp.2 = cast bool %tmp.1 to int ; <int> [#uses=1]
ret int %tmp.2
}
To this:
_eq0:
cntlzw r2, r3
srwi r3, r2, 5
blr
instead of this:
_eq0:
cntlzw r2, r3
rlwinm r3, r2, 27, 31, 31
blr
when setcc is marked illegal on ppc (which restores parity to non-illegal
setcc). Thanks to Nate for pointing this out.
llvm-svn: 23013
|
| |
|
|
| |
llvm-svn: 23012
|
| |
|
|
| |
llvm-svn: 23011
|
| |
|
|
| |
llvm-svn: 23010
|
| |
|
|
| |
llvm-svn: 23009
|
| |
|
|
|
|
| |
Wrap a line.
llvm-svn: 23008
|
| |
|
|
|
|
| |
projects to compile properly.
llvm-svn: 23007
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Make any header files that are automatically generated be preconditions of
the compilation. This ensures that if a *.h.in file is changed then its
corresponding *.h file gets updated on the next rebuild. Note that this can
lead to confusing (but correct) results if the *.h.in file changed
unsubstantially so that autoheader doesn't update the *.h file. In that case,
manually touch the *.h file in question to restore order. Moral of the story,
if you're going to "touch" a *.in file then modify it substantially.
llvm-svn: 23006
|
| |
|
|
|
|
|
|
|
|
| |
These patches make threading optional in LLVM. The configuration scripts are now
modified to accept a --disable-threads switch. If this is used, the Mutex class
will be implemented with all functions as no-op. Furthermore, linking against
libpthread will not be done. Finally, the ParallelJIT example needs libpthread
so its makefile was changed to always add -lpthread to the link line.
llvm-svn: 23003
|
| |
|
|
|
|
| |
target independent code in SelectionDAG.cpp
llvm-svn: 23002
|