History log of /llvm-project/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp (Results 951 – 975 of 1013)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# ad0ea2d4 27-Nov-2007 Duncan Sands <baldrick@free.fr>

Fix PR1146: parameter attributes are longer part of
the function type, instead they belong to functions
and function calls. This is an updated and slightly
corrected version of Reid Spencer's origin

Fix PR1146: parameter attributes are longer part of
the function type, instead they belong to functions
and function calls. This is an updated and slightly
corrected version of Reid Spencer's original patch.
The only known problem is that auto-upgrading of
bitcode files doesn't seem to work properly (see
test/Bitcode/AutoUpgradeIntrinsics.ll). Hopefully
a bitcode guru (who might that be? :) ) will fix it.

llvm-svn: 44359

show more ...


# 007aa378 11-Oct-2007 Dale Johannesen <dalej@apple.com>

Next PPC long double bits. First cut at constants.
No compile-time support for constant operations yet,
just format transformations. Make readers and
writers work. Split constants into 2 doubles i

Next PPC long double bits. First cut at constants.
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

show more ...


Revision tags: llvmorg-2.1.0
# 34aa41c4 26-Sep-2007 Dale Johannesen <dalej@apple.com>

Make temporaries explicit to avoid premature
destruction of compiler-created ones.

llvm-svn: 42383


# 028084ef 12-Sep-2007 Dale Johannesen <dalej@apple.com>

Revise previous patch per review comments.
Next round of x87 long double stuff.
Getting close now, basically works.

llvm-svn: 41875


# 245dceb0 11-Sep-2007 Dale Johannesen <dalej@apple.com>

