#
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 ...
|