| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 45418
|
| |
|
|
|
|
| |
of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space.
llvm-svn: 45082
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
regions of memory that have a target specific relationship, as described in the
Embedded C Technical Report.
This also implements the 2007-12-11-AddressSpaces test,
which demonstrates how address space attributes can be used in LLVM IR.
In addition, this patch changes the bitcode signature for stores (in a backwards
compatible manner), such that the pointer type, rather than the pointee type, is
encoded. This permits type information in the pointer (e.g. address space) to be
preserved for stores.
LangRef updates are forthcoming.
llvm-svn: 44858
|
| |
|
|
|
|
|
| |
_sabre_: it has a major problem: by the time ~Value is run, all of the "parts" of the derived classes have been destroyed
_sabre_: the vtable lives to fight another day
llvm-svn: 44760
|
| |
|
|
| |
llvm-svn: 44747
|
| |
|
|
| |
llvm-svn: 44204
|
| |
|
|
|
|
| |
(in hindsight) infinite recursion. Simplify the code.
llvm-svn: 43597
|
| |
|
|
| |
llvm-svn: 43133
|
| |
|
|
|
|
| |
and working with broadcasted constants.
llvm-svn: 43076
|
| |
|
|
|
|
|
|
|
| |
No compile-time support for constant operations yet,
just format transformations. Make readers and
writers work. Split constants into 2 doubles in
Legalize.
llvm-svn: 42865
|
| |
|
|
| |
llvm-svn: 42696
|
| |
|
|
|
|
|
| |
Add a new DenseMapInfo::isEqual method to allow clients to redefine
the equality predicate used when probing the hash table.
llvm-svn: 42042
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
double from some of the many places in the optimizers
it appears, and do something reasonable with x86
long double.
Make APInt::dump() public, remove newline, use it to
dump ConstantSDNode's.
Allow APFloats in FoldingSet.
Expand X86 backend handling of long doubles (conversions
to/from int, mostly).
llvm-svn: 41967
|
| |
|
|
|
|
|
| |
Next round of x87 long double stuff.
Getting close now, basically works.
llvm-svn: 41875
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use APFloat in UpgradeParser and AsmParser.
Change all references to ConstantFP to use the
APFloat interface rather than double. Remove
the ConstantFP double interfaces.
Use APFloat functions for constant folding arithmetic
and comparisons.
(There are still way too many places APFloat is
just a wrapper around host float/double, but we're
getting there.)
llvm-svn: 41747
|
| |
|
|
|
|
| |
GLIBCXX_DEBUG issues.
llvm-svn: 41697
|
| |
|
|
|
|
|
|
|
| |
Add APFloat interfaces to ConstantFP, SelectionDAG.
Fix integer bit in double->APFloat conversion.
Convert LegalizeDAG to use APFloat interface in
ConstantFPSDNode uses.
llvm-svn: 41587
|
| |
|
|
|
|
| |
This means backing out the preceding change to Constants.cpp, alas.
llvm-svn: 41378
|
| |
|
|
| |
llvm-svn: 41353
|
| |
|
|
|
|
| |
Interface to rest of the compiler unchanged, as yet.
llvm-svn: 41348
|
| |
|
|
|
|
|
| |
same value which get RAUW'd. This speeds up reading the .bc
file in PR1616 from 852s to 0.19s on my G5 with a debug build.
llvm-svn: 41209
|
| |
|
|
|
|
|
|
|
|
|
|
| |
to handle values bigger than double. If we assume host==target and host
long double works correctly, this is not too bad, but we don't want to
have that limitation longterm. I could implement accepting double
constants as long double or something like that, which would lead to
incorrect codegen with no errors; the more I think about that the worse
it seems. Rather than do such a hack that would be backed out later,
I'm settling for giving reasonable error messages, for now.
llvm-svn: 40974
|
| |
|
|
|
|
| |
AND vectors.
llvm-svn: 37586
|
| |
|
|
| |
llvm-svn: 37321
|
| |
|
|
|
|
| |
negative number. This is needed to fix test/Assembler/2007-03-19-NegValue.ll
llvm-svn: 35181
|
| |
|
|
|
|
| |
at load time.
llvm-svn: 35014
|
| |
|
|
|
|
| |
redundant and more verbose than the ConstantInt(const APInt&) constructor.
llvm-svn: 34792
|
| |
|
|
|
|
|
| |
APInt. The implied type is the integer type that corresponds to the bit
width of the APInt.
llvm-svn: 34757
|
| |
|
|
| |
llvm-svn: 34702
|
| |
|
|
|
|
| |
widths > 64 bits.
llvm-svn: 34663
|
| |
|
|
|
|
| |
lib/Analysis/ConstantFolding.
llvm-svn: 34653
|
| |
|
|
|
|
|
|
|
|
| |
Implement the first step towards arbitrary precision integer support in
LLVM. The APInt class provides arbitrary precision arithmetic and value
representation. This patch changes ConstantInt to use APInt as its value
representation without supporting bit widths > 64 yet. That change will
come after ConstantFolding handles bit widths > 64 bits.
llvm-svn: 34647
|
| |
|
|
| |
llvm-svn: 34457
|
| |
|
|
|
|
| |
and is more memory efficient.
llvm-svn: 34446
|
| |
|
|
|
|
|
| |
heavy-weight ValueMap class. This reduces mem usage bc reading kc++ by 29K,
even though it only creates 2955 constant ints!
llvm-svn: 34445
|
| |
|
|
| |
llvm-svn: 34443
|
| |
|
|
| |
llvm-svn: 34441
|
| |
|
|
| |
llvm-svn: 34440
|
| |
|
|
| |
llvm-svn: 34425
|
| |
|
|
| |
llvm-svn: 34423
|
| |
|
|
| |
llvm-svn: 34419
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 33942
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
This allows us to eliminate many temporary vectors, and theirassociated malloc/free pairs.
llvm-svn: 33692
|
| |
|
|
| |
llvm-svn: 33520
|
| |
|
|
| |
llvm-svn: 33417
|
| |
|
|
|
|
|
| |
Clean up handling of isFloatingPoint() and dealing with PackedType.
Patch by Gordon Henriksen!
llvm-svn: 33415
|