| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
llvm-svn: 36882
|
|
|
|
|
|
| |
should be taught to deal with protected symbols.
llvm-svn: 36565
|
|
|
|
|
|
| |
bitcasts of them.
llvm-svn: 36537
|
|
|
|
|
|
| |
will follow.
llvm-svn: 36435
|
|
|
|
| |
llvm-svn: 36396
|
|
|
|
| |
llvm-svn: 36354
|
|
|
|
|
|
| |
volatile/align to LLVM.
llvm-svn: 36349
|
|
|
|
|
|
|
|
| |
Make ParamAttrsList objects unique. You can no longer directly create or
destroy them but instead must go through the ParamAttrsList::get()
interface.
llvm-svn: 36327
|
|
|
|
| |
llvm-svn: 36309
|
|
|
|
| |
llvm-svn: 36301
|
|
|
|
| |
llvm-svn: 35950
|
|
|
|
|
|
| |
multiple copies of the function into the Function*.
llvm-svn: 35831
|
|
|
|
|
|
|
|
| |
Use ParamAttrsList for writing parameter attributes. Since they are sparse
now, we also write them sparsely (saves a few bytes). Unfortunately, this
is a bytecode file format change.
llvm-svn: 35811
|
|
|
|
| |
llvm-svn: 35782
|
|
|
|
| |
llvm-svn: 35475
|
|
|
|
| |
llvm-svn: 34803
|
|
|
|
| |
llvm-svn: 34718
|
|
|
|
|
|
|
| |
Change use of "packed" term to "vector" in comments, strings, variable
names, etc.
llvm-svn: 34300
|
|
|
|
|
|
|
| |
Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and
PackedTyID -> VectorTyID. No functional changes.
llvm-svn: 34293
|
|
|
|
|
|
|
|
|
|
| |
While preparing http://llvm.org/PR1198 I noticed several asserts
protecting unprepared code from i128 types that weren't actually failing
when they should because they were written as assert("foo") instead of
something like assert(0 && "foo"). This patch fixes all the cases that a
quick grep found.
llvm-svn: 34267
|
|
|
|
| |
llvm-svn: 34231
|
|
|
|
| |
llvm-svn: 34229
|
|
|
|
| |
llvm-svn: 34218
|
|
|
|
|
|
| |
module. This speeds up the bcreader 11%.
llvm-svn: 34198
|
|
|
|
| |
llvm-svn: 34148
|
|
|
|
| |
llvm-svn: 34022
|
|
|
|
| |
llvm-svn: 34021
|
|
|
|
|
|
| |
lli doesn't link in Analyzer.cpp.
llvm-svn: 34020
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 34007
|
|
|
|
| |
llvm-svn: 33995
|
|
|
|
| |
llvm-svn: 33994
|
|
|
|
| |
llvm-svn: 33980
|
|
|
|
| |
llvm-svn: 33978
|
|
|
|
|
|
|
|
|
|
| |
This patch replaces the SymbolTable class with ValueSymbolTable which does
not support types planes. This means that all symbol names in LLVM must now
be unique. The patch addresses the necessary changes to deal with this and
removes code no longer needed as a result. This completes the bulk of the
changes for this PR. Some cleanup patches will follow.
llvm-svn: 33918
|
|
|
|
|
|
|
|
|
|
|
|
| |
This feature is needed in order to support shifts of more than 255 bits
on large integer types. This changes the syntax for llvm assembly to
make shl, ashr and lshr instructions look like a binary operator:
shl i32 %X, 1
instead of
shl i32 %X, i8 1
Additionally, this should help a few passes perform additional optimizations.
llvm-svn: 33776
|
|
|
|
| |
llvm-svn: 33710
|
|
|
|
| |
llvm-svn: 33695
|
|
|
|
|
|
| |
confusion with external linkage types.
llvm-svn: 33663
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
outweight its computational costs. This patch removes all compaction
table handling from the bcreader and bcwriter. For the record, here's the
difference betweeen having and not having compaction tables for some tests:
Test With Without Size Chg
Olden/mst 5,602 5,598 +0.1%
viterbi 18,026 17,795 +1.3%
obsequi 162,133 166,663 -2.8%
burg 224,090 228,148 -1.8%
kimwitu++ 4,933,263 5,121,159 -3.8%
176.gcc 8,470,424 9,141,539 -7.3%
It seems that it is more beneficial to larger files, but even on the largest
test case we have (176.gcc) it only amounts ot an I/O saving of 7.3%.
llvm-svn: 33661
|
|
|
|
|
|
|
| |
Remove the Endianness and PointerSize fields from the ModuleHeader and
replace it with the DataLayout field.
llvm-svn: 33529
|
|
|
|
| |
llvm-svn: 33347
|
|
|
|
|
|
| |
Implement reading and writing of the Module's data layout string.
llvm-svn: 33346
|
|
|
|
| |
llvm-svn: 33166
|
|
|
|
|
|
|
|
| |
* PIC-aware internal structures in X86 Codegen have been refactored
* Visibility (default/weak) has been added
* Docs fixes (external weak linkage, visibility, formatting)
llvm-svn: 33136
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement the arbitrary bit-width integer feature. The feature allows
integers of any bitwidth (up to 64) to be defined instead of just 1, 8,
16, 32, and 64 bit integers.
This change does several things:
1. Introduces a new Derived Type, IntegerType, to represent the number of
bits in an integer. The Type classes SubclassData field is used to
store the number of bits. This allows 2^23 bits in an integer type.
2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and
64-bit integers. These are replaced with just IntegerType which is not
a primitive any more.
3. Adjust the rest of LLVM to account for this change.
Note that while this incremental change lays the foundation for arbitrary
bit-width integers, LLVM has not yet been converted to actually deal with
them in any significant way. Most optimization passes, for example, will
still only deal with the byte-width integer types. Future increments
will rectify this situation.
llvm-svn: 33113
|
|
|
|
|
|
|
|
| |
recommended that getBoolValue be replaced with getZExtValue and that
get(bool) be replaced by get(const Type*, uint64_t). This implements
those changes.
llvm-svn: 33110
|
|
|
|
| |
llvm-svn: 33076
|
|
|
|
|
|
|
| |
Merge ConstantIntegral and ConstantBool into ConstantInt.
Remove ConstantIntegral and ConstantBool from LLVM.
llvm-svn: 33073
|
|
|
|
| |
llvm-svn: 32979
|