John Criswell [Fri, 13 May 2005 20:28:15 +0000 (20:28 +0000)]
Added some missing platforms.
Fixed some wording to be more accurate (I hope).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21975
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Fri, 13 May 2005 20:25:49 +0000 (20:25 +0000)]
More typo and wording fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21974
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 20:18:49 +0000 (20:18 +0000)]
Add reassociation, minor cleanups.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21973
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 20:14:06 +0000 (20:14 +0000)]
close off B< tag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21972
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 20:13:39 +0000 (20:13 +0000)]
remove htmlisms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21971
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 20:10:13 +0000 (20:10 +0000)]
fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21970
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 20:09:33 +0000 (20:09 +0000)]
note how to disable inlining
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21969
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 20:08:34 +0000 (20:08 +0000)]
fix link to llvm-ar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21968
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 20:04:33 +0000 (20:04 +0000)]
these don't use passes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21967
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 20:03:17 +0000 (20:03 +0000)]
this detail is not needed here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21966
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 20:01:11 +0000 (20:01 +0000)]
update this manual
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21965
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 19:49:09 +0000 (19:49 +0000)]
Capitalize
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21964
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Fri, 13 May 2005 19:49:02 +0000 (19:49 +0000)]
fix regression tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21963
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 19:48:34 +0000 (19:48 +0000)]
capitalize
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21962
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Fri, 13 May 2005 19:48:07 +0000 (19:48 +0000)]
Minor corrections and clarifications.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21961
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 19:45:45 +0000 (19:45 +0000)]
clarify that these are v9 options
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21960
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 19:44:21 +0000 (19:44 +0000)]
hide this option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21959
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 18:50:42 +0000 (18:50 +0000)]
Add an isTailCall flag to LowerCallTo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21958
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 18:43:43 +0000 (18:43 +0000)]
Handle TAILCALL node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21957
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 18:40:17 +0000 (18:40 +0000)]
add TAILCALL node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21956
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 18:37:58 +0000 (18:37 +0000)]
This passes on sparc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21955
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 13 May 2005 18:32:54 +0000 (18:32 +0000)]
* Make some warning messages stand out a bit by putting **** at the end
* Fix a typo that prevents BuildMode from being printed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21954
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 13 May 2005 18:30:13 +0000 (18:30 +0000)]
Fix the "stacker doesn't build without llvm-gcc" problem. The configure
script was defaulting the LLVMGCC variable to "llvm-gcc" if it couldn't
find llvm-gcc and --with-llvmgccdir was not specified. In this case, there
is no llvm-gcc available on the system so we shouldn't assume that the
user's path will find it any better than configure could. The fix is to
default it to an empty string. If LLVMGCC is empty, the makefiles will
avoid building things that depend on llvm-gcc and give a nice warning
message to that effect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21953
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 18:19:29 +0000 (18:19 +0000)]
remove test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21952
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 17:56:48 +0000 (17:56 +0000)]
add 'ret imm' instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21945
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 13 May 2005 17:42:54 +0000 (17:42 +0000)]
The previous hack didn't work because tools-only isn't defined and isn't
a target at this level of build. There shouldn't be a problem with building
the runtime library without llvm-gcc because the Makefile.rules checks
for an empty LLVMGCC variable before building bytecode modules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21942
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Fri, 13 May 2005 17:36:00 +0000 (17:36 +0000)]
These tests are currently expected to fail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21941
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 16:20:59 +0000 (16:20 +0000)]
Force x86 backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21940
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 16:20:22 +0000 (16:20 +0000)]
Realize that we don't support fmod directly, fixing CodeGen/Generic/print-arith-fp.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21939
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 13 May 2005 16:17:58 +0000 (16:17 +0000)]
Don't build runtime if tools-only :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21938
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 15:51:31 +0000 (15:51 +0000)]
fix buggy test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21937
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 15:48:41 +0000 (15:48 +0000)]
Fix buggy test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21936
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 15:44:55 +0000 (15:44 +0000)]
let dj run this
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21935
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Fri, 13 May 2005 15:42:07 +0000 (15:42 +0000)]
fixed test case
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21934
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 07:38:09 +0000 (07:38 +0000)]
Do not CopyFromReg physregs for live-in values. Instead, create a vreg for
each live in, and copy the regs from the vregs. As the very first thing we
do in the function, insert copies from the pregs to the vregs. This fixes
problems where the token chain of CopyFromReg was not enough to allow reordering
of the copyfromreg nodes and other unchained nodes (e.g. div, which clobbers
eax on intel).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21932
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 07:33:32 +0000 (07:33 +0000)]
Emit function entry code after lowering hte arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21931
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 07:23:21 +0000 (07:23 +0000)]
Allow targets to emit code into the entry block of each function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21930
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 07:23:03 +0000 (07:23 +0000)]
add a new method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21929
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 07:09:09 +0000 (07:09 +0000)]
calling a function with the wrong CC is undefined, turn it into an unreachable
instruction. This is useful for catching optimizers that don't preserve
calling conventions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21928
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 07:08:07 +0000 (07:08 +0000)]
allow a virtual register to be associated with live-in values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21927
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 13 May 2005 07:05:37 +0000 (07:05 +0000)]
Make sure that decompression checks for the case that bzip2 returns
BZ_OK (meaning more data is expected) but there is no more input data. In
this case, the input file is probably truncated. Generate an exception that
indicates this case when its detected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21926
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 06:27:02 +0000 (06:27 +0000)]
When lowering invokes to calls, amke sure to preserve the calling conv. This
fixes Ptrdist/anagram with x86 llcbeta
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21925
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 06:10:12 +0000 (06:10 +0000)]
Prefer int 0 instead of long 0 for GEP arguments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21924
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 05:17:00 +0000 (05:17 +0000)]
Fix a problem that nate reduced for me.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21923
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 05:09:11 +0000 (05:09 +0000)]
rename variables and functions to match renamed DAG nodes. Bonus feature:
I can actually remember which one is which now!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21922
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 04:51:58 +0000 (04:51 +0000)]
disable this test for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21920
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 04:45:13 +0000 (04:45 +0000)]
do not call expandop on the same value more than once. This fixes
X86/2004-02-22-Casts.llx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21919
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 13 May 2005 04:20:57 +0000 (04:20 +0000)]
add a correct run line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21918
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 23:51:40 +0000 (23:51 +0000)]
fix a bad typeo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21917
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 23:24:44 +0000 (23:24 +0000)]
update comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21916
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 23:24:06 +0000 (23:24 +0000)]
rename the ADJCALLSTACKDOWN/ADJCALLSTACKUP nodes to be CALLSEQ_START/BEGIN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21915
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 23:09:04 +0000 (23:09 +0000)]
reg test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21914
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 23:06:28 +0000 (23:06 +0000)]
Add a new -enable-x86-fastcc option that enables passing the first
two integer values in registers for the fastcc calling conv.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21912
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 12 May 2005 22:15:34 +0000 (22:15 +0000)]
* Remove reference to llvm-fefw
* Fix copyright line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21910
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 12 May 2005 21:56:03 +0000 (21:56 +0000)]
llvm-fefw doesn't exist (yet)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21907
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 12 May 2005 21:49:11 +0000 (21:49 +0000)]
Remove extraneous `U ' in copyright line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21906
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 12 May 2005 21:41:48 +0000 (21:41 +0000)]
* Fix wording of the warning
* Add autoindent, smartindent, and smarttab options to the file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21905
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 12 May 2005 21:39:01 +0000 (21:39 +0000)]
Remove extraneous colons after program names for consistency
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21904
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 12 May 2005 21:25:32 +0000 (21:25 +0000)]
Shameless update of copyright years.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21903
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 12 May 2005 21:06:05 +0000 (21:06 +0000)]
Fix this test on Solaris.
Solaris grep is more traditional and (AFAIK) does not support regexs.
Also, single quotes should disable all shell interpretation, so no
backslashes should be needed (and, in fact, keep Solaris from working).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21902
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 19:57:08 +0000 (19:57 +0000)]
LowerCallTo now takes the cc to use
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21901
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 19:56:57 +0000 (19:56 +0000)]
Pass calling convention to use into lower call to
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21900
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 19:56:45 +0000 (19:56 +0000)]
Pass in Calling Convention to use into LowerCallTo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21899
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 19:56:09 +0000 (19:56 +0000)]
Enable pattern isel by default
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21898
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 19:27:51 +0000 (19:27 +0000)]
fix expansion of ct[lt]z nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21896
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 19:05:01 +0000 (19:05 +0000)]
Expand 64-bit ctlz/cttz nodes for 32-bit targets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21895
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 18:52:34 +0000 (18:52 +0000)]
Fix uint->fp casts on PPC, allowing UnitTests/2005-05-12-Int64ToFP to
work on it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21894
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 12 May 2005 16:55:34 +0000 (16:55 +0000)]
Correct a detail with the alloca instruction.
Functions do not exit with invoke; they exit with unwind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21893
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 16:53:42 +0000 (16:53 +0000)]
Allow something to be legalized multiple times. This can be used to reduce
legalization iteration
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21892
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Thu, 12 May 2005 16:52:32 +0000 (16:52 +0000)]
Fixed some typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21891
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 07:00:44 +0000 (07:00 +0000)]
Oops, don't do this after we figure out where to insert the call chains.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21890
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 06:54:21 +0000 (06:54 +0000)]
Make sure to expand all nodes, avoiding unintentional node duplication.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21889
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 06:27:02 +0000 (06:27 +0000)]
handle a common case generated by the uint64 -> FP code path better
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21888
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 06:04:14 +0000 (06:04 +0000)]
add fixme
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21887
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 06:01:28 +0000 (06:01 +0000)]
Fix a really horrible problem that causes the JIT to miscompile any program
that use 64-bit integers on 32-bit hosts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21886
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 04:49:08 +0000 (04:49 +0000)]
Fix a problem where early legalization can cause token chain problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21885
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 02:06:00 +0000 (02:06 +0000)]
These targets don't like setcc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21884
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 02:02:21 +0000 (02:02 +0000)]
Add a little hook
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21883
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 12 May 2005 00:17:04 +0000 (00:17 +0000)]
Make legalize a bit more efficient, and canonicalize sub X, C -> add X, -C
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21882
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 11 May 2005 23:45:54 +0000 (23:45 +0000)]
Add testcase for legalizing ISD::CTTZ efficiently. On PPC, ctlz(int) is
now codegen'd as this:
addi r2, r3, -1
andc r2, r2, r3
cntlzw r2, r2
subfic r3, r2, 32
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21881
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Wed, 11 May 2005 23:43:56 +0000 (23:43 +0000)]
Necessary changes to codegen cttz efficiently on PowerPC
1. Teach LegalizeDAG how to better legalize CTTZ if the target doesn't have
CTPOP, but does have CTLZ
2. Teach PPC32 how to do sub x, const -> add x, -const for valid consts
3. Teach PPC32 how to do and (xor a, -1) b -> andc b, a
4. Teach PPC32 that ISD::CTLZ -> PPC::CNTLZW
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21880
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 11 May 2005 21:47:35 +0000 (21:47 +0000)]
Regression test for PR#563.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21879
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Wed, 11 May 2005 21:45:03 +0000 (21:45 +0000)]
Fixed issue that broke ssa.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21878
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 21:40:40 +0000 (21:40 +0000)]
fix some GCC 4 warnings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21877
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 11 May 2005 21:16:42 +0000 (21:16 +0000)]
Added support for decomposing constant expressions containing shr and shl
instructions.
Review of this commit would be greatly appreciated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21876
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 20:24:12 +0000 (20:24 +0000)]
Fix lowering of ctlz, so now UnitTests/2005-05-11-Popcount-ffs-fls passes
with the CBE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21875
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 20:02:14 +0000 (20:02 +0000)]
Fix lowering of cttz to work with signed values
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21874
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 19:42:05 +0000 (19:42 +0000)]
fix and concisify intinsic lowering for ctpop. Unfortunately, this code
looks completely untested. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21873
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 19:02:11 +0000 (19:02 +0000)]
Fix the last remaining bug preventing us from switching the X86 BE over
from the simple isel to the pattern isel. This forces inserted libcalls
to serialize against other function calls, which was breaking
UnitTests/2005-05-12-Int64ToFP. Hopefully this will fix issues on other
targets as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21872
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 18:57:39 +0000 (18:57 +0000)]
Do not memoize ADJCALLSTACKDOWN nodes, provide a method to hack on them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21871
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 18:57:06 +0000 (18:57 +0000)]
wrap long line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21870
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 18:56:45 +0000 (18:56 +0000)]
new method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21869
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 18:35:21 +0000 (18:35 +0000)]
Make sure to legalize generated ctpop nodes, convert tabs to spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21868
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 11 May 2005 17:23:41 +0000 (17:23 +0000)]
Legalize for CTLZ generates a ctpop, but this ctpop is not expanded.
This is bad. It is generated if you are ctlz a type that is not
legal for the arch (aka ctlz of bytes on alpha legalize fine).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21867
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Wed, 11 May 2005 08:45:08 +0000 (08:45 +0000)]
expand count-leading/trailing-zeros; the test 2005-05-11-Popcount-ffs-fls.c
should now pass (the "LLVM" and "REF" results should be identical)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21866
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 05:31:01 +0000 (05:31 +0000)]
include the other bit count intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21863
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 05:27:09 +0000 (05:27 +0000)]
Add some notes for expanding clz/ctz
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21862
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 05:21:31 +0000 (05:21 +0000)]
Simplify this code, use the proper shift amount
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21861
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Wed, 11 May 2005 05:16:09 +0000 (05:16 +0000)]
add the popcount instruction and support this in the isel
the primary user of this will probably end up being find-first-set-bit/find-
last-set-bit, which i'll get around to...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21860
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 11 May 2005 05:09:47 +0000 (05:09 +0000)]
Legalize this correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21859
91177308-0d34-0410-b5e6-
96231b3b80d8