summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Do not sink any instruction with side effects, including vaarg. This fixesChris Lattner2005-10-271-4/+2
| | | | | | | PR640 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24046 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix #include orderChris Lattner2005-10-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24044 91177308-0d34-0410-b5e6-96231b3b80d8
* Move some constant folding functions into LLVMAnalysis since they are usedJohn Criswell2005-10-271-0/+172
| | | | | | | by Analysis and Transformation passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24038 91177308-0d34-0410-b5e6-96231b3b80d8
* Move some constant folding code shared by Analysis and Transform passesJohn Criswell2005-10-273-143/+3
| | | | | | | | | into the LLVMAnalysis library. This allows LLVMTranform and LLVMTransformUtils to be archives and linked with LLVMAnalysis.a, which provides any missing definitions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24036 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix DSE to not nuke dead stores unless they redundant store is the sameChris Lattner2005-10-271-1/+4
| | | | | | | VT as the killing one. Fix fixes PR491 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24034 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typoChris Lattner2005-10-271-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24033 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach instcombine to promote stuff like (cast (malloc sbyte, 8*X) to int*)Chris Lattner2005-10-271-7/+26
| | | | | | | into: malloc int, (2*X) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24032 91177308-0d34-0410-b5e6-96231b3b80d8
* Promote cases like cast (malloc sbyte, 100) to int* intoChris Lattner2005-10-271-1/+22
| | | | | | | | (malloc [25 x int]) directly without having to convert to (malloc [100 x sbyte]) first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24031 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor change to this file to support obscure cases with constant array amountsChris Lattner2005-10-271-5/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24030 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a simple xform that is useful for bitfield operations.Chris Lattner2005-10-271-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24029 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. Remove libraries no longer created from the list of libraries linked into theJohn Criswell2005-10-261-1/+0
| | | | | | | | | | | SparcV9 JIT. 2. Make LLVMTransformUtils a relinked object file and always link it before LLVMAnalysis.a. These two libraries have circular dependencies on each other which creates problem when building the SparcV9 JIT. This change fixes the dependency on all platforms problems with a minimum of fuss. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24023 91177308-0d34-0410-b5e6-96231b3b80d8
* int comparison patternsAndrew Lenharth2005-10-262-40/+48
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24020 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some spello's pointed out by Gabor GreifChris Lattner2005-10-262-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24019 91177308-0d34-0410-b5e6-96231b3b80d8
* Typo made worse x 2 - take 2.Jim Laskey2005-10-262-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24018 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an assert compiling MallocBench/gsChris Lattner2005-10-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24017 91177308-0d34-0410-b5e6-96231b3b80d8
* Typo x 2Jim Laskey2005-10-262-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24016 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify instinfo, set random bits on more fp insts, and fix 1 opcodeAndrew Lenharth2005-10-262-24/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24014 91177308-0d34-0410-b5e6-96231b3b80d8
* Give full control of subtarget features over to table generated code.Jim Laskey2005-10-264-16/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24013 91177308-0d34-0410-b5e6-96231b3b80d8
* Add attribute name and type to SubtargetFeatures.Jim Laskey2005-10-263-8/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24012 91177308-0d34-0410-b5e6-96231b3b80d8
* fold nested and's early to avoid inefficiencies in MaskedValueIsZero. ThisChris Lattner2005-10-261-0/+9
| | | | | | | fixes a very slow compile in PR639. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24011 91177308-0d34-0410-b5e6-96231b3b80d8
* Add nodes for CondCodeSDNode and setcc, and add a bunch of pattern fragmentsChris Lattner2005-10-261-0/+64
| | | | | | | | | | | to make it easy to use them. This lets you write patterns like: (set PRRC:$rd, (setne GPRC:$rS, imm:$SH)) and stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24009 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a note about some bitfield stuff we could be doing better.Nate Begeman2005-10-251-0/+64
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23994 91177308-0d34-0410-b5e6-96231b3b80d8
* Correctly Expand or Promote FP_TO_UINT based on the capabilities of theNate Begeman2005-10-251-3/+5
| | | | | | | | machine. This allows us to generate great code for i32 FP_TO_UINT now on targets with 64 bit extensions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23993 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow custom lowered FP_TO_SINT ops in the check for whether a largerNate Begeman2005-10-251-1/+2
| | | | | | | | FP_TO_SINT is preferred to a larger FP_TO_UINT. This seems to be begging for a TLI.isOperationCustom() helper function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23992 91177308-0d34-0410-b5e6-96231b3b80d8
* autogen undefChris Lattner2005-10-252-11/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23991 91177308-0d34-0410-b5e6-96231b3b80d8
* Add undefChris Lattner2005-10-251-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23990 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow pseudos to have patterns, no functionality changeChris Lattner2005-10-252-13/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23988 91177308-0d34-0410-b5e6-96231b3b80d8
* Autogen fselChris Lattner2005-10-252-14/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23987 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose the fextend on the DAG instead of doing it in the matcherChris Lattner2005-10-251-8/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23986 91177308-0d34-0410-b5e6-96231b3b80d8
* Autogen a few new ppc-specific nodesChris Lattner2005-10-252-15/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23985 91177308-0d34-0410-b5e6-96231b3b80d8
* The dag isel generator generates this nowChris Lattner2005-10-252-64/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23984 91177308-0d34-0410-b5e6-96231b3b80d8
* Be a bit more paranoid about calling SelectNodeToChris Lattner2005-10-251-7/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23982 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a couple of minor bugs. The first fixes povray, the second fixes thingsChris Lattner2005-10-251-3/+9
| | | | | | | if the dag combiner isn't run git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23981 91177308-0d34-0410-b5e6-96231b3b80d8
* Clear a bit in this file that was causing a miscompilation of 178.galgel.Chris Lattner2005-10-251-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23980 91177308-0d34-0410-b5e6-96231b3b80d8
* Preparation of supporting scheduling info. Need to find info based on selectedJim Laskey2005-10-253-28/+54
| | | | | | | CPU. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23974 91177308-0d34-0410-b5e6-96231b3b80d8
* Stop using deprecated typesAlkis Evlogimenos2005-10-251-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23973 91177308-0d34-0410-b5e6-96231b3b80d8
* do not wrap this whole file in namespace llvmChris Lattner2005-10-242-8/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23962 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle allocations that, even after removing dead uses, still have more thanChris Lattner2005-10-241-3/+15
| | | | | | | | | | | | | | | one use (but one is a cast). This handles the very common case of: X = alloc [n x byte] Y = cast X to somethingbetter seteq X, null In order to avoid infinite looping when there are multiple casts, we only allow this if the xform is strictly increasing the alignment of the allocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23961 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug where we would 'promote' an allocation from one type to anotherChris Lattner2005-10-241-2/+6
| | | | | | | | where the second has less alignment required. If we had explicit alignment support in the IR, we could handle this case, but we can't until we do. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23960 91177308-0d34-0410-b5e6-96231b3b80d8
* Before promoting a malloc type, remove dead uses. This makes instcombineChris Lattner2005-10-241-0/+20
| | | | | | | | more effective at promoting these allocations, catching them earlier in the compile process. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23959 91177308-0d34-0410-b5e6-96231b3b80d8
* Pull some code out into a function, no functionality changeChris Lattner2005-10-241-25/+36
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23958 91177308-0d34-0410-b5e6-96231b3b80d8
* Make this build with GCC 4.1, patch contributed by Vladimir A. Merzliakov!Chris Lattner2005-10-242-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23956 91177308-0d34-0410-b5e6-96231b3b80d8
* Alkis agrees that that iterative scan allocator isn't going to be worked onChris Lattner2005-10-242-504/+1
| | | | | | | in the future, remove it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23952 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove this pass, it is not usefulChris Lattner2005-10-241-106/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23949 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some beta code that no longer has an owner.Chris Lattner2005-10-249-3043/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23944 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not build the ProfilePaths directory anymoreChris Lattner2005-10-241-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23943 91177308-0d34-0410-b5e6-96231b3b80d8
* DONT_BUILD_RELINKED is gone and implied by BUILD_ARCHIVE nowChris Lattner2005-10-2413-14/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23940 91177308-0d34-0410-b5e6-96231b3b80d8
* only build .a version of this libraryChris Lattner2005-10-241-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23938 91177308-0d34-0410-b5e6-96231b3b80d8
* Only build .a file versions of these libraries, instead of .a and .o versions.Chris Lattner2005-10-241-0/+1
| | | | | | | This should speed up build times. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23937 91177308-0d34-0410-b5e6-96231b3b80d8
* There is no need to build an archive version of this libraryChris Lattner2005-10-241-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23936 91177308-0d34-0410-b5e6-96231b3b80d8