aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2004-09-24Initial implementation of the TimeValue abstraction.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16511 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-24Updated the last two header files so that they are configured withJohn Criswell
AC_CONFIG_HEADERS. This should prevent LLVM from needlessly re-compiling on a re-configure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16510 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-24Modified hash_map and hash_set configuration so that they are notJohn Criswell
regenerated on every run of configure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16509 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-24Implement shift-and combinations, implementing InstCombine/and.ll:test19-21Chris Lattner
These combinations trigger 4 times in povray, 7x in gcc, 4x in gap, and 2x in bzip2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16508 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-24Add some tests for shr-and foldingChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16507 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-24Configure Datatypes.h.in with AC_CONFIG_HEADERS. This should prevent itJohn Criswell
from being re-generated if the new version is identical to the old version. Hence, it should save us some recompiling after re-configures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16506 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-23Move LHSI->hasOneUse() into the arms of the conditional, reindenting code.Chris Lattner
No functionality changes here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16505 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-23Implement Transforms/InstCombine/and.ll:test18, a case that occurs 20 timesChris Lattner
in perlbmk git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16504 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-23New testcase for a pattern that occurs 20 times in perlbmkChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16503 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-23Add a blurb about the use of class vs. struct keyword in class decls.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16500 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-23Implement select.ll:test16: fold load (select C, X, null) -> load XChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16499 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-23load null is undefined behavior, this should foldChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16498 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-23Change Value from a "struct" to a "class" so that VC 7.1 doesn't generateReid Spencer
missing symbols when its referenced as a class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16496 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-23Patch for MINGW. Patch provided by Henrik Bach.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16495 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-23Missed one $*.a -> $@ conversion for the Release build.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16494 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-23Fix the last of the major PPC GEP folding deficiencies. This will allowNate Begeman
the ISel to use indexed and non-zero immediate offsets for GEPs that have more than one use. This is common for instruction sequences such as a load followed by a modify and store to the same address. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16493 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-23Update email addressAlkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16492 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-23Grrr... I shouldn't have to do this one :)Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16491 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-23Update creditsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16490 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-23Correct the rules for making shared libraries per libtool 1.5.10Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16489 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-22Use the V8/V9 shared register file descriptionMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16485 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-22Combine the F2 and F3 instruction classes into one file for simplicityMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16484 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-22Fix file header pathMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16483 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-22Prettify formatting of the file, adjust paths to making V8 a subdir of SparcMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16482 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-22V8 is now a subdirectory of Sparc; adjust paths accordinglyMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16481 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-22Update to add the HAVE_UINT64_T test and the STACK_DIRECTION indicator.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16480 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-22The alloca function, strangely enough, is found in the malloc.h header fileReid Spencer
on MINGW platform. Provide an #elseif case to #include malloc.h for this platform if malloc.h is found. Patch provided by Henrik Bach. Thanks Henrik! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16479 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-22add optimized code sequences for setcc x, 0Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16478 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-21Do not fold (X + C1 != C2) if there are other users of the add. DoingChris Lattner
this transformation used to take a loop like this: int Array[1000]; void test(int X) { int i; for (i = 0; i < 1000; ++i) Array[i] += X; } Compiled to LLVM is: no_exit: ; preds = %entry, %no_exit %indvar = phi uint [ 0, %entry ], [ %indvar.next, %no_exit ] ; <uint> [#uses=2] %tmp.4 = getelementptr [1000 x int]* %Array, int 0, uint %indvar ; <int*> [#uses=2] %tmp.7 = load int* %tmp.4 ; <int> [#uses=1] %tmp.9 = add int %tmp.7, %X ; <int> [#uses=1] store int %tmp.9, int* %tmp.4 *** %indvar.next = add uint %indvar, 1 ; <uint> [#uses=2] *** %exitcond = seteq uint %indvar.next, 1000 ; <bool> [#uses=1] br bool %exitcond, label %return, label %no_exit and turn it into a loop like this: no_exit: ; preds = %entry, %no_exit %indvar = phi uint [ 0, %entry ], [ %indvar.next, %no_exit ] ; <uint> [#uses=3] %tmp.4 = getelementptr [1000 x int]* %Array, int 0, uint %indvar ; <int*> [#uses=2] %tmp.7 = load int* %tmp.4 ; <int> [#uses=1] %tmp.9 = add int %tmp.7, %X ; <int> [#uses=1] store int %tmp.9, int* %tmp.4 *** %indvar.next = add uint %indvar, 1 ; <uint> [#uses=1] *** %exitcond = seteq uint %indvar, 999 ; <bool> [#uses=1] br bool %exitcond, label %return, label %no_exit Note that indvar.next and indvar can no longer be coallesced. In machine code terms, this patch changes this code: .LBBtest_1: # no_exit mov %EDX, OFFSET Array mov %ESI, %EAX add %ESI, DWORD PTR [%EDX + 4*%ECX] mov %EDX, OFFSET Array mov DWORD PTR [%EDX + 4*%ECX], %ESI mov %EDX, %ECX inc %EDX cmp %ECX, 999 mov %ECX, %EDX jne .LBBtest_1 # no_exit into this: .LBBtest_1: # no_exit mov %EDX, OFFSET Array mov %ESI, %EAX add %ESI, DWORD PTR [%EDX + 4*%ECX] mov %EDX, OFFSET Array mov DWORD PTR [%EDX + 4*%ECX], %ESI inc %ECX cmp %ECX, 1000 jne .LBBtest_1 # no_exit We need better instruction selection to get this: .LBBtest_1: # no_exit add DWORD PTR [Array + 4*%ECX], EAX inc %ECX cmp %ECX, 1000 jne .LBBtest_1 # no_exit ... but at least there is less register juggling git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16473 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-21The real x87 floating point registers should not be allocatable. TheyAlkis Evlogimenos
are only used by the stackifier when transforming FPn register allocations to the real stack file x87 registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16472 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-21s/ISel/PPC64ISel/ to have unique class names for debugging via gdb because theMisha Brukman
C++ front-end in gcc does not mangle classes in anonymous namespaces correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16471 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-21s/ISel/PPC32ISel/ to have unique class names for debugging via gdb because theMisha Brukman
C++ front-end in gcc does not mangle classes in anonymous namespaces correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16470 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-21s/ISel/X86ISel/ to have unique class names for debugging via gdb because the C++Misha Brukman
front-end in gcc does not mangle classes in anonymous namespaces correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16469 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-21Make sure to set the operand listChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16466 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-21Fix a problem where the mmap_file test was generating an incorrect testReid Spencer
program that always failed (wouldn't compile). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16465 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-21Change the warning text so that NO warnings are permitted. This is now theReid Spencer
case since the AC_CONFIG_SUBDIRS problem has been fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16464 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-21Don't attempt to (illegally) configure a subdir if we don't recognize it.Reid Spencer
Instead just create a warning message that says the directory cannot be configured because it isn't recognized. This also gets rid of a bunch of warning messages from the auto* tools. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16463 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-21Fix the program passed to AC_LANG_PROGRAM to be only the BODY of the mainReid Spencer
function, not the whole main function. This problem resulted during conversion of scripts to the new autoconf standard. The effect was that the mmap_file test would fail and if it does there is currently an #ifdef'd #error that causes compilation to fail. Bad, bad, bad. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16462 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-21Thanks to Brad Jones for packed type support!Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16461 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-21Thanks to Brad for documentation on adding a DerivedTypeMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16460 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-21This is an empty directoryChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16459 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-21This is a dead directory nowChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16458 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20Change the name of the "known" module for Java from llvm-java to Java.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16453 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20Use the right directory for the Java frontendAlkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16448 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20Fix potential miscompilations: InstCombine/2004-09-20-BadLoadCombine*.llxChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16447 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20Two testcases for invalid transformations that instcombine is doingChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16446 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20Documentation upgrade.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16445 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20Finish the documentation.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16444 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20Tighten up the specification of what counts as a code file. The previousReid Spencer
specification was too liberal in some areas and missing things in others. This specification is based on the actual extensions found in the source tree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16443 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20Base the implementation on the llvmdo script so that we only have toReid Spencer
maintain the logic for "what counts as a source file" in one place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16442 91177308-0d34-0410-b5e6-96231b3b80d8