Chris Lattner
ed465f5407
Autogen subtarget information from .td files.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23904 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 22:15:34 +00:00
Chris Lattner
5882e40ded
Add subtarget feature/processor defns to the .td file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23903 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 22:08:45 +00:00
Chris Lattner
c8d28890f6
rearrange things a bit so that instructions can use subtarget features in the
...
future.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23902 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 22:08:13 +00:00
Chris Lattner
f690e6f3f6
add a marker
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23901 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 22:07:20 +00:00
Chris Lattner
ffff6175ef
add a note that Nate mentioned last week
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23898 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 21:44:59 +00:00
Chris Lattner
1171ff4fd7
Put some of my random notes somewhere public
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23897 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 19:52:42 +00:00
Jeff Cohen
cc94b5178f
Work around GCC's dislike of attributes on function definitions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23896 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 15:22:50 +00:00
Jeff Cohen
fec735fb84
Remove deleted files from Visual Studio.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23895 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 15:21:52 +00:00
Chris Lattner
2dc74dd831
Remove the obsolete instr selector emitter
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23894 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 05:47:52 +00:00
Chris Lattner
ba76c21858
Improve help output.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23893 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 05:33:39 +00:00
Chris Lattner
2e1f823aed
improve -help output
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23892 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 05:28:51 +00:00
Chris Lattner
54195c1a9d
Move static functions from .h file, reduce #includes, pass strings by const&,
...
use LowercaseString from StringExtras.h, remove extraneous space from help
output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23891 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 05:26:26 +00:00
Chris Lattner
3e8d596ded
Move static functions to .cpp file, reduce #includes, pass strings by
...
const&.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23890 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 05:25:19 +00:00
Jeff Cohen
9dc33e53d6
Remove redundant flag.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23889 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 04:51:22 +00:00
Jeff Cohen
66c5fd6c53
When a function takes a variable number of pointer arguments, with a zero
...
pointer marking the end of the list, the zero *must* be cast to the pointer
type. An un-cast zero is a 32-bit int, and at least on x86_64, gcc will
not extend the zero to 64 bits, thus allowing the upper 32 bits to be
random junk.
The new END_WITH_NULL macro may be used to annotate a such a function
so that GCC (version 4 or newer) will detect the use of un-casted zero
at compile time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23888 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 04:37:20 +00:00
Andrew Lenharth
8b7f14e970
Add several things.
...
loads
branches
setcc
working calls
Global address
External addresses
now I can manage malloc calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23887 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 03:43:48 +00:00
Andrew Lenharth
2a2de66db2
add TargetExternalSymbol
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23886 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 03:40:17 +00:00
Jeff Cohen
9cc5a0a101
Add new files to Visual Studio.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23885 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-23 01:22:33 +00:00
Andrew Lenharth
756fbeb905
Well, the Constant matching pattern works. Can't say much about calls or globals yet.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23884 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-22 22:06:58 +00:00
Chris Lattner
07be8d4212
document this as experimental
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23883 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-22 22:00:45 +00:00
Chris Lattner
5ef4d8dd6d
This file is entirely ifdef'd out
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23882 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-22 19:37:08 +00:00
Chris Lattner
e9936d14b8
BuildSDIV and BuildUDIV only work for i32/i64, but they don't check that
...
the input is that type, this caused a failure on gs on X86 last night.
Move the hard checks into Build[US]Div since that is where decisions like
this should be made.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23881 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-22 18:50:15 +00:00
Jim Laskey
5476b9bfce
Add g3 back to the mix and reorder to irritate them anal folk. Actually, it's
...
to group appropriately and provide cues to maintainers that the lists don't
need to be ordered.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23880 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-22 08:04:24 +00:00
Jim Laskey
7dc02047fb
Sort the features and processor lists for the sake of search (and maintainers.)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23879 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-22 07:59:56 +00:00
Chris Lattner
4245f1d790
64-bit reg support should not be enabled by default, as support isn't complete.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23878 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 22:15:43 +00:00
Chris Lattner
c8597ca698
add a case missing from the dag combiner that exposed the failure on
...
2005-10-21-longlonggtu.ll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23875 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 21:23:25 +00:00
Chris Lattner
dabb8291e8
Instead of aborting if not a case we can handle specially, break out and
...
let the generic code handle it. This fixes CodeGen/Generic/2005-10-21-longlonggtu.ll on ppc.
also, reindent this code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23874 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 21:17:10 +00:00
Chris Lattner
77a498cd7e
New testcase that crashes the ppc backend
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23871 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 21:09:13 +00:00
Jim Laskey
f5fc2cbd6b
Plugin new subtarget backend into the build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23870 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 19:05:19 +00:00
Jim Laskey
4bb9cbb730
New TableGen backends for subtarget information. Only command line stuff
...
active now. Scheduling itinerary next.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23869 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 19:00:04 +00:00
Chris Lattner
d2fc54edc4
silence a release mode warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23868 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 16:01:26 +00:00
Chris Lattner
09d3b75af6
add missing prototype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23867 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 15:49:28 +00:00
Chris Lattner
aa51a484e1
Make the coallescer a bit smarter, allowing it to join more live ranges.
...
For example, we can now join things like [0-30:0)[31-40:1)[52-59:2)
with [40:60:0) if the 52-59 range is defined by a copy from the 40-60 range.
The resultant range ends up being [0-30:0)[31-60:1).
This fires a lot through-out the test suite (e.g. shrinking bc from
19492 -> 18509 machineinstrs) though most gains are smaller (e.g. about
50 copies eliminated from crafty).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23866 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 06:49:50 +00:00
Chris Lattner
9e20d352c2
Fix LiveInterval::getOverlapingRanges to take things in the right order
...
(an unused method).
Fix the merger so that it can merge ranges like this [10:12)[16:40) with
[12:38) into [10:40) instead of bogus ranges. This sort of input will be
possible for the merger coming shortly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23865 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 06:41:30 +00:00
Nate Begeman
ae1641c39f
Match rotate. This does actually match the rotates in an rc5 cipher, but I
...
haven't seen it fire on our testsuite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23863 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 06:36:18 +00:00
Chris Lattner
63ad7963e4
My previous patch was too conservative. Reject FP and void types, but do
...
allow pointer types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23859 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 05:45:41 +00:00
Nate Begeman
d5ce204c5f
Don't generate operations that aren't yet supported
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23858 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 01:52:45 +00:00
Nate Begeman
0b2973aef2
Kill some now-dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23857 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 01:52:20 +00:00
Nate Begeman
4d38567689
Fix a typo in the dag combiner, so that this can work on i64 targets
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23856 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 01:51:45 +00:00
Andrew Lenharth
fe9234db9b
byte zap not immediate goodness
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23855 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 01:24:05 +00:00
Chris Lattner
edbd8711de
Make tblgen emit:
...
tblgen: In ZAPNOTi: Cannot use 'IZAPX' in an input pattern!
for a bad pattern, instead of an ugly assertion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23854 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 01:19:59 +00:00
Nate Begeman
405e3ecb56
Invert the TargetLowering flag that controls divide by consant expansion.
...
Add a new flag to TargetLowering indicating if the target has really cheap
signed division by powers of two, make ppc use it. This will probably go
away in the future.
Implement some more ISD::SDIV folds in the dag combiner
Remove now dead code in the x86 backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23853 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-21 00:02:42 +00:00
Andrew Lenharth
1f347a318c
Inst cleanup. As a bonus, operands are in the correct order for cmovs. Expect new stuff to pass in the JIT tonight
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23852 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-20 23:58:36 +00:00
Chris Lattner
eae6d648da
Use a literal to define ineg instead of immzero
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23851 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-20 23:30:37 +00:00
Chris Lattner
cef6010c64
Fix a conditional so we don't access past the end of the range. Thanks to
...
Andrew for bringing this to my attn.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23850 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-20 22:50:10 +00:00
Andrew Lenharth
964b6aacb4
added a few 1 operand form stuff. Seems to break regalloc on alpha. sigh
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23849 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-20 19:39:24 +00:00
Andrew Lenharth
d684e1a64d
add cttz and ctpop
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23848 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-20 19:38:11 +00:00
Nate Begeman
c6a454e8d5
Fix a couple bugs in the const div stuff where we'd generate MULHS/MULHU
...
for types that aren't legal, and fail a divisor is less than zero
comparison, which would cause us to drop a subtract.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23846 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-20 17:45:03 +00:00
Chris Lattner
f75f2a0a02
don't use llabs with apparently VC++ doesn't have
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23845 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-20 17:01:00 +00:00
Chris Lattner
8317e12cef
Fix order of eval problem from when I refactored this into a function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23844 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-20 16:56:40 +00:00