| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 34072
|
| |
|
|
| |
llvm-svn: 34066
|
| |
|
|
| |
llvm-svn: 34065
|
| |
|
|
|
|
| |
strings.
llvm-svn: 34064
|
| |
|
|
| |
llvm-svn: 34062
|
| |
|
|
| |
llvm-svn: 34056
|
| |
|
|
| |
llvm-svn: 34054
|
| |
|
|
|
|
|
|
| |
add some signed/unsigned arithmetic operation functions into APInt.h to
handle the signed/unsigned issue. These functions will be defined inside a
namespace "APIntOps" which is inside llvm namespace.
llvm-svn: 34053
|
| |
|
|
| |
llvm-svn: 34040
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code sequence before the spiller is something like:
= tMOVrr
%reg1117 = tMOVrr
%reg1078 = tLSLri %reg1117, 2
The it starts spilling:
%r0 = tRestore <fi#5>, 0
%r1 = tRestore <fi#7>, 0
%r1 = tMOVrr %r1<kill>
tSpill %r1, <fi#5>, 0
%reg1078 = tLSLri %reg1117, 2
It restores the value while processing the first tMOVrr. At this point, the
spiller remembers fi#5 is available in %r0. Next it processes the second move.
It restores the source before the move and spills the result afterwards. The
move becomes a noop and is deleted. However, a spill has been inserted and that
should invalidate reuse of %r0 for fi#5 and add reuse of %r1 for fi#5.
Therefore, %reg1117 (which is also assigned fi#5) should get %r1, not %r0.
llvm-svn: 34039
|
| |
|
|
|
|
|
|
| |
definition of it into the CodeGen library. This is so that a backend doesn't
necessarily add in these writers if it doesn't use them (like in the lli
program).
llvm-svn: 34034
|
| |
|
|
|
|
| |
the code emitter and not set variables.
llvm-svn: 34033
|
| |
|
|
|
|
|
| |
do some common stuff, then on our own add an object file writer (by calling
a concrete function), and then do some finishing stuff, if need be.
llvm-svn: 34032
|
| |
|
|
| |
llvm-svn: 34031
|
| |
|
|
| |
llvm-svn: 34029
|
| |
|
|
| |
llvm-svn: 34027
|
| |
|
|
|
|
|
|
| |
Compute BitMask correctly.
Patch by Leo (wenwenti@hotmail.com).
llvm-svn: 34026
|
| |
|
|
| |
llvm-svn: 34022
|
| |
|
|
| |
llvm-svn: 34021
|
| |
|
|
|
|
| |
lli doesn't link in Analyzer.cpp.
llvm-svn: 34020
|
| |
|
|
| |
llvm-svn: 34013
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
api's look like this:
ModuleProvider *getBytecodeModuleProvider(
const std::string &Filename, ///< Name of file to be read
BCDecompressor_t *BCDC = Compressor::decompressToNewBuffer,
std::string* ErrMsg = 0, ///< Optional error message holder
BytecodeHandler* H = 0 ///< Optional handler for reader events
);
This is ugly, but allows a client to say:
getBytecodeModuleProvider("foo", 0);
If they do this, there is no dependency on the compression libraries, saving
codesize.
llvm-svn: 34012
|
| |
|
|
| |
llvm-svn: 34011
|
| |
|
|
|
|
| |
str / ldr.
llvm-svn: 34010
|
| |
|
|
| |
llvm-svn: 34009
|
| |
|
|
|
|
|
| |
to construct FunctionType in separate function, and, have getDeclaration
return a Function instead of a Constant.
llvm-svn: 34008
|
| |
|
|
| |
llvm-svn: 34007
|
| |
|
|
|
|
| |
Use handleLastUserOverflow().
llvm-svn: 34006
|
| |
|
|
|
|
|
|
|
| |
This happened because deadargelim now causes VMCore to auto-rename every
function that it hacks arguments out of. Because it hacks arguments out of
functions in a non-deterministic order, this caused the resultant numbering
to be nondet. The fix is to just be careful to not rename functions!
llvm-svn: 34005
|
| |
|
|
| |
llvm-svn: 34000
|
| |
|
|
|
|
|
|
| |
that is the case, whenever we use it as a scratch register, save it to R12
first and then restore it after the use.
This is a temporary and truly horrible workaround!
llvm-svn: 33999
|
| |
|
|
| |
llvm-svn: 33998
|
| |
|
|
|
|
|
|
| |
- If there is a dynamic alloca, in the epilogue, restore the value of sp
using r7 - offset.
- Other bug fixes.
llvm-svn: 33997
|
| |
|
|
| |
llvm-svn: 33995
|
| |
|
|
| |
llvm-svn: 33994
|
| |
|
|
| |
llvm-svn: 33993
|
| |
|
|
| |
llvm-svn: 33992
|
| |
|
|
|
|
| |
the one IPO pass that uses it.
llvm-svn: 33990
|
| |
|
|
| |
llvm-svn: 33989
|
| |
|
|
|
|
|
|
| |
remove+insert.
Make insert/remove assert if used incorrectly instead of returning a bool.
llvm-svn: 33988
|
| |
|
|
| |
llvm-svn: 33985
|
| |
|
|
|
|
|
|
|
| |
based on the alignment of the symbol and the target data's preferred align
for that type.
Also, rename some arguments for consistency.
llvm-svn: 33984
|
| |
|
|
|
|
|
| |
inserting a type into the type symbol table, only compute unique name if not
in symtab already.
llvm-svn: 33983
|
| |
|
|
| |
llvm-svn: 33982
|
| |
|
|
|
|
| |
where a symbol name doesn't conflict. This speeds up bc reading 16% on 176.gcc!
llvm-svn: 33981
|
| |
|
|
| |
llvm-svn: 33980
|
| |
|
|
| |
llvm-svn: 33978
|
| |
|
|
|
|
| |
of SP when there are dynamic alloca's.
llvm-svn: 33975
|
| |
|
|
|
|
| |
std::map of std::vector's (ouch!). This speeds up mem2reg by 10% on 176.gcc.
llvm-svn: 33974
|
| |
|
|
| |
llvm-svn: 33973
|