Chris Lattner [Sun, 6 May 2007 05:32:21 +0000 (05:32 +0000)]
pull some win32 code into common code, add bitcode identification support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36846
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 05:30:10 +0000 (05:30 +0000)]
add support for identifying bitcode files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36845
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 05:21:42 +0000 (05:21 +0000)]
bitcodify, remove eh cruft
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36844
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 05:18:53 +0000 (05:18 +0000)]
teach this to read from bitcode files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36843
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 05:18:37 +0000 (05:18 +0000)]
debugger depends on bcreader, not llvm-db
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36842
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 05:13:17 +0000 (05:13 +0000)]
remove EH cruft, add bitcode support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36841
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 04:58:26 +0000 (04:58 +0000)]
add bitcode reading support, remove eh stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36840
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 04:55:19 +0000 (04:55 +0000)]
add bitcode reading support. Remove EH cruft.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36839
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 04:49:55 +0000 (04:49 +0000)]
bitcodify
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36838
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 04:43:36 +0000 (04:43 +0000)]
simplify code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36837
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 04:43:00 +0000 (04:43 +0000)]
add support to llvm-prof for reading from a bitcode file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36836
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 04:41:59 +0000 (04:41 +0000)]
Add a helper that either opens a file or stdin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36835
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 6 May 2007 04:00:55 +0000 (04:00 +0000)]
Reference correct header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36834
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sun, 6 May 2007 03:24:19 +0000 (03:24 +0000)]
Make code more 64-bit aware.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36833
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sun, 6 May 2007 03:23:14 +0000 (03:23 +0000)]
Keep header file free of 'possible loss of data' warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36832
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sun, 6 May 2007 03:12:47 +0000 (03:12 +0000)]
Unbreak VC++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36831
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 02:42:03 +0000 (02:42 +0000)]
if -bitcode is specified, read and write a bitcode file instead of a bytecode file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36830
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 02:38:57 +0000 (02:38 +0000)]
add abbrevs for binops and casts. This shrinks a testcase from 725132->682500
bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36829
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 02:30:12 +0000 (02:30 +0000)]
add a new CreateBitcodeWriterPass method, which creates a bitcode writer as
a pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36828
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 01:58:20 +0000 (01:58 +0000)]
implement reading/writing of inlineasm objects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36827
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 01:50:11 +0000 (01:50 +0000)]
add inline asm code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36826
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 01:43:38 +0000 (01:43 +0000)]
Fix a subtle bug that prevented round-tripping 470.lbm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36825
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 6 May 2007 01:30:17 +0000 (01:30 +0000)]
Make my credits refer to my wiki page.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36824
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 01:28:01 +0000 (01:28 +0000)]
add some abbrevs for ret and unreachable, shrinking kc++ from
2717360->
2705388
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36823
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 01:00:28 +0000 (01:00 +0000)]
enumerate the operands of a constant before we enumerate the constant itself
This avoids fwd references in the reader.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36822
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 00:53:07 +0000 (00:53 +0000)]
add a denser encoding for null terminated strings, add a 6-bit abbrev as
well. This shrinks kc++ from
2724088 to
2717360 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36821
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 00:42:18 +0000 (00:42 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36820
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Sun, 6 May 2007 00:41:36 +0000 (00:41 +0000)]
Add myself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36819
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 00:35:24 +0000 (00:35 +0000)]
implement the 'string constant' optimization. This shrinks kc.bit from
2878544 to
2815788
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36818
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 00:21:25 +0000 (00:21 +0000)]
further reduce the redundancy of types in the instruction encoding. This
shrinks function bodies in kc++ from
891913B to
884073B
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36817
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 6 May 2007 00:00:00 +0000 (00:00 +0000)]
stop encoding type/value pairs when the type is implied by the value.
This shrinks the function block of kc++ from 1055K to 906K
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36816
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 23:49:02 +0000 (23:49 +0000)]
handle gep aliasee
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36815
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Sat, 5 May 2007 23:44:41 +0000 (23:44 +0000)]
Fix PR1390.
Don't spill extra register to align the stack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36814
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 23:40:48 +0000 (23:40 +0000)]
fix a bug I introduced when I merged some code together
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36813
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 22:44:27 +0000 (22:44 +0000)]
this test is now in Target/README.txt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36812
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 22:44:08 +0000 (22:44 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36811
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 22:42:02 +0000 (22:42 +0000)]
remove an old xfailed test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36810
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 22:41:33 +0000 (22:41 +0000)]
Implement Transforms/InstCombine/cast_ptr.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36809
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 22:41:13 +0000 (22:41 +0000)]
un-xfail this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36808
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 22:32:24 +0000 (22:32 +0000)]
wrap long lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36807
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 22:29:06 +0000 (22:29 +0000)]
the mason example is implemented. Move some examples out of llvm/test,
upgrade the syntax of some other examples.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36806
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 22:28:33 +0000 (22:28 +0000)]
move these xfailed tests to lib/Target/README.txt
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36805
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 22:22:03 +0000 (22:22 +0000)]
Move Mem2Reg/DifferingTypes.ll -> ScalarRepl/DifferingTypes.ll. -scalarrepl
implements this xform.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36804
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 22:19:49 +0000 (22:19 +0000)]
remvoe two tests that cee has never gotten right
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36803
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 22:17:00 +0000 (22:17 +0000)]
implement anyextend from i1 -> i64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36802
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 22:12:57 +0000 (22:12 +0000)]
the sparc v8 backend handles this correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36801
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 22:10:53 +0000 (22:10 +0000)]
remove this xfail'd test, move it to the X86 readme.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36800
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 22:10:24 +0000 (22:10 +0000)]
move CodeGen/X86/overlap-add.ll here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36799
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 22:03:12 +0000 (22:03 +0000)]
We need support for tail calls, this is moved to PR1392
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36798
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 21:57:34 +0000 (21:57 +0000)]
remove xfailed testcase (attached to pr)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36797
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 21:51:34 +0000 (21:51 +0000)]
unxfail this, llc doesn't support this feature yet, so don't run it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36796
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 21:49:24 +0000 (21:49 +0000)]
Remove bogus testcase, PR409 is wontfix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36795
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 21:47:29 +0000 (21:47 +0000)]
this tests for a missing feature. Move it to PR1391 instead of being an
xfailed testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36794
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 21:38:55 +0000 (21:38 +0000)]
remove this xfailed testcase, move it into a comment in PR279, an enhancement PR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36793
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 21:35:44 +0000 (21:35 +0000)]
llvm-gcc3 is gone
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36792
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 20:50:35 +0000 (20:50 +0000)]
fix failure on ahs3's tester
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36791
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 20:49:28 +0000 (20:49 +0000)]
remove bogus xfailed testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36790
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sat, 5 May 2007 20:27:00 +0000 (20:27 +0000)]
Use the personality function that was registered with MMI rather than
hardwiring in the C++ one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36789
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sat, 5 May 2007 20:22:08 +0000 (20:22 +0000)]
Check that the right eh personality function is used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36788
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 19:39:05 +0000 (19:39 +0000)]
Propagate alignment/volatility in two places.
Implement support for expanding a bitcast from an illegal vector type to
a legal one (e.g. 4xi32 -> 4xf32 in SSE1). This fixes PR1371 and
CodeGen/X86/2007-05-05-VecCastExpand.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36787
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 19:38:43 +0000 (19:38 +0000)]
new testcase for PR1371
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36786
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 18:57:30 +0000 (18:57 +0000)]
add support for BLOCKINFO records at the module level. This fixes the reader
issues reid noticed last night.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36785
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 18:49:57 +0000 (18:49 +0000)]
Fix Transforms/LoopUnroll/2007-05-05-UnrollMiscomp.ll and PR1385.
If we have a LCSSA, only modify the input value if the inval was defined
by an instruction in the loop. If defined by something before the loop,
it is still valid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36784
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 18:48:52 +0000 (18:48 +0000)]
new testcase for PR1385
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36783
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 18:36:36 +0000 (18:36 +0000)]
make a temporary for *SI, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36782
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Sat, 5 May 2007 16:32:57 +0000 (16:32 +0000)]
Spelling fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36781
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 5 May 2007 09:04:50 +0000 (09:04 +0000)]
Emit sections/directives in the proper order. This fixes PR1376. Also,
some small cleanup was made.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36780
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 07:44:49 +0000 (07:44 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36779
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 07:36:14 +0000 (07:36 +0000)]
add abbrevs for the constants tables. This shrinks it from 4.
49755e6 bits
to 3.
85972e6 bits in kc++
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36778
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 07:20:34 +0000 (07:20 +0000)]
minor bugfix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36777
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 06:30:12 +0000 (06:30 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36776
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 01:59:31 +0000 (01:59 +0000)]
Fix InstCombine/2007-05-04-Crash.ll and PR1384
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36775
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 01:59:05 +0000 (01:59 +0000)]
new testacse for PR1384
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36774
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 01:46:49 +0000 (01:46 +0000)]
emit spiffy little histograms of codes, if enabled. Don't print averages if
there is only one item.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36773
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 01:29:31 +0000 (01:29 +0000)]
do not charge subblock sizes to the parent block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36772
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 01:26:50 +0000 (01:26 +0000)]
add a char6 abbrev for bbnames and value names. This represents each character
with 6 bits where possible. This shrinks kc++ from
3324164B to
3183584B. The
old VST was:
Block ID #14 (VALUE_SYMTAB):
Total Size: 1.26713e+07b/1.58391e+06B/395978W
Average Size: 5403.53b/675.442B/168.86W
% of file: 47.6484
The new one is:
Block ID #14 (VALUE_SYMTAB):
Total Size: 1.15467e+07b/1.44334e+06B/360834W
Average Size: 4923.96b/615.495B/153.874W
% of file: 45.3368
This is 11% smaller than the VST in the bytecode format.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36771
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 01:15:42 +0000 (01:15 +0000)]
add a 6-bit encoding type for strings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36770
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 00:47:19 +0000 (00:47 +0000)]
add an abbreviation for the type symtab, this shrinks the TST from 175197 bits
to 103165 bits:
Old:
Block ID #13 (TYPE_SYMTAB):
Num Instances: 1
Total Size:
175197b/21899.6B/5474.91W
Average Size:
175197b/21899.6B/5474.91W
% of file: 0.657023
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 0/0
Tot/Avg Records: 255/255
% Abbrev Recs: 0
New:
Block ID #13 (TYPE_SYMTAB):
Num Instances: 1
Total Size:
103165b/12895.6B/3223.91W
Average Size:
103165b/12895.6B/3223.91W
% of file: 0.387937
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 1/1
Tot/Avg Records: 255/255
% Abbrev Recs: 100
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36769
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 00:17:42 +0000 (00:17 +0000)]
update to new APIs, make output a bit (haha) nicer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36768
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 5 May 2007 00:17:00 +0000 (00:17 +0000)]
Implement support for globally associating abbrevs with block IDs, which
relieves us from having to emit the abbrevs into each instance of the block.
This shrinks kc.bit from 3368K to 3333K, but will be a more significant win
once instructions are abbreviated.
The VST went from:
Block ID #14 (VALUE_SYMTAB):
Num Instances: 2345
Total Size: 1.29508e+07b/1.61885e+06B/404713W
Average Size: 5522.73b/690.342B/172.585W
% of file: 48.0645
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 7035/3
Tot/Avg Records: 120924/51.5667
% Abbrev Recs: 100
to:
Block ID #14 (VALUE_SYMTAB):
Num Instances: 2345
Total Size: 1.26713e+07b/1.58391e+06B/395978W
Average Size: 5403.53b/675.442B/168.86W
% of file: 47.5198
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 0/0
Tot/Avg Records: 120924/51.5667
% Abbrev Recs: 100
because we didn't emit the same 3 abbrevs 2345 times :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36767
91177308-0d34-0410-b5e6-
96231b3b80d8
Lauro Ramos Venancio [Fri, 4 May 2007 22:16:30 +0000 (22:16 +0000)]
Add a processor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36765
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 May 2007 21:31:13 +0000 (21:31 +0000)]
allow the 8-bit abbrev to be used for either bb or other values
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36761
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 May 2007 20:58:35 +0000 (20:58 +0000)]
shave another 150K off of kc++, by using a 7-bit encoding for BB names
where we can. This shrinks kc++'s down to 3368K, with a VST record of:
Block ID #14 (VALUE_SYMTAB):
Num Instances: 2345
Total Size: 1.29508e+07b/1.61885e+06B/404713W
Average Size: 5522.73b/690.342B/172.585W
% of file: 48.0645
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 7035/3
Tot/Avg Records: 120924/51.5667
% Abbrev Recs: 100
Isn't it nice to be able to optimizer bc size without touching the reader? :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36759
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 May 2007 20:52:02 +0000 (20:52 +0000)]
where possible, encode symtab names with 7 bits per char instead of 8. This
shaves 110K off kc++ to 3514K. Before:
Block ID #14 (VALUE_SYMTAB):
Num Instances: 2345
Total Size: 1.50425e+07b/1.88031e+06B/470077W
Average Size: 6414.69b/801.837B/200.459W
% of file: 51.8057
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 2345/1
Tot/Avg Records: 120924/51.5667
% Abbrev Recs: 85.1791
after:
Block ID #14 (VALUE_SYMTAB):
Num Instances: 2345
Total Size: 1.41229e+07b/1.76536e+06B/441341W
Average Size: 6022.56b/752.82B/188.205W
% of file: 50.2295
Tot/Avg SubBlocks: 0/0
Tot/Avg Abbrevs: 4690/2
Tot/Avg Records: 120924/51.5667
% Abbrev Recs: 85.1791
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36758
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 May 2007 20:40:50 +0000 (20:40 +0000)]
use a template to eliminate manual code duplication
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36757
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 4 May 2007 20:38:40 +0000 (20:38 +0000)]
Add an "implies" field to features. This indicates that, if the current
feature is set, then the features in the implied list should be set also.
The opposite is also enforced: if a feature in the implied list isn't set,
then the feature that owns that implies list shouldn't be set either.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36756
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 May 2007 20:34:50 +0000 (20:34 +0000)]
Encode all value symtab strings as arrays of 8-bit fixed width integers,
instead of the default inefficient encoding. This shrinks kc++ from 4134K
to 3629K
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36755
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 May 2007 20:33:47 +0000 (20:33 +0000)]
add support for array abbreviations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36754
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 May 2007 19:11:41 +0000 (19:11 +0000)]
eliminate internal length fields from record. Records already know their
total length
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36752
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 May 2007 19:10:48 +0000 (19:10 +0000)]
eliminate lengths from record bodies
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36751
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 May 2007 18:26:27 +0000 (18:26 +0000)]
stub out creation of BLOCKINFO_BLOCK
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36749
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 May 2007 18:25:49 +0000 (18:25 +0000)]
minor cleanups. Add provisions for a new standard BLOCKINFO_BLOCK
block type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36748
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 May 2007 17:35:19 +0000 (17:35 +0000)]
refcount BitCodeAbbrev objects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36747
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 4 May 2007 17:14:42 +0000 (17:14 +0000)]
Test that the eh lowering code can handle constant folded bitcasts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36746
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Fri, 4 May 2007 17:12:26 +0000 (17:12 +0000)]
A bitcast of a global variable may have been constant folded to a GEP -
handle this case too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36745
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 4 May 2007 14:59:09 +0000 (14:59 +0000)]
Use IntrinsicInst to test for prefetch instructions, which is ever so
slightly nicer than using CallInst with an extra check; thanks Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36743
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 May 2007 05:21:47 +0000 (05:21 +0000)]
optimize constant layout. This fixes encoding of 181.mcf (by ensuring
integer structure idx's are emitted before constant expr geps) and shrinks
files slightly. For example kc++ shrinks from
4326188 to
4240128 bytes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36742
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 May 2007 05:05:48 +0000 (05:05 +0000)]
simple optimization for the type table
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36741
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 May 2007 04:01:37 +0000 (04:01 +0000)]
regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36740
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 4 May 2007 04:01:07 +0000 (04:01 +0000)]
fix a bug where llvm-as couldn't assemble the .ll file for 252.eon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36739
91177308-0d34-0410-b5e6-
96231b3b80d8