Commit Graph

1286 Commits

Author SHA1 Message Date
Evan Cheng
04677a3b49 Recognize target instruction flag 'isReMaterializable'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35159 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-19 06:20:37 +00:00
Anton Korobeynikov
d0b82b301d Refactoring of formal parameter flags. Enable properly use of
zext/sext/aext stuff.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35008 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-07 16:25:09 +00:00
Anton Korobeynikov
1d9baccc9b Use new SDIselParamAttr enumeration. This removes "magick" constants
from formal attributes' flags processing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34963 91177308-0d34-0410-b5e6-96231b3b80d8
2007-03-06 08:12:33 +00:00
Chris Lattner
e3bab80e33 rename some CCActions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34724 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-28 05:29:06 +00:00
Chris Lattner
2092c8ac9c implement CCPromoteToType
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34720 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-28 04:43:48 +00:00
Chris Lattner
50d456539d reapply
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34697 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-27 22:08:27 +00:00
Chris Lattner
88ee2a18a7 *** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34696 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-27 22:05:51 +00:00
Evan Cheng
53c9b3f68c Backing out
CodeGenTarget.cpp updated: 1.82 -> 1.83
Record.cpp updated: 1.55 -> 1.56
Record.h updated: 1.59 -> 1.60
TableGen.cpp updated: 1.47 -> 1.48
It's missing CallingConvEmitter.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34693 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-27 21:44:08 +00:00
Chris Lattner
798dc7adb4 initial support for calling convention generation, still unfinished.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34682 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-27 20:43:37 +00:00
Chris Lattner
114e5dd464 emit an enum value for the # of target registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34624 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-26 03:34:38 +00:00
Chris Lattner
d263114d7a the lengths of the strings are known, just use memcmp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34321 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-15 19:26:16 +00:00
Chris Lattner
3b515802f6 Implement Function::getIntrinsicID without it needing to call Value::getName,
which allocates a string.  This speeds up instcombine on 447.dealII by 5%.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34318 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-15 19:17:16 +00:00
Reid Spencer
ac9dcb94dd For PR1195:
Change use of "packed" term to "vector" in comments, strings, variable
names, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34300 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-15 03:39:18 +00:00
Reid Spencer
9d6565a5b1 For PR1195:
Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and
PackedTyID -> VectorTyID. No functional changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34293 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-15 02:26:10 +00:00
Chris Lattner
e5ff00870a remove obsolete path
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34273 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-14 07:39:35 +00:00
Jim Laskey
95af592a63 Automatically generating intrinsic declarations from Dan Gohman. Modified
to construct FunctionType in separate function, and, have getDeclaration
return a Function instead of a Constant.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34008 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-07 20:38:26 +00:00
Reid Spencer
c9c1787907 Set the new NO_INSTALL flag for build-only tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33967 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-06 18:51:28 +00:00
Jim Laskey
95d97b90e8 Error check and eliminate unnecessary value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33966 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-06 18:30:58 +00:00
Jim Laskey
01ba6adc8f Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33965 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-06 18:20:07 +00:00
Jim Laskey
81a21eae3e Deemed too cute to live.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33964 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-06 18:19:44 +00:00
Jim Laskey
251e3c6f6f Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33963 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-06 18:03:31 +00:00
Jim Laskey
ba4cc09f51 Support var arg intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33962 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-06 18:02:54 +00:00
Reid Spencer
90a2eb02e5 Use opt to generate the list of passes to run.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33903 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-05 06:10:19 +00:00
Jim Laskey
844b892246 Make the constant honest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33557 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 23:00:54 +00:00
Jim Laskey
a683f9ba13 Files missing from LABEL check in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33539 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 17:29:20 +00:00
Chris Lattner
d8a1728b5a Make tblgen error more useful. Patch by B. Scott Michel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33295 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 07:45:12 +00:00
Reid Spencer
2c13f6657a Fix this tool for use on Darwin which requires the file to come after the
commands. Linux is more forgiving.

