| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 34111
|
| |
|
|
| |
llvm-svn: 34110
|
| |
|
|
| |
llvm-svn: 34109
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
delete ParseBytecodeFile(InputFilename, 0, &ErrorMessage);
llvm_shutdown();
delete ParseBytecodeFile(InputFilename, 0, &ErrorMessage);
The primitive type objects failed to ressurect themselves after shutdown, leading
to crashes in clients that used them after llvm_shutdown().
This solution isn't wonderful, because we clearly have static ctors. However,
the code it replaces was just as bad, so it's not a regression.
llvm-svn: 34106
|
| |
|
|
| |
llvm-svn: 34105
|
| |
|
|
|
|
| |
generate errors about being unable to resolve overloaded type.
llvm-svn: 34103
|
| |
|
|
| |
llvm-svn: 34101
|
| |
|
|
| |
llvm-svn: 34091
|
| |
|
|
| |
llvm-svn: 34086
|
| |
|
|
|
|
| |
scope.
llvm-svn: 34085
|
| |
|
|
|
|
|
|
|
|
|
| |
2. All function-level constants are now incorporated into the module-level
constant pool, since the compaction table was removed. Eliminate extra
work to check for them.
This speeds up the bcwriter from 24.4s to 13.1s on 447.dealII and .73 -> .56s
on kc++ in a release build.
llvm-svn: 34084
|
| |
|
|
|
|
| |
methods as those global function's internal implementation.
llvm-svn: 34083
|
| |
|
|
| |
llvm-svn: 34081
|
| |
|
|
| |
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
|