oota-llvm.git
17 years agouse an auto_ptr to avoid an explicit delete
Chris Lattner [Sun, 6 May 2007 05:47:36 +0000 (05:47 +0000)]
use an auto_ptr to avoid an explicit delete

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36850 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd bitcode support
Chris Lattner [Sun, 6 May 2007 05:47:06 +0000 (05:47 +0000)]
add bitcode support

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36849 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoRemove the -emit-bytecode option. Noone in the llvm tree uses it, and this
Chris Lattner [Sun, 6 May 2007 05:40:41 +0000 (05:40 +0000)]
Remove the -emit-bytecode option.  Noone in the llvm tree uses it, and this
keeps llvm-upgrade a simple "source to source" tool.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36848 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agoadd bitcode reading support to llvm-nm
Chris Lattner [Sun, 6 May 2007 05:36:18 +0000 (05:36 +0000)]
add bitcode reading support to llvm-nm

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36847 91177308-0d34-0410-b5e6-96231b3b80d8

17 years agopull some win32 code into common code, add bitcode identification support.
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

17 years agoadd support for identifying bitcode files
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

17 years agobitcodify, remove eh cruft
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

17 years agoteach this to read from bitcode files
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

17 years agodebugger depends on bcreader, not llvm-db
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

17 years agoremove EH cruft, add bitcode support
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

17 years agoadd bitcode reading support, remove eh stuff
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

17 years agoadd bitcode reading support. Remove EH cruft.
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

17 years agobitcodify
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

17 years agosimplify code
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

17 years agoadd support to llvm-prof for reading from a bitcode file
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

17 years agoAdd a helper that either opens a file or stdin.
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

17 years agoReference correct header
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

17 years agoMake code more 64-bit aware.
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

17 years agoKeep header file free of 'possible loss of data' warnings.
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

17 years agoUnbreak VC++.
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

17 years agoif -bitcode is specified, read and write a bitcode file instead of a bytecode file.
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

17 years agoadd abbrevs for binops and casts. This shrinks a testcase from 725132->682500
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

17 years agoadd a new CreateBitcodeWriterPass method, which creates a bitcode writer as
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

17 years agoimplement reading/writing of inlineasm objects
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

17 years agoadd inline asm code
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

17 years agoFix a subtle bug that prevented round-tripping 470.lbm
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

17 years agoMake my credits refer to my wiki page.
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

17 years agoadd some abbrevs for ret and unreachable, shrinking kc++ from 2717360->2705388
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

17 years agoenumerate the operands of a constant before we enumerate the constant itself
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

17 years agoadd a denser encoding for null terminated strings, add a 6-bit abbrev as
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

17 years agoadd an abbreviation for the string constants opzn, shrinking the constnats
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

17 years agoAdd myself.
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

17 years agoimplement the 'string constant' optimization. This shrinks kc.bit from
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

17 years agofurther reduce the redundancy of types in the instruction encoding. This
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

17 years agostop encoding type/value pairs when the type is implied by the value.
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

17 years agohandle gep aliasee
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

17 years agoFix PR1390.
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

17 years agofix a bug I introduced when I merged some code together
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

17 years agothis test is now in Target/README.txt
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

17 years agoadd a note
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

17 years agoremove an old xfailed test
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

17 years agoImplement Transforms/InstCombine/cast_ptr.ll
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

17 years agoun-xfail this.
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

17 years agowrap long lines
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

17 years agothe mason example is implemented. Move some examples out of llvm/test,
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

17 years agomove these xfailed tests to lib/Target/README.txt
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

17 years agoMove Mem2Reg/DifferingTypes.ll -> ScalarRepl/DifferingTypes.ll. -scalarrepl
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

17 years agoremvoe two tests that cee has never gotten right
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

17 years agoimplement anyextend from i1 -> i64
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

17 years agothe sparc v8 backend handles this correctly
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

17 years agoremove this xfail'd test, move it to the X86 readme.
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

17 years agomove CodeGen/X86/overlap-add.ll here.
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

17 years agoWe need support for tail calls, this is moved to PR1392
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

17 years agoremove xfailed testcase (attached to pr)
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

17 years agounxfail this, llc doesn't support this feature yet, so don't run it.
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

17 years agoRemove bogus testcase, PR409 is wontfix
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

17 years agothis tests for a missing feature. Move it to PR1391 instead of being an
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

17 years agoremove this xfailed testcase, move it into a comment in PR279, an enhancement PR.
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

17 years agollvm-gcc3 is gone
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

17 years agofix failure on ahs3's tester
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

17 years agoremove bogus xfailed testcase
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

17 years agoUse the personality function that was registered with MMI rather than
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

17 years agoCheck that the right eh personality function is used.
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

17 years agoPropagate alignment/volatility in two places.
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

17 years agonew testcase for PR1371
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

17 years agoadd support for BLOCKINFO records at the module level. This fixes the reader
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

17 years agoFix Transforms/LoopUnroll/2007-05-05-UnrollMiscomp.ll and PR1385.
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

17 years agonew testcase for PR1385
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

17 years agomake a temporary for *SI, no functionality change.
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

17 years agoSpelling fix.
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

17 years agoEmit sections/directives in the proper order. This fixes PR1376. Also,
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

17 years agoadd an abbrev for loads. This shrinks the function block about 50K, from:
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

17 years agoadd abbrevs for the constants tables. This shrinks it from 4.49755e6 bits
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

17 years agominor bugfix
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

17 years agoAdd abbreviations to the TYPE_BLOCK for pointers, functions, structs and arrays.
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

17 years agoFix InstCombine/2007-05-04-Crash.ll and PR1384
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

17 years agonew testacse for PR1384
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

17 years agoemit spiffy little histograms of codes, if enabled. Don't print averages if
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

17 years agodo not charge subblock sizes to the parent block.
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

17 years agoadd a char6 abbrev for bbnames and value names. This represents each character
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

17 years agoadd a 6-bit encoding type for strings.
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

17 years agoadd an abbreviation for the type symtab, this shrinks the TST from 175197 bits
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

17 years agoupdate to new APIs, make output a bit (haha) nicer
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

17 years agoImplement support for globally associating abbrevs with block IDs, which
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

17 years agoAdd a processor.
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

17 years agoallow the 8-bit abbrev to be used for either bb or other values
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

17 years agoshave another 150K off of kc++, by using a 7-bit encoding for BB names
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

17 years agowhere possible, encode symtab names with 7 bits per char instead of 8. This
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

17 years agouse a template to eliminate manual code duplication
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

17 years agoAdd an "implies" field to features. This indicates that, if the current
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

17 years agoEncode all value symtab strings as arrays of 8-bit fixed width integers,
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

17 years agoadd support for array abbreviations.
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

17 years agoeliminate internal length fields from record. Records already know their
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

17 years agoeliminate lengths from record bodies
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

17 years agostub out creation of BLOCKINFO_BLOCK
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

17 years agominor cleanups. Add provisions for a new standard BLOCKINFO_BLOCK
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

17 years agorefcount BitCodeAbbrev objects
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

17 years agoTest that the eh lowering code can handle constant folded bitcasts.
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

17 years agoA bitcast of a global variable may have been constant folded to a GEP -
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

17 years agoUse IntrinsicInst to test for prefetch instructions, which is ever so
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