History log of /llvm-project/llvm/lib/Bitcode/Reader/BitcodeReader.cpp (Results 1201 – 1225 of 1334)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 277800a6 26-Apr-2009 Chris Lattner <sabre@nondot.org>

Make a major API change to BitstreamReader: split all the reading
state out of the BitstreamReader class into a BitstreamCursor class.
Doing this allows the client to have multiple cursors into the s

Make a major API change to BitstreamReader: split all the reading
state out of the BitstreamReader class into a BitstreamCursor class.
Doing this allows the client to have multiple cursors into the same
file, each with potentially different live block stacks and
abbreviation records.

llvm-svn: 70157

show more ...


# 184f1be4 13-Apr-2009 Chris Lattner <sabre@nondot.org>

Add a new "available_externally" linkage type. This is intended
to support C99 inline, GNU extern inline, etc. Related bugzilla's
include PR3517, PR3100, & PR2933. Nothing uses this yet, but it
ap

Add a new "available_externally" linkage type. This is intended
to support C99 inline, GNU extern inline, etc. Related bugzilla's
include PR3517, PR3100, & PR2933. Nothing uses this yet, but it
appears to work.

llvm-svn: 68940

show more ...


# b9e07fd2 06-Apr-2009 Chris Lattner <sabre@nondot.org>

Teach llvm-bcanalyzer to skip over the header we use on LLVM IR files.

llvm-svn: 68458


# 49f89195 04-Apr-2009 Nick Lewycky <nicholas@mxc.ca>

Add support for embedded metadata to LLVM. This introduces two new types of
Constant, MDString and MDNode which can only be used by globals with a name
that starts with "llvm." or as arguments to a f

Add support for embedded metadata to LLVM. This introduces two new types of
Constant, MDString and MDNode which can only be used by globals with a name
that starts with "llvm." or as arguments to a function with the same naming
restriction.

llvm-svn: 68420

show more ...


# 647cffba 01-Apr-2009 Chris Lattner <sabre@nondot.org>

fix a serious regression I introduced in my previous patch.

llvm-svn: 68173


# 2d8cd80e 31-Mar-2009 Chris Lattner <sabre@nondot.org>

reimplement BitcodeReaderValueList in terms of WeakVH instead of making
it be an LLVM IR User object.

llvm-svn: 68156


# 93eefa00 23-Mar-2009 Dale Johannesen <dalej@apple.com>

Fix internal representation of fp80 to be the
same as a normal i80 {low64, high16} rather
than its own {high64, low16}. A depressing number
of places know about this; I think I got them all.
Bitcode

Fix internal representation of fp80 to be the
same as a normal i80 {low64, high16} rather
than its own {high64, low16}. A depressing number
of places know about this; I think I got them all.
Bitcode readers and writers convert back to the old
form to avoid breaking compatibility.

llvm-svn: 67562

show more ...


# 4581bebf 11-Mar-2009 Duncan Sands <baldrick@free.fr>

It makes no sense to have a ODR version of common
linkage, so remove it.

llvm-svn: 66690


# e2881053 11-Mar-2009 Duncan Sands <baldrick@free.fr>

Remove the one-definition-rule version of extern_weak
linkage: this linkage type only applies to declarations,
but ODR is only relevant to globals with definitions.

llvm-svn: 66650


# 12da8ce3 07-Mar-2009 Duncan Sands <baldrick@free.fr>

Introduce new linkage types linkonce_odr, weak_odr, common_odr
and extern_weak_odr. These are the same as the non-odr versions,
except that they indicate that the global will only be overridden
by a

Introduce new linkage types linkonce_odr, weak_odr, common_odr
and extern_weak_odr. These are the same as the non-odr versions,
except that they indicate that the global will only be overridden
by an *equivalent* global. In C, a function with weak linkage can
be overridden by a function which behaves completely differently.
This means that IP passes have to skip weak functions, since any
deductions made from the function definition might be wrong, since
the definition could be replaced by something completely different
at link time. This is not allowed in C++, thanks to the ODR
(One-Definition-Rule): if a function is replaced by another at
link-time, then the new function must be the same as the original
function. If a language knows that a function or other global can
only be overridden by an equivalent global, it can give it the
weak_odr linkage type, and the optimizers will understand that it
is alright to make deductions based on the function body. The
code generators on the other hand map weak and weak_odr linkage
to the same thing.

llvm-svn: 66339

show more ...


Revision tags: llvmorg-2.5.0
# 94aa38d5 12-Feb-2009 Nate Begeman <natebegeman@mac.com>

Add suppport for ConstantExprs of shufflevectors whose result type is not equal to the
type of the vectors being shuffled.

llvm-svn: 64401


# fa4e35ac 03-Feb-2009 Chris Lattner <sabre@nondot.org>

fix a bitcode reader bug where it can't handle extractelement correctly:
the index of the value being extracted is always an i32. This fixes PR3465

llvm-svn: 63597


# 6de96a1b 15-Jan-2009 Rafael Espindola <rafael.espindola@gmail.com>

Add the private linkage.

llvm-svn: 62279


# 8d69f488 19-Dec-2008 Nick Lewycky <nicholas@mxc.ca>

Commit missed files from nocapture change.

llvm-svn: 61240


# a397baea 16-Dec-2008 Bill Wendling <isanbard@gmail.com>

Temporarily revert r61019, r61030, and r61040. These were breaking LLVM Release
builds.

llvm-svn: 61094


# ddffe620 15-Dec-2008 Nick Lewycky <nicholas@mxc.ca>

Introducing nocapture, a parameter attribute for pointers to indicate that the
callee will not introduce any new aliases of that pointer.

The attributes had all bits allocated already, so I decided