Add APInt interfaces to APFloat (allows directly
access to bits). Use them in place of float and
double interfaces where appropriate.
First bits of x86 long double constants handling
(untested, pro

Add APInt interfaces to APFloat (allows directly
access to bits). Use them in place of float and
double interfaces where appropriate.
First bits of x86 long double constants handling
(untested, probably does not work).

llvm-svn: 41858

show more ...


# b6d795c1 07-Sep-2007 Dale Johannesen <dalej@apple.com>

Revert previous change to IR.

llvm-svn: 41769


# bed9dc42 06-Sep-2007 Dale Johannesen <dalej@apple.com>

Next round of APFloat changes.
Use APFloat in UpgradeParser and AsmParser.
Change all references to ConstantFP to use the
APFloat interface rather than double. Remove
the ConstantFP double interface

Next round of APFloat changes.
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

show more ...


# bdad8097 09-Aug-2007 Dale Johannesen <dalej@apple.com>

Patch 10 for long double. Doing constants right needs expanding ConstantFP
to handle values bigger than double. If we assume host==target and host
long double works correctly, this is not too bad,

Patch 10 for long double. Doing constants right needs expanding ConstantFP
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

show more ...


# ff4c3be7 03-Aug-2007 Dale Johannesen <dalej@apple.com>

Long double, part 1 of N. Support in IR.

llvm-svn: 40774


# de8c7b69 05-Jul-2007 Chris Lattner <sabre@nondot.org>

remove a dead case

llvm-svn: 37916


Revision tags: llvmorg-2.0.0
# a2615314 11-May-2007 Chris Lattner <sabre@nondot.org>

allow partially materialized modules to be written out, which just strips out
the functions which haven't been read.

llvm-svn: 36999


# 4c0a6d66 08-May-2007 Chris Lattner <sabre@nondot.org>

Make a preemptive bitcode format change to support PR1146. This lets us do
pr1146 in llvm 2.1 without ugly code to emulate old behavior. This should
be merged into the 2.0 release branch.

llvm-svn

Make a preemptive bitcode format change to support PR1146. This lets us do
pr1146 in llvm 2.1 without ugly code to emulate old behavior. This should
be merged into the 2.0 release branch.

llvm-svn: 36928

show more ...


# 44f8ad1d 06-May-2007 Chris Lattner <sabre@nondot.org>

Flush the file after writing bitcode so that clients who don't close their
ofstreams will be ok.

llvm-svn: 36878


# b3f36d48 06-May-2007 Jeff Cohen <jeffc@jolt-lang.org>

Unbreak VC++.

llvm-svn: 36831


# c67e6d9d 06-May-2007 Chris Lattner <sabre@nondot.org>

add abbrevs for binops and casts. This shrinks a testcase from 725132->682500
bytes.

llvm-svn: 36829


# af8fffc0 06-May-2007 Chris Lattner <sabre@nondot.org>

implement reading/writing of inlineasm objects

llvm-svn: 36827


# cc6d4c9f 06-May-2007 Chris Lattner <sabre@nondot.org>

add some abbrevs for ret and unreachable, shrinking kc++ from 2717360->2705388

llvm-svn: 36823


# f25f710c 06-May-2007 Chris Lattner <sabre@nondot.org>

add a denser encoding for null terminated strings, add a 6-bit abbrev as
well. This shrinks kc++ from 2724088 to 2717360 bytes.

llvm-svn: 36821


# 4b6ce8fa 06-May-2007 Chris Lattner <sabre@nondot.org>

add an abbreviation for the string constants opzn, shrinking the constnats
block from:

Block ID #11 (CONSTANTS_BLOCK):
Num Instances: 1722
Total Size: 3.85976e+06b/482470B/120617W

add an abbreviation for the string constants opzn, shrinking the constnats
block from:

Block ID #11 (CONSTANTS_BLOCK):
Num Instances: 1722
Total Size: 3.85976e+06b/482470B/120617W
% of file: 16.7609
Average Size: 2241.44b/280.18B/70.045W
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 1/0.00058072
Tot/Avg Records: 26423/15.3444
% Abbrev Recs: 69.1746

to:

Block ID #11 (CONSTANTS_BLOCK):
Num Instances: 1724
Total Size: 2.62406e+06b/328008B/82001.9W
% of file: 12.041
Average Size: 1522.08b/190.26B/47.5649W
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 2/0.00116009
Tot/Avg Records: 26280/15.2436
% Abbrev Recs: 68.9992

This shrinks kc++ from 2815788 to 2724088 bytes, which means the bitcode
file is now smaller than the bytecode file.

llvm-svn: 36820

show more ...


# 036d1bdd 06-May-2007 Chris Lattner <sabre@nondot.org>

implement the 'string constant' optimization. This shrinks kc.bit from
2878544 to 2815788

llvm-svn: 36818


# e9759c29 06-May-2007 Chris Lattner <sabre@nondot.org>

further reduce the redundancy of types in the instruction encoding. This
shrinks function bodies in kc++ from 891913B to 884073B

llvm-svn: 36817


# df1233df 06-May-2007 Chris Lattner <sabre@nondot.org>

stop encoding type/value pairs when the type is implied by the value.
This shrinks the function block of kc++ from 1055K to 906K

llvm-svn: 36816


# b80751dc 05-May-2007 Chris Lattner <sabre@nondot.org>

add an abbrev for loads. This shrinks the function block about 50K, from:

Block ID #12 (FUNCTION_BLOCK):
Num Instances: 2344
Total Size: 8.8434e+06b/1.10542e+06B/276356W

add an abbrev for loads. This shrinks the function block about 50K, from:

Block ID #12 (FUNCTION_BLOCK):
Num Instances: 2344
Total Size: 8.8434e+06b/1.10542e+06B/276356W
% of file: 35.6726
Average Size: 3772.78b/471.598B/117.899W
Tot/Avg SubBlocks: 4065/1.73422
Tot/Avg Abbrevs: 0/0
Tot/Avg Records: 128487/54.8153
% Abbrev Recs: 0

to:

Block ID #12 (FUNCTION_BLOCK):
Num Instances: 2344
Total Size: 8.44518e+06b/1.05565e+06B/263912W
% of file: 34.6203
Average Size: 3602.89b/450.362B/112.59W
Tot/Avg SubBlocks: 4065/1.73422
Tot/Avg Abbrevs: 0/0
Tot/Avg Records: 128487/54.8153
% Abbrev Recs: 22.2077

llvm-svn: 36779

show more ...


# da5e5d21 05-May-2007 Chris Lattner <sabre@nondot.org>

add abbrevs for the constants tables. This shrinks it from 4.49755e6 bits
to 3.85972e6 bits in kc++

llvm-svn: 36778


# ccee7063 05-May-2007 Chris Lattner <sabre@nondot.org>

Add abbreviations to the TYPE_BLOCK for pointers, functions, structs and arrays.
This shrinks the type_block of kc++ from 139901 bits to 99389 bits (0.55% to 0.39%
of the file), a 40% reduction.

Thi

Add abbreviations to the TYPE_BLOCK for pointers, functions, structs and arrays.
This shrinks the type_block of kc++ from 139901 bits to 99389 bits (0.55% to 0.39%
of the file), a 40% reduction.

This shrink the record from:

Block ID #10 (TYPE_BLOCK):
Num Instances: 1
Total Size: 139901b/17487.6B/4371.91W
% of file: 0.549306
Num Abbrevs: 0
Num Records: 3203
% Abbrev Recs: 0

to:

Block ID #10 (TYPE_BLOCK):
Num Instances: 1
Total Size: 99389b/12423.6B/3105.91W
% of file: 0.390862
Num Abbrevs: 4
Num Records: 3203
% Abbrev Recs: 99.6566

With a common histogram of:

Code Histogram:
1613 POINTER
1100 FUNCTION
255 STRUCT
224 ARRAY
5 INTEGER
2 OPAQUE
1 LABEL
1 DOUBLE
1 VOID
1 NUMENTRY

llvm-svn: 36776

show more ...


1...<<3132333435363738394041