History log of /llvm-project/llvm/lib/Bitcode/Reader/MetadataLoader.cpp (Results 176 – 192 of 192)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 7faeecc8 25-Dec-2016 Amjad Aboud <amjad.aboud@intel.com>

[DebugInfo] Added support for Checksum debug info feature.

Differential Revision: https://reviews.llvm.org/D27642

llvm-svn: 290514


# 690952d1 25-Dec-2016 Mehdi Amini <mehdi.amini@apple.com>

MetadataLoader: replace the tracking of ForwardReferences and UnresolvedNodes with a set-based solution (NFC)

This makes it explicit what is the exact list to handle, and it
looks much more easy to

MetadataLoader: replace the tracking of ForwardReferences and UnresolvedNodes with a set-based solution (NFC)

This makes it explicit what is the exact list to handle, and it
looks much more easy to manipulate and understand that the
previous custom tracking of min/max to express the range where
to look for.

Differential Revision: https://reviews.llvm.org/D28089

llvm-svn: 290507

show more ...


# 4f90ee00 25-Dec-2016 Mehdi Amini <mehdi.amini@apple.com>

MetadataLoader: add an extra assertion in Placeholders flush (NFC)

We don't expect any forward reference at this point.

llvm-svn: 290506


# 9f926f70 23-Dec-2016 Mehdi Amini <mehdi.amini@apple.com>

MetadataLoader: split the creation of a single metadata out of a Record into its own function (NFC)

This is pure code motion, will just make it more reusable when I'll
attempt to lazy-load Metadats

MetadataLoader: split the creation of a single metadata out of a Record into its own function (NFC)

This is pure code motion, will just make it more reusable when I'll
attempt to lazy-load Metadats on-demand.

llvm-svn: 290414

show more ...


# 37c178b6 23-Dec-2016 Mehdi Amini <mehdi.amini@apple.com>

MetadataLoader: Reinitialize MinFwdRef/MaxFwdRef after resolving cycles (NFC)

This put the Loader back in a consistent state.

llvm-svn: 290409


# 5ae6170f 23-Dec-2016 Mehdi Amini <mehdi.amini@apple.com>

MetadataLoader: Add an assertion for the implicit invariant of PlaceHolder while loading Metadata (NFC)

llvm-svn: 290408


# 70a9cd4c 23-Dec-2016 Mehdi Amini <mehdi.amini@apple.com>

MetadataLoader: Make sure every member of MetadataLoader are initialized (NFC)

llvm-svn: 290407


# ec68dd49 23-Dec-2016 Mehdi Amini <mehdi.amini@apple.com>

MetadataLoader: Refactor "IsImporting" into the Pimpl for the MetadataLoader (NFC)

Keeping all the state together will make it easier to handle.

llvm-svn: 290406


# bceaaa96 20-Dec-2016 Adrian Prantl <aprantl@apple.com>

[IR] Remove the DIExpression field from DIGlobalVariable.

This patch implements PR31013 by introducing a
DIGlobalVariableExpression that holds a pair of DIGlobalVariable and
DIExpression.

Currently

[IR] Remove the DIExpression field from DIGlobalVariable.

This patch implements PR31013 by introducing a
DIGlobalVariableExpression that holds a pair of DIGlobalVariable and
DIExpression.

Currently, DIGlobalVariables holds a DIExpression. This is not the
best way to model this:

(1) The DIGlobalVariable should describe the source level variable,
not how to get to its location.

(2) It makes it unsafe/hard to update the expressions when we call
replaceExpression on the DIGLobalVariable.

(3) It makes it impossible to represent a global variable that is in
more than one location (e.g., a variable with multiple
DW_OP_LLVM_fragment-s). We also moved away from attaching the
DIExpression to DILocalVariable for the same reasons.

This reapplies r289902 with additional testcase upgrades and a change
to the Bitcode record for DIGlobalVariable, that makes upgrading the
old format unambiguous also for variables without DIExpressions.

<rdar://problem/29250149>
https://llvm.org/bugs/show_bug.cgi?id=31013
Differential Revision: https://reviews.llvm.org/D26769

llvm-svn: 290153

show more ...


# a61f5e37 16-Dec-2016 Teresa Johnson <tejohnson@google.com>

[ThinLTO] Import composite types as declarations

Summary:
When reading the metadata bitcode, create a type declaration when
possible for composite types when we are importing. Doing this in
the bitc

[ThinLTO] Import composite types as declarations

Summary:
When reading the metadata bitcode, create a type declaration when
possible for composite types when we are importing. Doing this in
the bitcode reader saves memory. Also it works naturally in the case
when the type ODR map contains a definition for the same composite type
because it was used in the importing module (buildODRType will
automatically use the existing definition and not create a type
declaration).

For Chromium built with -g2, this reduces the aggregate size of the
generated native object files by 66% (from 31G to 10G). It reduced
the time through the ThinLTO link and backend phases by about 20% on
my machine.

Reviewers: mehdi_amini, dblaikie, aprantl

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D27775

