Commit Graph

18797 Commits

Author SHA1 Message Date
Chris Lattner
5f32c01dea fix off-by-one that caused the llvm2cpp test to fail
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36880 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 19:27:46 +00:00
Chris Lattner
4eab2e57f9 Flush the file after writing bitcode so that clients who don't close their
ofstreams will be ok.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36878 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 19:19:23 +00:00
Chris Lattner
9e66233361 remove this file for now, we can bring it back from cvs if we need it in
the future (and integrate it with membuffer, etc)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36876 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 19:10:47 +00:00
Chris Lattner
d6f595946d remove libbzip2, it is dead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36875 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 19:05:34 +00:00
Nick Lewycky
ecd94c804a Fix typo in comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36873 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 13:37:16 +00:00
Chris Lattner
73a978a753 don't build bzip2 for now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36871 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 09:31:32 +00:00
Chris Lattner
dfa8d8c6ee disable this for now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36870 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 09:31:06 +00:00
Chris Lattner
beb4cb696d don't build bcreader/bcwriter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36869 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 09:30:31 +00:00
Chris Lattner
4bcca0f2ac switch this to bitcode instead of bytecode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36867 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 09:29:13 +00:00
Chris Lattner
c1d5624d71 Switch this over to bitcode instead of bytecode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36866 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 09:28:33 +00:00
Chris Lattner
33f1d5b328 Fix a nasty problem where we would miss enumeration of some types. This fixes
issues with CE_CAST etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36864 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 08:35:19 +00:00
Chris Lattner
7108dce324 Allow structs with zero fields.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36862 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 08:21:50 +00:00
Bill Wendling
11d8fdaf6a 3DNowA implies 3DNow. 64-bit implies SSE1, SSE2, and I assume MMX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36860 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 07:56:19 +00:00
Chris Lattner
bfcc38040b add a missing check
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36859 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 07:33:01 +00:00
Chris Lattner
82e791dc42 Fix MemoryBuffer::getFile to return null if it has an error opening the
file instead of aborting.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36858 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 07:24:46 +00:00
Chris Lattner
6f6f5125e2 Fix a bug in my previous patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36857 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 07:24:03 +00:00
Chris Lattner
e07c15c734 add bitcode support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36856 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 06:18:07 +00:00
Chris Lattner
1a019e5ffd add bitcode support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36855 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 06:02:13 +00:00
Chris Lattner
f283a5e53a 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
2007-05-06 05:32:21 +00:00
Chris Lattner
2cb1ad92d1 teach this to read from bitcode files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36843 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 05:18:53 +00:00
Nate Begeman
9a22530696 Reference correct header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36834 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 04:00:55 +00:00
Jeff Cohen
650c938c41 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
2007-05-06 03:23:14 +00:00
Jeff Cohen
332376bc60 Unbreak VC++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36831 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 03:12:47 +00:00
Chris Lattner
f9f2e83170 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
2007-05-06 02:38:57 +00:00
Chris Lattner
e8e1e4bf8a 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
2007-05-06 02:30:12 +00:00
Chris Lattner
2bce93a2ae implement reading/writing of inlineasm objects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36827 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-06 01:58:20 +00:00
Chris Lattner
94687acd21 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
2007-05-06 01:28:01 +00:00
Chris Lattner
7a303d1591 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
2007-05-06 01:00:28 +00:00
Chris Lattner
cb3d91b05b 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
2007-05-06 00:53:07 +00:00
Chris Lattner
817f08a0e5 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
2007-05-06 00:42:18 +00:00
Chris Lattner
ff7fc5dabe 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
2007-05-06 00:35:24 +00:00
Chris Lattner
abfbf85004 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
2007-05-06 00:21:25 +00:00
Chris Lattner
7337ab9e92 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
2007-05-06 00:00:00 +00:00
Chris Lattner
2bf6e6a632 handle gep aliasee
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36815 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 23:49:02 +00:00
Lauro Ramos Venancio
8f57667a5d 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
2007-05-05 23:44:41 +00:00
Chris Lattner
f110a2bdb6 add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36811 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 22:44:08 +00:00
Chris Lattner
8c756c1fff Implement Transforms/InstCombine/cast_ptr.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36809 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 22:41:33 +00:00
Chris Lattner
d717c1859a wrap long lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36807 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 22:32:24 +00:00
Chris Lattner
5e14b0d3e6 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
2007-05-05 22:29:06 +00:00
Chris Lattner
0d75f57f75 implement anyextend from i1 -> i64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36802 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 22:17:00 +00:00
Chris Lattner
0258011bb9 move CodeGen/X86/overlap-add.ll here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36799 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 22:10:24 +00:00
Duncan Sands
3194f57541 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
2007-05-05 20:27:00 +00:00
Chris Lattner
b464c44679 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
2007-05-05 19:39:05 +00:00
Chris Lattner
3f7998054a 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
2007-05-05 18:57:30 +00:00
Chris Lattner
caccc996e2 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
2007-05-05 18:49:57 +00:00
Chris Lattner
a0c54f3ada 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
2007-05-05 18:36:36 +00:00
Duncan Sands
01dfdcd84b Spelling fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36781 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-05 16:32:57 +00:00
Anton Korobeynikov
2a07e2f4df 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
2007-05-05 09:04:50 +00:00
Chris Lattner
440168b00e 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
2007-05-05 07:44:49 +00:00
Chris Lattner
a0f1ecc45e 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
2007-05-05 07:36:14 +00:00