Misha Brukman [Wed, 21 Jan 2004 22:54:10 +0000 (22:54 +0000)]
To materialize a module, you need to know what functions NEED to be read and
which ones don't, which is state that the parent class doesn't know without
knowing the implementation. Let the children classes implement
materializeModule().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10942
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 21 Jan 2004 22:50:12 +0000 (22:50 +0000)]
If you call abort(), #include <cstdlib>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10941
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 21 Jan 2004 21:20:44 +0000 (21:20 +0000)]
Add DESTDIR support for installation, to support RPM etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10940
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 21 Jan 2004 21:17:37 +0000 (21:17 +0000)]
Maybe Misha isn't so buggy after all. He caught the rest of my huge thinko
w.r.t. SHLIBEXT starting with a dot.
:-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10939
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 21 Jan 2004 21:16:10 +0000 (21:16 +0000)]
Build the PowerPC directory, so it is less likely to bit-rot (again)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10938
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 21 Jan 2004 21:13:19 +0000 (21:13 +0000)]
Import of skeletal PowerPC backend I have had laying around for months...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10937
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 21 Jan 2004 19:59:19 +0000 (19:59 +0000)]
Remember, SHLIBEXT begins with a period.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10936
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 21 Jan 2004 19:53:11 +0000 (19:53 +0000)]
Modified version of patch from mkahl@apple.com to stop hardcoding ".so".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10935
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 21 Jan 2004 19:39:29 +0000 (19:39 +0000)]
Regenerated using autoconf-2.57 and autoheader-2.57.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10934
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 21 Jan 2004 19:39:07 +0000 (19:39 +0000)]
Get SHLIBEXT variable from configure script.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10933
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 21 Jan 2004 19:38:56 +0000 (19:38 +0000)]
Get the shlib suffix from Libtool, and define it both in config.h and Makefile.config as SHLIBEXT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10932
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jan 2004 19:50:34 +0000 (19:50 +0000)]
SlotCalculator.h moved
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10931
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jan 2004 19:50:12 +0000 (19:50 +0000)]
Move SlotCalculator.h from include/llvm to include/llvm/Analysis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10930
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jan 2004 19:16:50 +0000 (19:16 +0000)]
bug fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10929
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jan 2004 19:13:07 +0000 (19:13 +0000)]
Fix PR212 - Bytecode reader misreads 'long -
9223372036854775808'!
Fix testcase test/Regression/Assembler/2004-01-20-MaxLongLong.llx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10928
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jan 2004 19:00:12 +0000 (19:00 +0000)]
New testcase for incorrect bytecode reading of MAXLONG. The reader is getting
it as zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10927
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Tue, 20 Jan 2004 17:51:13 +0000 (17:51 +0000)]
Moved iterators around.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10926
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Tue, 20 Jan 2004 17:49:42 +0000 (17:49 +0000)]
Moved iterators to common file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10925
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jan 2004 17:06:29 +0000 (17:06 +0000)]
Fix bogus warning and simplify code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10924
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jan 2004 00:57:32 +0000 (00:57 +0000)]
Major changes. Now we only compactify individual type planes if it is in
fact "profitable" to do so. This makes compactification "free" for small
programs (ie, it is completely disabled) and even helps large programs by
not having to encode pointless compactification planes.
On 176.gcc, this saves 50K from the bytecode file, which is, alas only
a couple percent.
This concludes my head bashing against the bytecode format, at least for
now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10922
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jan 2004 00:54:47 +0000 (00:54 +0000)]
add a method proto, make a method not inline
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10921
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jan 2004 00:54:06 +0000 (00:54 +0000)]
Bugfixes for dealing with partially compactified functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10920
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 20 Jan 2004 00:20:17 +0000 (00:20 +0000)]
Now with HTML 4.01 comliance flavor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10919
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Jan 2004 22:35:34 +0000 (22:35 +0000)]
Save another 30K from 176.gcc by encoding the compaction table a bit more
intelligently.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10918
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Jan 2004 22:26:53 +0000 (22:26 +0000)]
Remove -debug output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10917
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Jan 2004 21:09:23 +0000 (21:09 +0000)]
Add enum for compaction table.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10916
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Jan 2004 21:08:52 +0000 (21:08 +0000)]
Add support for writing bytecode files with compactiontables for bytecode files.
This shrinks the bytecode file for 176.gcc by about 200K (10%), and 254.gap by
about 167K, a 25% reduction. There is still a lot of room for improvement in
the encoding of the compaction table.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10915
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Jan 2004 21:08:15 +0000 (21:08 +0000)]
Add support for reading bytecode files with compactiontables for bytecode files.
This shrinks the bytecode file for 176.gcc by about 200K (10%), and 254.gap by
about 167K, a 25% reduction. There is still a lot of room for improvement in
the encoding of the compaction table.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10914
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Jan 2004 21:07:07 +0000 (21:07 +0000)]
Add support for building the compactiontable for bytecode files. This shrinks
the bytecode file for 176.gcc by about 200K (10%), and 254.gap by about 167K,
a 25% reduction. There is still a lot of room for improvement in the encoding
of the compaction table.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10913
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Jan 2004 21:03:49 +0000 (21:03 +0000)]
Add support for representing the "compaction table"
Change protected members to private. Nothing should subclass SlotCalculator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10912
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Jan 2004 21:03:06 +0000 (21:03 +0000)]
Eliminate special case handling for CPR's
Fix some problem cases where I was building the slot calculator in bytecode
writer mode instead of asmwriter mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10911
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 18 Jan 2004 20:13:43 +0000 (20:13 +0000)]
Clarify situation w.r.t the -lowerinvoke pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10909
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Jan 2004 23:25:43 +0000 (23:25 +0000)]
Bytecode format for LLVM 1.2 no longer explicitly encodes zeros in primitive
type planes. This saves about 5k on 176.gcc, and is needed for a subsequent
patch of mine I'm working on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10908
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Jan 2004 22:48:06 +0000 (22:48 +0000)]
fix copy-and-pasto
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10907
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Jan 2004 19:54:29 +0000 (19:54 +0000)]
Revision of Brian's threading support library to be a bit more generic and
platform independent. This code is completely untested (but never used),
and needs autoconf support for detecting pthreads, but it's a start, and
deletes two emails from my inbox. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10906
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Jan 2004 19:35:57 +0000 (19:35 +0000)]
This file goes away
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10905
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 16 Jan 2004 21:55:04 +0000 (21:55 +0000)]
Add a fixed bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10904
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Fri, 16 Jan 2004 21:53:23 +0000 (21:53 +0000)]
Remove the use of LLVMGCCARCH. Instead, query the compiler for the
location of libgcc.a; that will tell us the name of the directory to find
the libraries that we're looking for.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10903
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 16 Jan 2004 21:31:34 +0000 (21:31 +0000)]
Remove some whitespace and fix up some comments.
Take settings of LCC and LCC1XX from configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10902
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 16 Jan 2004 21:31:22 +0000 (21:31 +0000)]
Get paths to cc1 and cc1plus by asking llvm-gcc, and AC_SUBST them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10901
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 16 Jan 2004 21:31:21 +0000 (21:31 +0000)]
Regenerated using autoconf-2.57.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10900
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 16 Jan 2004 21:31:20 +0000 (21:31 +0000)]
Take settings of LCC and LCC1XX from configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10899
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 16 Jan 2004 21:13:10 +0000 (21:13 +0000)]
Clarify comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10898
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 16 Jan 2004 21:12:34 +0000 (21:12 +0000)]
I'm fairly certain this was just a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10897
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 16 Jan 2004 20:33:13 +0000 (20:33 +0000)]
Handle printing of intervals that are not assign to any physical
register yet (2nd try).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10896
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 16 Jan 2004 20:29:42 +0000 (20:29 +0000)]
Handle printing of intervals that are not assign to any physical
register yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10895
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 16 Jan 2004 20:17:05 +0000 (20:17 +0000)]
Fold open interval ends handling into
LiveIntervals::Interval::expiredAt() and simplify regalloc code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10894
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 16 Jan 2004 16:23:23 +0000 (16:23 +0000)]
Add asserts to previous change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10893
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 16 Jan 2004 16:06:59 +0000 (16:06 +0000)]
Use a list instead of a vector to store intervals. This will be needed
when we join intervals and one of the two will need to be removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10892
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 15 Jan 2004 22:44:19 +0000 (22:44 +0000)]
Use the LLVM standard name mangling infrastructure instead of reinventing the
wheel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10891
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 15 Jan 2004 22:35:43 +0000 (22:35 +0000)]
This is my script for narrowing down miscompilations to a single file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10890
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jan 2004 21:06:57 +0000 (21:06 +0000)]
If these blocks are empty, there is no reason to even emit the bytecode blocks.
This saves about 15K in 176.gcc, coupled with another patch that I'm working on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10889
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jan 2004 20:24:09 +0000 (20:24 +0000)]
Cleanups & efficiency improvements
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10888
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 15 Jan 2004 19:04:12 +0000 (19:04 +0000)]
Put stylesheet after the title.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10887
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 15 Jan 2004 19:03:47 +0000 (19:03 +0000)]
* HTML 4.01 Strict DTD compliance
* Added icons to check document easily
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10886
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jan 2004 18:47:15 +0000 (18:47 +0000)]
The bcwriter does not want ConstantPointerRef's to be indexed, and the asmwriter never did!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10885
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jan 2004 18:46:56 +0000 (18:46 +0000)]
ConstantPointerRef's are no longer emitted. This saves 20028 bytes in the
bytecode files when compiling 176.gcc, but more importantly will make it
easier to eliminate CPR's in the future (no new .bc revision will be
required to support them)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10884
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jan 2004 18:45:25 +0000 (18:45 +0000)]
Allow bytecode files to refer directly to global values as constants, instead
of forcing them to go through ConstantPointerRef's. This allows bytecode
files to mirror .ll files, allows more efficient encoding, and makes it easier
to eventually eliminate CPR's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10883
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jan 2004 18:39:06 +0000 (18:39 +0000)]
Fix more breakage with string change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10882
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 15 Jan 2004 18:34:11 +0000 (18:34 +0000)]
* HTML 4.01 Strict DTD compliance
* Use stylesheets instead of adhoc formatting
* Fix broken links in doxygen due to llvm namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10881
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 15 Jan 2004 18:17:07 +0000 (18:17 +0000)]
Include TargetRegInfo.h and declare SparcTargetMachine forward, to make this
header more easily includable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10880
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 15 Jan 2004 18:15:58 +0000 (18:15 +0000)]
Make this assertion more self-explanatory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10879
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jan 2004 17:59:29 +0000 (17:59 +0000)]
Hrm, thanks to misha for paying attention to my foolishness!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10878
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jan 2004 17:55:21 +0000 (17:55 +0000)]
PR73 is finally fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10877
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jan 2004 17:55:09 +0000 (17:55 +0000)]
Fix PR73: bytecode format inconsistent
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10876
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jan 2004 17:55:01 +0000 (17:55 +0000)]
Fix PR73
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10875
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jan 2004 16:56:15 +0000 (16:56 +0000)]
Fix brokenness in my last checking
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10874
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 15 Jan 2004 06:22:37 +0000 (06:22 +0000)]
Remove configure support for endianness checking, the need for which
Chris has helpfully expunged.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10873
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jan 2004 06:13:58 +0000 (06:13 +0000)]
Remove ENDIAN_* support. LLVM does not need it anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10872
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jan 2004 06:13:09 +0000 (06:13 +0000)]
Change all of the bytecode reader primitives to throw exceptions instead of
returning error codes. Because they don't return an error code, they can
return the value read, which simplifies the code and makes the reader more
efficient (yaay!).
Also eliminate the special case code for little endian machines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10871
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jan 2004 06:11:30 +0000 (06:11 +0000)]
Remove the optimization that depends on ENDIAN_LITTLE: it's not worth it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10870
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 15 Jan 2004 04:37:10 +0000 (04:37 +0000)]
Remove broken doxygen comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10869
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 15 Jan 2004 00:14:41 +0000 (00:14 +0000)]
* Conform to HTML 4.01 strict DTD
* Use stylesheets instead of hard-coding formatting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10868
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 15 Jan 2004 00:13:59 +0000 (00:13 +0000)]
Make the stylesheet conform to CSS standard.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10867
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 23:37:43 +0000 (23:37 +0000)]
Improve comments, add support for remembering the constants strings that
are to be emitted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10866
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 23:37:22 +0000 (23:37 +0000)]
add support for -- for symmetry
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10865
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 23:36:54 +0000 (23:36 +0000)]
The new bytecode format supports emitting strings a special case. This is
intended to save size (and does on small programs), but on big programs it
actually increases the size of the program slightly. The deal is that many
functions end up using the characters that the string contained, and the
characters are no longer in the global constant table, so they have to be
emitted in function specific constant pools.
This pessimization will be fixed in subsequent patches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10864
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 23:35:21 +0000 (23:35 +0000)]
Version 1.2 now supports encoding strings as a special case, to avoid having
to emit all of those sbyte constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10863
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 23:34:39 +0000 (23:34 +0000)]
When emitting bytecode, handle strings specially. Do not add the characters
that make up the strings to the slotcalculator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10862
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 23:03:22 +0000 (23:03 +0000)]
Like output_data, it's obvious that input_data was only used with 1 character
data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10861
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 21:18:03 +0000 (21:18 +0000)]
"fix" a nasty race condition
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10860
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 20:58:17 +0000 (20:58 +0000)]
Fix some exception safety problems
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10859
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 20:41:29 +0000 (20:41 +0000)]
Hrm, apparently I missed lowering this intrinsic. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10858
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 18:50:28 +0000 (18:50 +0000)]
It is obvious that this has never been used for outputing more than a single
byte, it's totally endian incorrect!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10857
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 18:41:38 +0000 (18:41 +0000)]
Be const correct
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10856
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 17:51:53 +0000 (17:51 +0000)]
Fix bug in previous checkin: Demorgan would be ashamed of me, I need to
lay off the crack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10855
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 17:15:17 +0000 (17:15 +0000)]
Eliminate the isStringCompatible function, using ConstantArray::isString.
It's not clear why the code was looking for signed chars < 0, but it can't
matter to the assembler anyway, so the check goes away. This also fixes
compatibility with arrays of [us]byte that have constantexprs in them.
Also slightly restructure some code to be cleaner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10854
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 17:14:42 +0000 (17:14 +0000)]
Eliminate the isStringCompatible function, using ConstantArray::isString.
It's not clear why the code was looking for signed chars < 0, but it can't
matter to the assembler anyway, so the check goes away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10853
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 17:07:46 +0000 (17:07 +0000)]
Use new method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10852
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 17:06:38 +0000 (17:06 +0000)]
Implement ConstantArray::isString
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10851
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 17:06:21 +0000 (17:06 +0000)]
Add new ConstantArray::isString(), as the conditions for using getString()
are complex enough to check that it should be a seperate method.
While I'm here, improve ConstantArray::getNullValue a bit, though the
FIXME is still quite valid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10850
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 16:54:21 +0000 (16:54 +0000)]
Ok, I can't handle it. This is a temporary checkin of a ton of statistics that
i'm using in my work to reduce the bytecode file sizes. These will eventually
be removed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10849
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 16:44:44 +0000 (16:44 +0000)]
Remove support for the pre-1.0 bytecode version #1. This will become
the bytecode revision generated by LLVM 1.2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10848
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Wed, 14 Jan 2004 10:44:29 +0000 (10:44 +0000)]
Properly update #intervals statistic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10847
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 06:06:08 +0000 (06:06 +0000)]
Fix InstCombine/2004-01-13-InstCombineInvokePHI.ll, which also fixes lots
of C++ programs in Shootout-C++, including lists1 and moments, etc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10845
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 14 Jan 2004 06:02:53 +0000 (06:02 +0000)]
Don't pass anything to the IntrinsicLowering class that is not_intrinsic,
because that makes it abort. Also, fix a typo in a comment.
This checkin brought to you by the "It only takes about 30 seconds to run
ENABLE_LLI tests on Shootout on zion, even if they all dump core" fund.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10844
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 05:53:11 +0000 (05:53 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10843
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 05:42:52 +0000 (05:42 +0000)]
Fix check. PHI nodes must be handled specially, of course.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10842
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 04:25:59 +0000 (04:25 +0000)]
Tighten up verifier checks. The result of an invoke instruction only
dominates the normal destination, not the exceptional dest (ie, the result
of a call is undefined on an exception)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10841
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Jan 2004 03:39:46 +0000 (03:39 +0000)]
Make sure to verify the result before writing out the bytecode file. Not doing
so can cause obscure errors downstream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10840
91177308-0d34-0410-b5e6-
96231b3b80d8