Commit Graph

6885 Commits

Author SHA1 Message Date
Chris Lattner
b6ede8aaa0 Make Module::getNamedFunction prefer non-external functions if there is more than
one function of the same name


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7274 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 20:21:30 +00:00
Chris Lattner
a84983ea72 Fix space
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7273 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 20:21:06 +00:00
Chris Lattner
06782f804f InstCombine: (X ^ C1) & C2 --> (X & C2) iff (C1&C2) == 0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7272 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 19:36:21 +00:00
Chris Lattner
4daaebf170 New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7271 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 19:35:51 +00:00
Chris Lattner
5840326ae6 - InstCombine: (X | C1) & C2 --> X & C2 iff C1 & C1 == 0
- InstCombine: (X | C) & C --> C
  - InstCombine: (X | C1) & C2 --> (X | (C1&C2)) & C2


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7269 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 19:25:52 +00:00
Chris Lattner
b5cfb6cb1a New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7267 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 19:24:34 +00:00
Chris Lattner
0afcd442a1 New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7266 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 19:05:29 +00:00
Brian Gaeke
92bdfe6951 Add, rewrite, and/or reformat many comments.
Stop passing ostreams around: we already have one perfectly good ostream
and we can all share it.

Stop stashing a pointer to TargetData in the Pass object, because that will
lead to a crash if there are no functions in the module (ouch!)  Instead,
use addRequired() and getAnalysis(), like we always should have done.

Move the check for ConstantExpr up before the check for isPrimitiveType,
because we need to be able to catch e.g. ubyte (cast bool false to ubyte),
whose type is primitive but which is nevertheless a ConstantExpr, by calling
our specialized handler instead of the AsmWriter. This would result in
assembler errors when we would try to output something like ".byte (cast
bool false to ubyte)".

GC some unused variable declarations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7265 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 18:37:06 +00:00
Chris Lattner
ad44ebfff0 IC: (X & C1) | C2 --> (X | C2) & (C1|C2)
IC: (X ^ C1) | C2 --> (X | C2) ^ (C1&~C2)

