Reid Spencer [Fri, 22 Apr 2005 17:06:18 +0000 (17:06 +0000)]
Make sure the CBackend is always a target that is built.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21448
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 22 Apr 2005 17:02:18 +0000 (17:02 +0000)]
Consolidate the target selection options into a single option,
--enable-target which can take values "all", "host-only" or a comma
separated list of target names (alpha,ia64,powerpc,skeleton,sparc,x86)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21447
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Fri, 22 Apr 2005 13:35:18 +0000 (13:35 +0000)]
keep track of max depth stats
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21446
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 22 Apr 2005 07:27:28 +0000 (07:27 +0000)]
First step in avoiding compilation/usage of non-relevant targets. New
options have been added to the configure script that control which targets
will be used. The options are:
--enable-target-this (default=disabled)
This will specify that the target corresponding to the build host is
the target that will be compiled/used. You can't use this with any of
the other options (they'll be ignored). This is what most people want.
--disable-target-x86 (default=enabled)
This will prevent the X86 target(s) from being compiled/used.
--disable-target-sparc (default=enabled)
This will prevent both SparcV8 and SparcV9 from being compiled/used.
--disable-target-powerpc (default=enabled)
This will prevent the PowerPC target from being compiled/used.
--disable-target-alpha (default=enabled)
This will prevent the Alpha target from being compiled/used.
--disable-target-ia64 (default=enabled)
This will prevent the IA64 target from being compiled/used.
Note that without any of these options, the default behavior is to build
all targets, as is the current practice.
All these options do is set up the substititution variable TARGETS_TO_BUILD
which contains the targets that should be compiled/used. The variable is
intended to be used in the makefiles. Those changes will come later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21445
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 22 Apr 2005 06:32:48 +0000 (06:32 +0000)]
Updated dependence analyzer. Fixed numerous bugs. Same stage scheduling, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21444
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 22 Apr 2005 05:36:59 +0000 (05:36 +0000)]
Malloc/Free have mod/ref effects. Do not allow CSE of function calls that
call malloc/free. This fixes PR555.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21443
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 22 Apr 2005 04:49:59 +0000 (04:49 +0000)]
remove 'another common example', which doesn't work with VC++, and indent
another example properly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21442
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Fri, 22 Apr 2005 04:13:13 +0000 (04:13 +0000)]
Eliminate tabs and trailing spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21441
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 22 Apr 2005 04:08:30 +0000 (04:08 +0000)]
Convert tabs to spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21440
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 22 Apr 2005 04:01:18 +0000 (04:01 +0000)]
Convert tabs to spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21439
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 22 Apr 2005 03:46:24 +0000 (03:46 +0000)]
Convert tabs to spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21438
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 22 Apr 2005 03:35:49 +0000 (03:35 +0000)]
Convert tabs to spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21437
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 22 Apr 2005 03:27:20 +0000 (03:27 +0000)]
Convert tabs to spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21436
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 22 Apr 2005 03:18:56 +0000 (03:18 +0000)]
Convert tabs to spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21433
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 22 Apr 2005 02:49:25 +0000 (02:49 +0000)]
Add the RUN: prefix to the start of the run line so this test doesn't fail.
BTW .. isn't the date on this funky? We haven't reachec 2005-05-09 yet???
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21432
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 22 Apr 2005 02:31:56 +0000 (02:31 +0000)]
Change some old-style casts to C++ style casts to avoid warnings in XPS
compilation. This change has been waiting in the wings for a long time but
since Misha just did a global change, I figured now was the time to commit
it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21431
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 22 Apr 2005 02:16:19 +0000 (02:16 +0000)]
There is no =head3. Convert to =head2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21430
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 22 Apr 2005 02:12:41 +0000 (02:12 +0000)]
Correct the documentation to match the program.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21429
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 22 Apr 2005 00:00:37 +0000 (00:00 +0000)]
Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 21 Apr 2005 23:48:37 +0000 (23:48 +0000)]
Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21427
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 21 Apr 2005 23:38:14 +0000 (23:38 +0000)]
* Remove trailing whitespace
* Convert tabs to spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21426
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 21 Apr 2005 23:30:14 +0000 (23:30 +0000)]
Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21425
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 21 Apr 2005 23:13:11 +0000 (23:13 +0000)]
Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21424
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 21 Apr 2005 22:55:34 +0000 (22:55 +0000)]
Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21422
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 21 Apr 2005 22:43:08 +0000 (22:43 +0000)]
* Remove trailing whitespace
* Convert tabs to spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21421
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 21 Apr 2005 22:36:52 +0000 (22:36 +0000)]
Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21420
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 21 Apr 2005 21:48:46 +0000 (21:48 +0000)]
* Remove trailing whitespace
* Convert tabs to spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21418
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 21 Apr 2005 21:44:41 +0000 (21:44 +0000)]
Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21417
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 21 Apr 2005 21:13:18 +0000 (21:13 +0000)]
Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21416
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 21 Apr 2005 21:10:11 +0000 (21:10 +0000)]
* Remove trailing whitespace
* Convert tabs to spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21415
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Apr 2005 21:10:07 +0000 (21:10 +0000)]
Check for eqv matching
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21414
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Apr 2005 21:09:11 +0000 (21:09 +0000)]
Match another form of eqv
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21413
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 21 Apr 2005 20:59:05 +0000 (20:59 +0000)]
Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21412
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 21 Apr 2005 20:48:15 +0000 (20:48 +0000)]
Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21411
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Apr 2005 20:48:08 +0000 (20:48 +0000)]
this passes on darwin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21410
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 21 Apr 2005 20:39:54 +0000 (20:39 +0000)]
Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21409
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 21 Apr 2005 20:19:05 +0000 (20:19 +0000)]
Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21408
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Apr 2005 19:11:03 +0000 (19:11 +0000)]
Handle stores of global address as stores of immediates. Instead of:
test1:
movl $N, %eax
movl %eax, G
ret
emit:
test1:
movl $N, G
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21407
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Apr 2005 19:03:24 +0000 (19:03 +0000)]
Handle (store &GV -> mem) as a store immediate. This often occurs for
printf format strings and other stuff. Instead of generating this:
movl $l1__2E_str_1, %eax
movl %eax, (%esp)
we now emit:
movl $l1__2E_str_1, (%esp)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21406
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 21 Apr 2005 17:49:57 +0000 (17:49 +0000)]
Use the actual uid/gid for defaulting the fields in the archive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21405
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Apr 2005 16:46:46 +0000 (16:46 +0000)]
Fix a bug where we would not promote calls to invokes if they occured in
the same block as the setjmp. Thanks to Greg Pettyjohn for noticing this!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21403
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 21 Apr 2005 16:15:19 +0000 (16:15 +0000)]
Eliminate calls to system dependent function getuid by using
the newly implemented sys::Process::GetCurrentUserId function. Replace
similarly for getgid.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21402
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 21 Apr 2005 16:12:57 +0000 (16:12 +0000)]
Provide an implementation of the GetCurrentUserId and GetCurrentGroupId
methods that were recently added to the interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21401
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 21 Apr 2005 16:12:04 +0000 (16:12 +0000)]
Add two new methods for getting the User Id and Group Id values for the
current process.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21400
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Apr 2005 16:10:03 +0000 (16:10 +0000)]
Add doxygen comments, patch contributed by Evan Jones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21397
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Apr 2005 16:09:43 +0000 (16:09 +0000)]
add support for taking and resolving the address of free.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21396
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Apr 2005 16:08:59 +0000 (16:08 +0000)]
add support for taking the address of free.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21395
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Apr 2005 16:06:03 +0000 (16:06 +0000)]
Improve doxygen, from part of Evan's patch that didn't apply.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21394
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Apr 2005 16:04:49 +0000 (16:04 +0000)]
Improve doxygen documentation, patch contributed by Evan Jones!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21393
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Apr 2005 06:28:15 +0000 (06:28 +0000)]
Improve and elimination. On PPC, for:
bool %test(int %X) {
%Y = and int %X, 8
%Z = setne int %Y, 0
ret bool %Z
}
we now generate this:
rlwinm r2, r3, 0, 28, 28
srwi r3, r2, 3
instead of this:
rlwinm r2, r3, 0, 28, 28
srwi r2, r2, 3
rlwinm r3, r2, 0, 31, 31
I'll leave it to Nate to get it down to one instruction. :)
---------------------------------------------------------------------
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21391
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Apr 2005 06:12:41 +0000 (06:12 +0000)]
Fold (x & 8) != 0 and (x & 8) == 8 into (x & 8) >> 3.
This turns this PPC code:
rlwinm r2, r3, 0, 28, 28
cmpwi cr7, r2, 8
mfcr r2
rlwinm r3, r2, 31, 31, 31
into this:
rlwinm r2, r3, 0, 28, 28
srwi r2, r2, 3
rlwinm r3, r2, 0, 31, 31
Next up, nuking the extra and.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21390
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Apr 2005 05:43:13 +0000 (05:43 +0000)]
Instcombine this:
%shortcirc_val = select bool %tmp.1, bool true, bool %tmp.4 ; <bool> [#uses=1]
%tmp.6 = cast bool %shortcirc_val to int ; <int> [#uses=1]
into this:
%shortcirc_val = or bool %tmp.1, %tmp.4 ; <bool> [#uses=1]
%tmp.6 = cast bool %shortcirc_val to int ; <int> [#uses=1]
not this:
%tmp.4.cast = cast bool %tmp.4 to int ; <int> [#uses=1]
%tmp.6 = select bool %tmp.1, int 1, int %tmp.4.cast ; <int> [#uses=1]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21389
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Apr 2005 05:31:13 +0000 (05:31 +0000)]
Teach simplifycfg that setcc is cheap and non-trapping, so that it can
convert this:
%tmp.1 = seteq int %i, 0 ; <bool> [#uses=1]
br bool %tmp.1, label %shortcirc_done, label %shortcirc_next
shortcirc_next: ; preds = %entry
%tmp.4 = seteq int %j, 0 ; <bool> [#uses=1]
br label %shortcirc_done
shortcirc_done: ; preds = %shortcirc_next, %entry
%shortcirc_val = phi bool [ %tmp.4, %shortcirc_next ], [ true, %entry ] ; <bool> [#uses=1]
to this:
%tmp.1 = seteq int %i, 0 ; <bool> [#uses=1]
%tmp.4 = seteq int %j, 0 ; <bool> [#uses=1]
%shortcirc_val = select bool %tmp.1, bool true, bool %tmp.4 ; <bool> [#uses=1]
... which is later simplified by instcombine into an or.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21388
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Apr 2005 04:53:58 +0000 (04:53 +0000)]
Fix some broken links, taking care of PR554
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21387
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 21 Apr 2005 04:52:37 +0000 (04:52 +0000)]
update to match build changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21386
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 21 Apr 2005 02:50:10 +0000 (02:50 +0000)]
For Bug 543:
Standardize the error messages to be in "path: what failed: why" format.
Also attempt to use the correct errno to ThrowErrno in situations where
the errno value is erased by subsequent system calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21385
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 21 Apr 2005 02:30:32 +0000 (02:30 +0000)]
For Bug 543:
Allow the ThrowErrno function to optionally accept an error number
parameter so that callers can specify the error number to be used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21384
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Apr 2005 16:42:34 +0000 (16:42 +0000)]
Remove trailing whitespace at the end of lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21380
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Apr 2005 16:05:03 +0000 (16:05 +0000)]
Remove trailing whitespace, patch by Markus Oberhumer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21379
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Apr 2005 15:42:11 +0000 (15:42 +0000)]
Add FIXME by Markus Oberhumer from bug 545: not checking for "." in $PATH may
result in returning executable files that won't be runnable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21378
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Apr 2005 15:33:22 +0000 (15:33 +0000)]
Do not mark directories as `executable', we only want program files
Patch by Markus Oberhumer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21377
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Apr 2005 04:51:29 +0000 (04:51 +0000)]
#include system headers after all LLVM headers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21374
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Apr 2005 04:08:35 +0000 (04:08 +0000)]
Eliminate trailing spaces at end-of-line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21372
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Apr 2005 04:07:47 +0000 (04:07 +0000)]
Consistently eschew space between `*' or `&' and function argument name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21371
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Apr 2005 04:04:07 +0000 (04:04 +0000)]
Ignore dangling symlinks in getDirectoryContents()
Thanks to Markus Oberhumer for the patch!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21370
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Apr 2005 03:55:35 +0000 (03:55 +0000)]
Initialize fields mode, uid, and gid.
Patch by Markus Oberhumer. Thanks!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21369
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Apr 2005 03:52:59 +0000 (03:52 +0000)]
Align comments together for consistency
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21368
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 20 Apr 2005 03:22:18 +0000 (03:22 +0000)]
* Print commands as we execute them with `-v'
* Add option `-save-temps'
Patch contributed by Markus Oberhumer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21367
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 19:16:19 +0000 (19:16 +0000)]
Wrap some long lines.
Make IPSCCP strip off dead constant exprs that are using functions, making
them appear as though their address is taken. This allows us to propagate
some more pool descriptors, lowering the overhead of pool alloc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21363
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 15:34:36 +0000 (15:34 +0000)]
ignore generated files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21362
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 15:32:30 +0000 (15:32 +0000)]
fix bogus warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21361
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 15:27:29 +0000 (15:27 +0000)]
fix PR549
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21360
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 06:08:04 +0000 (06:08 +0000)]
Bug fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21355
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 06:04:18 +0000 (06:04 +0000)]
Eliminate a broken transformation, fixing PR548
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21354
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 05:41:52 +0000 (05:41 +0000)]
Add completely untested support for mtcrf/mfcrf encoding
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21353
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 05:21:30 +0000 (05:21 +0000)]
switch over the rest of the formats that use RC to use isDOT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21352
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 05:15:18 +0000 (05:15 +0000)]
Convert the XForm instrs and XSForm instruction over to use isDOT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21351
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 05:05:22 +0000 (05:05 +0000)]
Now that the ppc64 and vmx operands of I are always 0, forward substitute
them away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21350
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 05:00:59 +0000 (05:00 +0000)]
convert over bform and iform instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21349
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 04:59:28 +0000 (04:59 +0000)]
Convert over DForm and DSForm instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21348
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 04:51:30 +0000 (04:51 +0000)]
Convert XLForm and XForm instructions over to use PPC64 when appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21347
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 04:40:07 +0000 (04:40 +0000)]
Convert XO XS and XFX forms to use isPPC64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21346
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 04:32:54 +0000 (04:32 +0000)]
Turn PPC64 and VMX into classes that can be added to instructions instead of
bits that must be passed up the inheritance hierarchy. Convert MForm and AForm
instructions over
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21345
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 03:36:21 +0000 (03:36 +0000)]
Major change to tblgen: instead of resolving values every time a class is
finished up, only resolve fully when the def is defined. This allows things
to be changed and all uses to be propagated through. This implements
TableGen/LazyChange.td and fixes TemplateArgRename.td in the process.
None of the .td files used in LLVM backends are changed at all by this
patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21344
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 03:34:58 +0000 (03:34 +0000)]
New testcase for a changing values late and allowing them to propagate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21343
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 02:58:57 +0000 (02:58 +0000)]
Make this significantly harder
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21342
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 02:53:26 +0000 (02:53 +0000)]
Add a real run line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21341
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 02:52:04 +0000 (02:52 +0000)]
fix this testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21340
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 02:26:23 +0000 (02:26 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21339
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 01:37:24 +0000 (01:37 +0000)]
add a run line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21338
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 01:36:41 +0000 (01:36 +0000)]
Tell dj to run the tests in this directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21337
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 01:17:35 +0000 (01:17 +0000)]
implementing shifting of literal integers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21336
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 19 Apr 2005 01:11:03 +0000 (01:11 +0000)]
Add initial lexer and parser support for shifting values. Every use of this
will lead to it being rejected though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21335
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Mon, 18 Apr 2005 07:48:09 +0000 (07:48 +0000)]
Next round of PPC CR optimizations. For the following code:
int %bar(float %a, float %b, float %c, float %d) {
entry:
%tmp.1 = setlt float %a, %d
%tmp.2 = setlt float %b, %d
%or = or bool %tmp.1, %tmp.2
%tmp.3 = setgt float %c, %d
%tmp.4 = or bool %or, %tmp.3
%tmp.5 = and bool %tmp.4, true
%retval = cast bool %tmp.5 to int
ret int %retval
}
We now emit:
_bar:
.LBB_bar_0: ; entry
fcmpu cr0, f1, f4
fcmpu cr1, f2, f4
cror 0, 0, 4
fcmpu cr1, f3, f4
cror 28, 0, 5
mfcr r2
rlwinm r3, r2, 29, 31, 31
blr
Instead of:
_bar:
.LBB_bar_0: ; entry
fcmpu cr7, f1, f4
mfcr r2
rlwinm r2, r2, 29, 31, 31
fcmpu cr7, f2, f4
mfcr r3
rlwinm r3, r3, 29, 31, 31
or r2, r2, r3
fcmpu cr7, f3, f4
mfcr r3
rlwinm r3, r3, 30, 31, 31
or r3, r2, r3
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21321
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Apr 2005 05:26:21 +0000 (05:26 +0000)]
silence a bogus warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21320
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Apr 2005 04:48:12 +0000 (04:48 +0000)]
Fold setcc of MVT::i1 operands into logical operations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21319
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Apr 2005 04:30:45 +0000 (04:30 +0000)]
Another minor simplification: handle setcc (zero_extend x), c -> setcc(x, c')
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21318
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Apr 2005 04:11:19 +0000 (04:11 +0000)]
Another simple xform
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21317
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Apr 2005 03:59:53 +0000 (03:59 +0000)]
Fold:
// (X != 0) | (Y != 0) -> (X|Y != 0)
// (X == 0) & (Y == 0) -> (X|Y == 0)
Compiling this:
int %bar(int %a, int %b) {
entry:
%tmp.1 = setne int %a, 0
%tmp.2 = setne int %b, 0
%tmp.3 = or bool %tmp.1, %tmp.2
%retval = cast bool %tmp.3 to int
ret int %retval
}
to this:
_bar:
or r2, r3, r4
addic r3, r2, -1
subfe r3, r3, r2
blr
instead of:
_bar:
addic r2, r3, -1
subfe r2, r2, r3
addic r3, r4, -1
subfe r3, r3, r4
or r3, r2, r3
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21316
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 18 Apr 2005 03:48:41 +0000 (03:48 +0000)]
Make the AND elimination operation recursive and significantly more powerful,
eliminating an and for Nate's testcase:
int %bar(int %a, int %b) {
entry:
%tmp.1 = setne int %a, 0
%tmp.2 = setne int %b, 0
%tmp.3 = or bool %tmp.1, %tmp.2
%retval = cast bool %tmp.3 to int
ret int %retval
}
generating:
_bar:
addic r2, r3, -1
subfe r2, r2, r3
addic r3, r4, -1
subfe r3, r3, r4
or r3, r2, r3
blr
instead of:
_bar:
addic r2, r3, -1
subfe r2, r2, r3
addic r3, r4, -1
subfe r3, r3, r4
or r2, r2, r3
rlwinm r3, r2, 0, 31, 31
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21315
91177308-0d34-0410-b5e6-
96231b3b80d8