llvm-svn: 289993

show more ...


# 73ec0656 16-Dec-2016 Adrian Prantl <aprantl@apple.com>

Revert "[IR] Remove the DIExpression field from DIGlobalVariable."

This reverts commit 289920 (again).
I forgot to implement a Bitcode upgrade for the case where a DIGlobalVariable
has not DIExpress

Revert "[IR] Remove the DIExpression field from DIGlobalVariable."

This reverts commit 289920 (again).
I forgot to implement a Bitcode upgrade for the case where a DIGlobalVariable
has not DIExpression. Unfortunately it is not possible to safely upgrade
these variables without adding a flag to the bitcode record indicating which
version they are.
My plan of record is to roll the planned follow-up patch that adds a
unit: field to DIGlobalVariable into this patch before recomitting.
This way we only need one Bitcode upgrade for both changes (with a
version flag in the bitcode record to safely distinguish the record
formats).

Sorry for the churn!

llvm-svn: 289982

show more ...


# 8662305b 16-Dec-2016 Mehdi Amini <mehdi.amini@apple.com>

Strip invalid TBAA when reading bitcode

This ensures backward compatibility on bitcode loading.

Differential Revision: https://reviews.llvm.org/D27839

llvm-svn: 289977


# 74a835cd 16-Dec-2016 Adrian Prantl <aprantl@apple.com>

[IR] Remove the DIExpression field from DIGlobalVariable.

This patch implements PR31013 by introducing a
DIGlobalVariableExpression that holds a pair of DIGlobalVariable and
DIExpression.

Currently

[IR] Remove the DIExpression field from DIGlobalVariable.

This patch implements PR31013 by introducing a
DIGlobalVariableExpression that holds a pair of DIGlobalVariable and
DIExpression.

Currently, DIGlobalVariables holds a DIExpression. This is not the
best way to model this:

(1) The DIGlobalVariable should describe the source level variable,
not how to get to its location.

(2) It makes it unsafe/hard to update the expressions when we call
replaceExpression on the DIGLobalVariable.

(3) It makes it impossible to represent a global variable that is in
more than one location (e.g., a variable with multiple
DW_OP_LLVM_fragment-s). We also moved away from attaching the
DIExpression to DILocalVariable for the same reasons.

This reapplies r289902 with additional testcase upgrades.

<rdar://problem/29250149>
https://llvm.org/bugs/show_bug.cgi?id=31013
Differential Revision: https://reviews.llvm.org/D26769

llvm-svn: 289920

show more ...


# 03c6d31a 16-Dec-2016 Adrian Prantl <aprantl@apple.com>

Revert "[IR] Remove the DIExpression field from DIGlobalVariable."

This reverts commit 289902 while investigating bot berakage.

llvm-svn: 289906


# ce139357 16-Dec-2016 Adrian Prantl <aprantl@apple.com>

[IR] Remove the DIExpression field from DIGlobalVariable.

This patch implements PR31013 by introducing a
DIGlobalVariableExpression that holds a pair of DIGlobalVariable and
DIExpression.

Currently

[IR] Remove the DIExpression field from DIGlobalVariable.

This patch implements PR31013 by introducing a
DIGlobalVariableExpression that holds a pair of DIGlobalVariable and
DIExpression.

Currently, DIGlobalVariables holds a DIExpression. This is not the
best way to model this:

(1) The DIGlobalVariable should describe the source level variable,
not how to get to its location.

(2) It makes it unsafe/hard to update the expressions when we call
replaceExpression on the DIGLobalVariable.

(3) It makes it impossible to represent a global variable that is in
more than one location (e.g., a variable with multiple
DW_OP_LLVM_fragment-s). We also moved away from attaching the
DIExpression to DILocalVariable for the same reasons.

<rdar://problem/29250149>
https://llvm.org/bugs/show_bug.cgi?id=31013
Differential Revision: https://reviews.llvm.org/D26769

llvm-svn: 289902

show more ...


# b3901bdd 12-Dec-2016 Nico Weber <nicolasweber@gmx.de>

Fix MSVC build after 289461; MSVC isn't sure if this is std:: or llvm::

llvm-svn: 289480


# ef27db87 12-Dec-2016 Mehdi Amini <mehdi.amini@apple.com>

Refactor BitcodeReader: move Metadata and ValueId handling in their own class/file

Summary:
I'm planning on changing the way we load metadata to enable laziness.
I'm getting lost in this gigantic fi

Refactor BitcodeReader: move Metadata and ValueId handling in their own class/file

Summary:
I'm planning on changing the way we load metadata to enable laziness.
I'm getting lost in this gigantic files, and gigantic class that is the bitcode
reader. This is a first toward splitting it in a few coarse components that
are more easily understandable.

Reviewers: pcc, tejohnson

Subscribers: mgorny, llvm-commits, dexonsmith

Differential Revision: https://reviews.llvm.org/D27646

llvm-svn: 289461

show more ...


12345678