Patch by Gordon Henriksen. Thanks, Gordon!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33285 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-17 03:38:22 +00:00
Reid Spencer
ea92a109ff Join two lines that caused awk to squak on some platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33274 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-16 22:41:12 +00:00
Reid Spencer
a54b7cbd45 For PR1064:
Implement the arbitrary bit-width integer feature. The feature allows
integers of any bitwidth (up to 64) to be defined instead of just 1, 8,
16, 32, and 64 bit integers.

This change does several things:
1. Introduces a new Derived Type, IntegerType, to represent the number of
   bits in an integer. The Type classes SubclassData field is used to
   store the number of bits. This allows 2^23 bits in an integer type.
2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and
   64-bit integers. These are replaced with just IntegerType which is not
   a primitive any more.
3. Adjust the rest of LLVM to account for this change.

Note that while this incremental change lays the foundation for arbitrary
bit-width integers, LLVM has not yet been converted to actually deal with
them in any significant way. Most optimization passes, for example, will
still only deal with the byte-width integer types.  Future increments
will rectify this situation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33113 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-12 07:05:14 +00:00
Reid Spencer
40beb40f4b Put in some needed \ at the end of lines!!!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33070 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-11 06:51:56 +00:00
Reid Spencer
db8d2bed6a For PR950:
Convert signed integer types to signless.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32786 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-31 05:50:28 +00:00
Reid Spencer
b1788a341c Remove some clutter and make it keep going instead of stopping at the
first difference.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32645 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-18 00:37:37 +00:00
Jim Laskey
dbe4006cf3 Ignore entries with blank names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32491 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-12 20:55:58 +00:00
Jim Laskey
9a7dfa3fd4 Rollback changes to take a different tack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32488 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-12 19:26:50 +00:00
Jim Laskey
55a7ec33d7 Honor the command line specification for machine type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32483 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-12 16:07:33 +00:00
Reid Spencer
33c9683865 Provide a script that can track down which optimization pass causes
different code to be produced between two llvm builds that differe slightly.
This is useful in tracking down mis-optimization bugs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32435 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-11 17:42:12 +00:00
Reid Spencer
2232a80ef1 Allow the input of the test program to be specified.
Don't generate the reference output for each comparison.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32395 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 04:42:33 +00:00
Reid Spencer
f8463a38bf Add the -ldl library option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32369 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-08 18:58:38 +00:00
Bill Wendling
f5da13367f What should be the last unnecessary <iostream>s in the library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32333 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-07 22:21:48 +00:00
Evan Cheng
0555122412 Match TargetInstrInfo changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32107 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-01 22:57:41 +00:00
Reid Spencer
ba07a69222 Only show the first few lines of difference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31901 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-25 04:07:06 +00:00
Reid Spencer
2bae1f58ed Add an option to enable lli (interpreter mode) testing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31899 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-24 20:34:16 +00:00
Reid Spencer
6d0fbd4185 Stop early if there is no mis-optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31893 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-22 03:46:45 +00:00
Chris Lattner
f7560ed6b1 Fix PR1001, patch by Nikhil Patil!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31880 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-20 18:54:33 +00:00
Reid Spencer
161a2fb9d8 Make the awk filter print out which files its eliminating.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31851 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 18:30:18 +00:00
Reid Spencer
35d958cf76 This is a utility for preparing patches against LLVM. It runs cvs diff with
the correct options, places the patch content in order that makes sense for
review, and filters cruft out of the patch (like diffs in *.cvs files). It
produces both a NAME.patch.raw (unfiltered) and NAME.patch (filtered) file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31850 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 18:02:30 +00:00
Reid Spencer
5b31cf0f9f Provide a list of gccld optimization switches.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31849 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-18 17:14:09 +00:00
Evan Cheng
fb1aab0673 Add opcode to TargetInstrDescriptor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31804 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-17 01:46:27 +00:00
Reid Spencer
a8c3ff456a Use a release version of bugpoint, if found. Include gccld passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31786 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-16 18:32:47 +00:00
Chris Lattner
f64f9a4b75 Remove the isTwoAddress property from the CodeGenInstruction class. It should
not be used for anything other than backwards compat constraint handling.

Add support for a new DisableEncoding property which contains a list of
registers that should not be encoded by the generated code emitter.  Convert
the codeemitter generator to use this, fixing some PPC JIT regressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31769 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-15 23:23:02 +00:00