aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2004-11-13Add useful method, minor cleanupsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17715 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13Don't print unneeded labelsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17714 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13Run prcontext.tcl with tclsh and let it be found in the path. This should be ↵Tanya Lattner
found by configure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17713 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13Adding subdirectory dg.exp files in order to be able to use dejagnu to only ↵Tanya Lattner
run specific tests (located in some subdirectory of Regression) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17712 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13Changed to use tcl script.Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17711 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13Hack around stupidity in GCC, fixing Burg with the CBE andChris Lattner
CBackend/2004-11-13-FunctionPointerCast.llx git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17710 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13New testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17709 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13Rewrote prcontext.py in tcl.Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17708 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13shld is a very high latency operation. Instead of emitting it for shifts ofChris Lattner
two or three, open code the equivalent operation which is faster on athlon and P4 (by a substantial margin). For example, instead of compiling this: long long X2(long long Y) { return Y << 2; } to: X3_2: movl 4(%esp), %eax movl 8(%esp), %edx shldl $2, %eax, %edx shll $2, %eax ret Compile it to: X2: movl 4(%esp), %eax movl 8(%esp), %ecx movl %eax, %edx shrl $30, %edx leal (%edx,%ecx,4), %edx shll $2, %eax ret Likewise, for << 3, compile to: X3: movl 4(%esp), %eax movl 8(%esp), %ecx movl %eax, %edx shrl $29, %edx leal (%edx,%ecx,8), %edx shll $3, %eax ret This matches icc, except that icc open codes the shifts as adds on the P4. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17707 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13Add missing checkChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17706 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13Compile:Chris Lattner
long long X3_2(long long Y) { return Y+Y; } int X(int Y) { return Y+Y; } into: X3_2: movl 4(%esp), %eax movl 8(%esp), %edx addl %eax, %eax adcl %edx, %edx ret X: movl 4(%esp), %eax addl %eax, %eax ret instead of: X3_2: movl 4(%esp), %eax movl 8(%esp), %edx shldl $1, %eax, %edx shll $1, %eax ret X: movl 4(%esp), %eax shll $1, %eax ret git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17705 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13Simplify handling of shifts to be the same as we do for adds. Add supportChris Lattner
for (X * C1) + (X * C2) (where * can be mul or shl), allowing us to fold: Y+Y+Y+Y+Y+Y+Y+Y into %tmp.8 = shl long %Y, ubyte 3 ; <long> [#uses=1] instead of %tmp.4 = shl long %Y, ubyte 2 ; <long> [#uses=1] %tmp.12 = shl long %Y, ubyte 2 ; <long> [#uses=1] %tmp.8 = add long %tmp.4, %tmp.12 ; <long> [#uses=1] This implements add.ll:test25 Also add support for (X*C1)-(X*C2) -> X*(C1-C2), implementing sub.ll:test18 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17704 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13New testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17703 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13Add support for shiftsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17702 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13Fold:Chris Lattner
(X + (X << C2)) --> X * ((1 << C2) + 1) ((X << C2) + X) --> X * ((1 << C2) + 1) This means that we now canonicalize "Y+Y+Y" into: %tmp.2 = mul long %Y, 3 ; <long> [#uses=1] instead of: %tmp.10 = shl long %Y, ubyte 1 ; <long> [#uses=1] %tmp.6 = add long %Y, %tmp.10 ; <long> [#uses=1] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17701 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13Lazily create the abort message, so only translation units that use unwindChris Lattner
will actually get it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17700 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13Fix: CodeExtractor/2004-11-12-InvokeExtract.llChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17699 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-13New testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17698 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-12Fix a bug where the code extractor would get a bit confused handling invokeChris Lattner
instructions, setting DefBlock to a block it did not have dom info for. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17697 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-12Simplify handling of constant initializersChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17696 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-12Makefile for lib/LinkerReid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17695 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-12This file originated in lib/VMCore/Linker.cpp but now lives inReid Spencer
lib/Linker/LinkModules.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17694 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-12This file originated in tools/gccld/Linker.cpp but now lives inReid Spencer
lib/Linker/LinkArchives.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17693 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-12* Clean up all the shared library output on uninstallReid Spencer
* Provide the correct set of input directories to the TAGS target * Provide a CTAGS target for building Vi style ctags files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17688 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-12Document the new llvm-ranlib command.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17687 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-12Correctly terminate a list.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17686 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-12Document the modifiers and the file format.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17685 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-11Make this build in release modeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17684 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-11Add llvm-ar to the index.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17682 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-11First attempt at llvm-ar documentation. Modifiers need a little moreReid Spencer
explanation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17681 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-11Actually, leave the check in. This prevents us from counting dead argumentsChris Lattner
as IPCP opportunities. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17680 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-11Fix bug: IPConstantProp/deadarg.llChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17679 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-11new testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17678 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-11Fix documentation for Makefile target name change. install-bytecode is nowReid Spencer
just "install" in the runtime directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17677 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-10Make IP Constant prop more aggressive about handling self recursive calls.Chris Lattner
This implements IPConstantProp/recursion.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17666 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-10New testcaseChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17665 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-10Correct the name of stosd for the AT&T syntax:John Criswell
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-09Do not let dead constant expressions hanging off of functions prevent IPCP.Chris Lattner
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-09Provide conversion from posix time.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17656 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09Fix isBytecodeFile to correctly recognized compressed bytecode too.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17655 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09* Implement getStatusInfo for getting stat(2) like informationReid Spencer
* 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-09Make sure llee can deal with compressed bytecode too.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17652 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09Recognize compressed LLVM bytecode files.John Criswell
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-09Tune compression:Reid Spencer
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-09Change this back so that I get stable numbers to reflect the change from theChris Lattner
nightly testers git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17646 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09Document quick-test target.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17644 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09Add a quick-test target that uses QUICKTEST variable to quickly run aReid Spencer
portion of the test suite. e.g.: make quck-test QUICKTEST=Regression/Bytecode git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17643 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09Fix bug: 2004-11-08-FreeUseCrash.llChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17642 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09Name file properlyChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17641 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-09Hrm, don't ask how I ran into this bugChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17640 91177308-0d34-0410-b5e6-96231b3b80d8