Introducing nocapture, a parameter attribute for pointers to indicate that the
callee will not introduce any new aliases of that pointer.

The attributes had all bits allocated already, so I decided to collapse
alignment. Alignment was previously stored as a 16-bit integer from bits 16 to
32 of the attribute, but it was required to be a power of 2. Now it's stored in
log2 encoded form in five bits from 16 to 21. That gives us 11 more bits of
space.

You may have already noticed that you only need four bits to encode a 16-bit
power of two, so why five bits? Because the AsmParser accepted 32-bit
alignments, even though we couldn't store them (they were silently discarded).
Now we can store them in memory, but not in the bitcode.

The bitcode format was already storing these as 64-bit VBR integers. So, the
bitcode format stays the same, keeping the alignment values stored as 16 bit
raw values. There's some hideous code in the reader and writer that deals with
this, waiting to be ripped out the moment we run out of bits again and have to
replace the parameter attributes table encoding.

llvm-svn: 61019

show more ...


Revision tags: llvmorg-2.4.0
# 25f0106f 10-Nov-2008 Mon P Wang <wangmp@apple.com>

Added support for the following definition of shufflevector
<result> = shufflevector <n x <ty>> <v1>, <n x <ty>> <v2>, <m x i32> <mask>

llvm-svn: 58964


# 4744ed5f 05-Oct-2008 Chris Lattner <sabre@nondot.org>

make the autoupgrade code for ret attributes dramatically simpler
and actually work. We can now read the llvm 2.3 bc file from PR2849

llvm-svn: 57122


# a05633e1 26-Sep-2008 Devang Patel <dpatel@apple.com>

Now Attributes are divided in three groups
- return attributes - inreg, zext and sext
- parameter attributes
- function attributes - nounwind, readonly, readnone, noreturn

Return attributes use 0 as

Now Attributes are divided in three groups
- return attributes - inreg, zext and sext
- parameter attributes
- function attributes - nounwind, readonly, readnone, noreturn

Return attributes use 0 as the index.
Function attributes use ~0U as the index.

This patch requires corresponding changes in llvm-gcc and clang.

llvm-svn: 56704

show more ...


# 4c758ea3 25-Sep-2008 Devang Patel <dpatel@apple.com>

Large mechanical patch.

s/ParamAttr/Attribute/g
s/PAList/AttrList/g
s/FnAttributeWithIndex/AttributeWithIndex/g
s/FnAttr/Attribute/g

This sets the stage
- to implement function notes as function a

Large mechanical patch.

s/ParamAttr/Attribute/g
s/PAList/AttrList/g
s/FnAttributeWithIndex/AttributeWithIndex/g
s/FnAttr/Attribute/g

This sets the stage
- to implement function notes as function attributes and
- to distinguish between function attributes and return value attributes.

This requires corresponding changes in llvm-gcc and clang.

llvm-svn: 56622

show more ...


# 6402c723 24-Sep-2008 Devang Patel <dpatel@apple.com>

s/ParamAttrsWithIndex/FnAttributeWithIndex/g

llvm-svn: 56535


# 82fed670 23-Sep-2008 Devang Patel <dpatel@apple.com>

Use parameter attribute store (soon to be renamed) for
Function Notes also. Function notes are stored at index ~0.

llvm-svn: 56511


# c5d2892e 16-Sep-2008 Dan Gohman <gohman@apple.com>

Re-enables the new vector select in the bitcode reader, by modifying the
bitcode reader/writer as follows:

- add and use new bitcode FUNC_CODE_INST_VSELECT to handle the llvm
select opcode using eit

Re-enables the new vector select in the bitcode reader, by modifying the
bitcode reader/writer as follows:

- add and use new bitcode FUNC_CODE_INST_VSELECT to handle the llvm
select opcode using either i1 or [N x i1] as the selector.
- retain old BITCODE FUNC_CODE_INST_SELECT in the bitcode reader to
handle select on i1 for backwards compatibility with existing bitcode
files.
- re-enable the vector-select.ll test program.

Also, rename the recently added bitcode opcode FUNC_CODE_INST_VCMP to
FUNC_CODE_INST_CMP2 and make the bitcode writer use it to handle
fcmp/icmp on scalars or vectors. In the bitcode writer, use
FUNC_CODE_INST_CMP for vfcmp/vicmp only. In the bitcode reader, have
FUNC_CODE_INST_CMP handle icmp/fcmp returning bool, for backwards
compatibility with existing bitcode files.

Patch by Preston Gurd!

llvm-svn: 56233

show more ...


# 7164e9a7 09-Sep-2008 Dan Gohman <gohman@apple.com>

Temporarily disable vector select in the bitcode reader. The
way it handles the type of the condition is breaking plain
scalar select in the case that the value is a
forward-reference.

llvm-svn: 559

Temporarily disable vector select in the bitcode reader. The
way it handles the type of the condition is breaking plain
scalar select in the case that the value is a
forward-reference.

llvm-svn: 55976

show more ...


# c579d978 09-Sep-2008 Dan Gohman <gohman@apple.com>

Extend the vcmp/fcmp LLVM IR instructions to take vectors as arguments
and, if so, to return a vector of boolean as a result;

Extend the select LLVM IR instruction to allow you to specify a result
t

Extend the vcmp/fcmp LLVM IR instructions to take vectors as arguments
and, if so, to return a vector of boolean as a result;

Extend the select LLVM IR instruction to allow you to specify a result
type which is a vector of boolean, in which case the result will be an
element-wise selection instead of choosing one vector or the other; and

Update LangRef.html to describe these changes.

This patch was contributed by Preston Gurd!

llvm-svn: 55969

show more ...


1...<<41424344454647484950>>...54