We are now guaranteed that all 'or's will be inside of 'and's, and all 'and's
will be inside of 'xor's, if the second operands are constants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7264 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 18:29:44 +00:00
Chris Lattner
31a7f85346 New testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7263 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 18:28:42 +00:00
Chris Lattner
c6a8aff3f6 IC: (X ^ C1) & C2 --> (X & C2) ^ (C1&C2)
Minor code cleanup


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7262 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 17:57:01 +00:00
Chris Lattner
2b8e478b5d New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7261 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 17:56:34 +00:00
Chris Lattner
00b1a7e23e InstCombine: (X ^ 4) == 8 --> X == 12
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7260 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 17:26:36 +00:00
Chris Lattner
347319a4c9 New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7259 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 17:25:55 +00:00
Chris Lattner
30780ccf15 Add support for ~ operator on constants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7258 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 17:21:17 +00:00
Chris Lattner
bc5d414823 IC: (X & 5) == 13 --> false
IC: (X | 8) == 4  --> false


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7257 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 17:02:11 +00:00
Chris Lattner
f7b447eb69 New tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7256 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 17:01:18 +00:00
John Criswell
8d4221eeaa Renamed libtool to mklib for your tab completion pleasure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7255 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 16:52:50 +00:00
Chris Lattner
832688a6d2 Remove redundant const qualifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7254 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 15:30:32 +00:00
Chris Lattner
949a362802 Remove redundant const qualifiers from cast<> expressions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7253 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 15:30:06 +00:00
Chris Lattner
c07736a397 Simplify code by using ConstantInt::getRawValue instead of checking to see
whether the constant is signed or unsigned, then casting


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7252 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 15:22:26 +00:00
Chris Lattner
c8bf87af3e Remove unnecessary casts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7250 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 15:17:51 +00:00
Chris Lattner
bfcdf14d83 Fit code into 80 columns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7249 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 15:17:01 +00:00
Chris Lattner
28a128e37a Eliminate old-style cast
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7248 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 15:16:40 +00:00
Chris Lattner
9daa8a12d3 Random cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7247 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 14:59:40 +00:00
Chris Lattner
1815383276 Remove using decl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7246 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 14:55:59 +00:00
Chris Lattner
987cb2c3da Remove explicit const qualifiers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7245 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 14:54:33 +00:00
Chris Lattner
af28ac2201 Add more doxygen comments, add new ConstantInt::getRawValue method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7244 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 14:49:06 +00:00
Chris Lattner
00f185fbfd Fix bug: TailDup/2003-07-22-InfiniteLoop.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7243 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 03:32:41 +00:00
Chris Lattner
e1a875ef29 New testcase that caused infinite loop in taildup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7242 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 03:32:11 +00:00
Chris Lattner
1ba5bcd1ae - InstCombine (cast (xor A, B) to bool) ==> (setne A, B)
- InstCombine (cast (and X, (1 << size(X)-1)) to bool) ==> x < 0


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7241 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 21:46:59 +00:00
Chris Lattner
a73fede714 New testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7240 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 21:44:06 +00:00
John Criswell
b13092b053 Repaired the --enable and --disable options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7239 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 21:00:24 +00:00
John Criswell
79a8f09914 Fixed the enable/disable options. The AC_ARG_ENABLE macro does not perform
the *action-if-not-given* code when the --disable option is used.
Rather, the AC_ARG_ENABLE macro sets the $enableval variable, which then needs
to be checked to determine if --enable, --disable, or neither was specified.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7238 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 20:59:52 +00:00
Brian Gaeke
6a33f36645 Add documentation for runOnMachineFunction()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7237 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 20:53:20 +00:00
John Criswell
f02dbf0f22 Made some corrections to the enable-llc_diffs option.
This should keep it from breaking for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7236 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 20:07:49 +00:00
John Criswell
392aaa3be8 Generated a new configure script.
This script uses files within the new autoconf subdirectory and includes
changes from Brian Gaeke's recent changes to configure.ac.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7235 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 19:18:09 +00:00
John Criswell
0057e32730 Updated to use files within the autoconf subdirectory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7234 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 19:17:35 +00:00
John Criswell
4ea390d888 These are the autoconf files in their new home.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7233 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 19:13:20 +00:00
John Criswell
4407637f86 Moving these files to the llvm/autoconf directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7232 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 19:12:02 +00:00
John Criswell
2a97f610b0 Moved configure.ac to the autoconf directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7231 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 19:10:58 +00:00
Brian Gaeke
033b09329a turn off DISABLE_LLC_DIFFS for x86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7230 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 18:28:17 +00:00
Chris Lattner
35611c3a6b Add new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7229 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 16:18:09 +00:00
Vikram S. Adve
df3ac860e8 (1) Pass 'VAR=string' arguments to gmake
(2) Detect LLVMDIR using the LEVEL variable in Makefile.
(3) To perform #2 propertly, use the same Makefile search rules as gmake.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7228 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 12:35:28 +00:00
Vikram S. Adve
40c600e8f3 Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7227 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 12:08:58 +00:00
John Criswell
908c1f6fc5 Updated from the discussion on July 21, 2003.
Expanded upon testing priorities.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7225 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-21 22:22:48 +00:00
Misha Brukman
265789f155 Fixed misspelling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7223 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-21 21:58:16 +00:00
Chris Lattner
43234493de Simplify code a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7217 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-21 19:56:49 +00:00
John Criswell
067947380c Added code that checks to see if a global variable is external before replacing
a load of the global variable with the variable's constant value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7216 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-21 19:42:57 +00:00
John Criswell
cf2a7385dd Regression test for the Instruction Combining optimizization.
This test helps to see if the optimization correctly handles variables that
are declared constant and external.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7215 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-21 19:41:51 +00:00