Chris Lattner
ff1529b6cf
Make IP Constant prop more aggressive about handling self recursive calls.
...
This implements IPConstantProp/recursion.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17666 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-10 19:43:59 +00:00
John Criswell
546faca4ef
Correct the name of stosd for the AT&T syntax:
...
It's stosl (l for long == 32 bit).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17658 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-10 04:48:15 +00:00
Chris Lattner
c890bfe1da
Do not let dead constant expressions hanging off of functions prevent IPCP.
...
This allows to elimination of a bunch of global pool descriptor args from
programs being pool allocated (and is also generally useful!)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17657 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09 20:47:30 +00:00
Reid Spencer
4b82681c65
Fix isBytecodeFile to correctly recognized compressed bytecode too.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17655 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09 20:27:23 +00:00
Reid Spencer
9195f37c5f
* Implement getStatusInfo for getting stat(2) like information
...
* Implement createTemporaryFile for mkstemp(3) functionality
* Fix isBytecodeFile to accept llvc magic # (compressed) as bytecode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17654 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09 20:26:31 +00:00
John Criswell
b5810282ee
Recognize compressed LLVM bytecode files.
...
This should fix the problem of not being able to link compressed LLVM
bytecode files from LLVM libraries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17648 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09 19:37:07 +00:00
Reid Spencer
580a1164d8
Tune compression:
...
bzip2: block size 9 -> 5, reduces memory by 400Kbytes, doesn't affect speed
or compression ratio on all but the largest bytecode files (>1MB)
zip: level 9 -> 6, this speeds up compression time by ~30% but only
degrades the compressed size by a few bytes per megabyte. Those few
bytes aren't worth the effort.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17647 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09 17:58:09 +00:00
Chris Lattner
a8e475093a
Change this back so that I get stable numbers to reflect the change from the
...
nightly testers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17646 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09 08:05:23 +00:00
Chris Lattner
52f20f8308
Fix bug: 2004-11-08-FreeUseCrash.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17642 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09 05:10:56 +00:00
Misha Brukman
710d1ce4f0
* Convert tabs to spaces
...
* Order #includes according to style guide
* Remove extraneous blank lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17639 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09 04:27:19 +00:00
Misha Brukman
669b524399
Output the program name (in this case, gccld) with warning about invalid files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17638 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09 04:24:59 +00:00
Nate Begeman
a591457857
Allow hbd to be bugpointable on darwin by fixing common and linkonce codegen
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17637 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09 04:01:18 +00:00
Misha Brukman
336e56e67d
Handle headers for compressed bytecode files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17634 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-08 22:03:32 +00:00
Misha Brukman
eda20f933b
Don't silently ignore invalid files: tell the user!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17633 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-08 22:03:10 +00:00
Chris Lattner
ac6d4854e1
Fix a bug that was preventing povray and namd from pool allocating correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17632 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-08 21:08:46 +00:00
Chris Lattner
beacefae61
Handle assert_fail special
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17631 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-08 21:08:28 +00:00
Reid Spencer
01a42e40ed
Fix a typo: isvalid -> isValid
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17621 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-08 08:27:51 +00:00
Nate Begeman
676dee6ae9
Put int the getReg cast optimization from x86 so that we generate fewer
...
move instructions for the register allocator to coalesce.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17608 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-08 02:25:40 +00:00
Misha Brukman
895eddfad4
Implement ExecutionEngine::freeMachineCodeForFunction()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17601 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 23:58:46 +00:00
Chris Lattner
ae18963a70
VERY large functions that are only called from one place are not really
...
exciting to inline. Only inline medium or small sized functions with a
single call site.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17588 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 21:46:47 +00:00
Nate Begeman
075cdc655e
Disable bogus cast elimination when the cast is used by a setcc instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17583 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 20:23:42 +00:00
Reid Spencer
f0c977cbac
* Comments & cleanup per CL code review.
...
* Accept 'llvc' as signature for compressed bytecode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17579 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 18:20:55 +00:00
Reid Spencer
36eea80616
Add comments per CL code review.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17578 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 18:19:00 +00:00
Reid Spencer
83296f5496
* Add comments and cleanup per CL code review
...
* Make signature for compressed bytecode llvc instead of unreadable
* Make the CompressionContext have a constructor and destructor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17576 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 18:17:38 +00:00
Misha Brukman
fb4863ac55
Replace uses of llvm.org with llvm.cs.uiuc.edu
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17549 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 00:58:38 +00:00
Misha Brukman
d8b8912861
Consistently use llvm.cs.uiuc.edu instead of llvm.org
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17548 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 00:58:20 +00:00
Chris Lattner
26818012e3
Decompose* is V9 specific, make it internal
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17547 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 00:43:24 +00:00
Chris Lattner
00a4fe48ac
This is V9 specific, move it there.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17545 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 00:39:26 +00:00
Chris Lattner
64a26c7bf8
Move this file from lib/Transforms/Scalar
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17544 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 00:39:09 +00:00
Reid Spencer
17f52c5c46
Add support for compressed bytecode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17535 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-06 23:17:23 +00:00
Reid Spencer
2bcfcbe795
Implement the GetBytecodeSymbols interface function to extract just the
...
externally visible defined symbols from a bytecode file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17503 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-06 08:56:40 +00:00
Reid Spencer
cdb21a9e49
Makefile for the LLVMArchive library.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17500 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-06 08:52:36 +00:00
Reid Spencer
362cbf0d74
First kinda/sorta working version of the Archive library. Reading is not
...
yet supported but writing works. Way too early to review this. More to come
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17499 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-06 08:51:45 +00:00
Reid Spencer
07adb2836b
Stop propagating method names that violate the coding standard
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17498 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-05 22:15:36 +00:00
John Criswell
e5cda8e727
Fix compilation problem; make the cast and the LHS be the same type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17488 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-05 16:17:06 +00:00
Chris Lattner
53fe2beb01
Remove dead var
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17485 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-05 04:52:08 +00:00
Chris Lattner
141e3fd81d
Quiet VC++ warnings
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17484 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-05 04:50:59 +00:00
Chris Lattner
41ffe4b531
Do not make i have bigger scope that we need
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17483 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-05 04:47:37 +00:00
Chris Lattner
183f2eb860
Remove dead vars
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17482 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-05 04:46:22 +00:00
Chris Lattner
f158092801
Fix some warnings on VC++
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17481 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-05 04:45:43 +00:00
Nate Begeman
28dd2fc240
Thanks to sabre for pointing out that we were incorrectly codegen'ing
...
int test(int x) { return 32768 - x; }
Fixed by teaching the function that checks a constant's validity to be used
as an immediate argument about subtract-from instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17476 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-04 19:43:18 +00:00
Brian Gaeke
6931fd61c0
Handle "call" operands of type long/ulong passed in registers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17464 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-04 00:27:04 +00:00
Chris Lattner
82962de3b9
Don't call Constant::getNullValue when the argument could be VoidTy
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17457 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-03 18:51:26 +00:00
Chris Lattner
da6122f61d
Fix this function to not say that longs have 8-byte alignment on X86/PPC.
...
This method is really a gross hack, but at least we can make it work on
the targets we support right now.
This bug fix stops a crash in a testcase reduced from 176.gcc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17443 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 22:18:18 +00:00
Tanya Lattner
80f085500f
Added gross hacks such as creating my own def-use map, and picking on Instruction that I can add all my TmpInstructions to its MCFI.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17441 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 21:04:56 +00:00
Chris Lattner
f1de30acce
Graphs that are part of equivalence sets can be multi-function SCC's
...
themselves. Make sure to update DSInfo correctly. This fixes a testcase
reduced from Prolangs-C++/objects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17439 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 20:31:06 +00:00
Chris Lattner
caa35bc0b6
Correctly handle new SCC's found as a result of merging EQ graphs do to
...
function pointer equivalences. This fixes many problems, including a testcase
reduced Prolangs-C++/objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17437 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 19:29:59 +00:00
Chris Lattner
033a7d5389
Substantially cleanup/speedup the eq graphs pass by walking the callgraph
...
a DSGraph at a time instead of a function at a time. This is also more
correct, though it doesn't seem to fix any programs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17435 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 17:51:11 +00:00
Chris Lattner
a62869b064
Fix a warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17431 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 15:27:57 +00:00
Chris Lattner
983baf472f
Minor cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17428 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-02 06:38:58 +00:00