Chris Lattner [Mon, 17 Jan 2005 06:25:59 +0000 (06:25 +0000)]
New testcase for a problem that occurred in 132.ijpeg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19630
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Jan 2005 05:10:15 +0000 (05:10 +0000)]
Delete PHI nodes that are not dead but are locked in a cycle of single
useness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19629
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Jan 2005 03:20:02 +0000 (03:20 +0000)]
Move code out of indentation one level to make it easier to read.
Disable the xform for < > cases. It turns out that the following is being
miscompiled:
bool %test(sbyte %S) {
%T = cast sbyte %S to uint
%V = setgt uint %T, 255
ret bool %V
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19628
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Jan 2005 02:24:59 +0000 (02:24 +0000)]
Add methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19627
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Jan 2005 01:34:14 +0000 (01:34 +0000)]
Do not fold a load into a comparison that is used by more than one place.
The comparison will probably be folded, so this is not ok to do.
This fixed 197.parser.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19624
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 17 Jan 2005 00:42:31 +0000 (00:42 +0000)]
sysconfdir -> PROJ_etcdir
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19623
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Jan 2005 00:23:16 +0000 (00:23 +0000)]
Do not codegen 'xor bool, true' as 'not reg'. not reg inverts the upper bits
of the bytereg. This fixes yacr2, 300.twolf and probably others.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19622
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Jan 2005 00:12:04 +0000 (00:12 +0000)]
Fix typos noticed by Gabor Greif, thanks Gabor!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19621
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 17 Jan 2005 00:00:33 +0000 (00:00 +0000)]
Set up the shift and setcc types.
If we emit a load because we followed a token chain to get to it, try to
fold it into its single user if possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19620
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 23:59:48 +0000 (23:59 +0000)]
Shift and setcc types default to the pointer type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19619
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 23:59:30 +0000 (23:59 +0000)]
Add comments
Add fields to hold the result type of setcc operations and shift amounts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19618
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 19:46:48 +0000 (19:46 +0000)]
Implement legalize of call nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19617
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Sun, 16 Jan 2005 09:44:58 +0000 (09:44 +0000)]
Fix llvm-java project autconfiguration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19616
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Sun, 16 Jan 2005 08:51:10 +0000 (08:51 +0000)]
Added paramters to a few functions in order to allow me to change the functions to preserve SSA
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19615
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 07:34:08 +0000 (07:34 +0000)]
* Adjust to changes in TargetLowering interfaces.
* Remove custom promotion for bool and byte select ops. Legalize now
promotes them for us.
* Allow folding ConstantPoolIndexes into EXTLOAD's, useful for float immediates.
* Declare which operations are not supported better.
* Add some hacky code for TRUNCSTORE to pretend that we have truncstore
for i16 types. This is useful for testing promotion code because I can
just remove 16-bit registers all together and verify that programs work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19614
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 07:29:19 +0000 (07:29 +0000)]
Revamp supported ops. Instead of just being supported or not, we now keep
track of how to deal with it, and provide the target with a hook that they
can use to legalize arbitrary operations in arbitrary ways.
Implement custom lowering for a couple of ops, implement promotion for select
operations (which x86 needs).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19613
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 07:28:41 +0000 (07:28 +0000)]
add method stub
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19612
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 07:28:31 +0000 (07:28 +0000)]
Don't mash stuff together.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19611
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 07:28:11 +0000 (07:28 +0000)]
Use enums, move virtual dtor out of line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19610
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 07:27:49 +0000 (07:27 +0000)]
Revamp supported ops. Instead of just being supported or not, we now keep
track of how to deal with it, and provide the target with a hook that they
can use to legalize arbitrary operations in arbitrary ways.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19609
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 16 Jan 2005 07:18:31 +0000 (07:18 +0000)]
* Revise the projects section and make reference to Projects.html
* the dist-clean target no longer implies a check
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19608
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 16 Jan 2005 06:53:48 +0000 (06:53 +0000)]
Don't confuse the LLVM_OBJ_DIR and the PROJ_OBJ_DIR because there might be
a symbolic link making the autoconf name for the directory (LLVM_OBJ_ROOT)
and the "make" name for the directory (PROJ_OBJ_ROOT) different.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19607
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 05:06:12 +0000 (05:06 +0000)]
Implement some more missing promotions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19606
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 04:23:22 +0000 (04:23 +0000)]
Fix bugpoint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19605
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 04:20:30 +0000 (04:20 +0000)]
cycles_t -> CycleCount_t
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19604
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sun, 16 Jan 2005 03:18:23 +0000 (03:18 +0000)]
Add some .cvsignores to the win32 hierarchy to account for generated files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19603
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 16 Jan 2005 02:58:39 +0000 (02:58 +0000)]
Provide support for HP/UX aCC compiler's variant of hash_map and hash_set
(RogueWave). These are implemented in rw/stdex/hash_map.h and
rw/stdex/hash_set.h on HP/UX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19600
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 16 Jan 2005 02:38:06 +0000 (02:38 +0000)]
Fix locations of libraries and executables to match makefiles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19599
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 16 Jan 2005 02:35:47 +0000 (02:35 +0000)]
BUILD_* to PROJ_*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19598
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 02:23:34 +0000 (02:23 +0000)]
Clarify assertion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19597
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 02:23:22 +0000 (02:23 +0000)]
Add assertions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19596
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 02:23:07 +0000 (02:23 +0000)]
Add support for promoted registers being live across blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19595
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 16 Jan 2005 02:21:42 +0000 (02:21 +0000)]
Update per new Makefile requirements for projects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19594
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 16 Jan 2005 02:21:29 +0000 (02:21 +0000)]
Rename BUILD_* to PROJ_*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19592
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 16 Jan 2005 02:21:18 +0000 (02:21 +0000)]
Update documentation on how to set up a project
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19591
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 16 Jan 2005 02:20:54 +0000 (02:20 +0000)]
Several changes:
* Rename BUILD_* to PROJ_*
* Differentiate between LLVM's Makefile.conf and the project's
* Use project specific install locations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19590
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 16 Jan 2005 02:20:42 +0000 (02:20 +0000)]
Several changes:
* Get rid of variables that are duplicates of autoconf variables.
* Rename BUILD_* to PROJ_*
* Define some project related install locations
* Don't assume LLVM's configured values are the project's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19589
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 16 Jan 2005 02:20:30 +0000 (02:20 +0000)]
Make this file capable of being used by both LLVM and its projects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19588
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Sun, 16 Jan 2005 02:14:17 +0000 (02:14 +0000)]
Fixed a couple of instructions that broke SSA.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19587
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 01:31:31 +0000 (01:31 +0000)]
Improve compatiblity with HPUX on Itanium, patch by Duraid Madina
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19586
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 01:22:18 +0000 (01:22 +0000)]
Improve compatibility with aCC on HPUX. Patch by Duraid Madina
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19585
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 01:20:18 +0000 (01:20 +0000)]
Set up identity transforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19584
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 01:11:45 +0000 (01:11 +0000)]
Move some information into the TargetLowering object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19583
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 01:11:19 +0000 (01:11 +0000)]
Use the new TLI method to get this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19582
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 01:10:58 +0000 (01:10 +0000)]
Move some information out of LegalizeDAG into the generic Target interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19581
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 00:38:00 +0000 (00:38 +0000)]
legalize a bunch of operations that I missed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19580
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 00:37:38 +0000 (00:37 +0000)]
Add support for targets that require promotions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19579
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 00:17:42 +0000 (00:17 +0000)]
Fix some serious bugs in promotion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19578
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Jan 2005 00:17:20 +0000 (00:17 +0000)]
Eliminate unneeded extensions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19577
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Jan 2005 22:16:26 +0000 (22:16 +0000)]
Implement promotion of a whole bunch more operators. I think that this is
basically everything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19576
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Jan 2005 21:11:37 +0000 (21:11 +0000)]
Print extra type for nodes with extra type info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19575
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Sat, 15 Jan 2005 07:33:52 +0000 (07:33 +0000)]
Add new file to Visual Studio CodeGen project
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19574
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Jan 2005 07:15:18 +0000 (07:15 +0000)]
Add support for legalizing FP_ROUND_INREG, SIGN_EXTEND_INREG, and
ZERO_EXTEND_INREG for targets that don't support them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19573
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Jan 2005 07:14:32 +0000 (07:14 +0000)]
Common code factored out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19572
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Jan 2005 06:52:40 +0000 (06:52 +0000)]
implement these methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19571
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Jan 2005 06:52:18 +0000 (06:52 +0000)]
Add some helper methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19570
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Jan 2005 06:18:18 +0000 (06:18 +0000)]
Add support for promoting ADD/MUL.
Add support for new SIGN_EXTEND_INREG, ZERO_EXTEND_INREG, and FP_ROUND_INREG operators.
Realize that if we do any promotions, we need to iterate SelectionDAG
construction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19569
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Jan 2005 06:17:04 +0000 (06:17 +0000)]
Add new SIGN_EXTEND_INREG, ZERO_EXTEND_INREG, and FP_ROUND_INREG operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19568
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Jan 2005 06:00:32 +0000 (06:00 +0000)]
Add a new target-independent code generator flag.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19567
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Jan 2005 05:22:24 +0000 (05:22 +0000)]
Add support for truncstore and *extload.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19566
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Jan 2005 05:21:40 +0000 (05:21 +0000)]
Add intitial support for promoting some operators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19565
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Jan 2005 00:07:19 +0000 (00:07 +0000)]
Improve output precision.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19564
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 14 Jan 2005 22:43:01 +0000 (22:43 +0000)]
We don't distribute the operating system specific directories any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19563
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Jan 2005 22:38:01 +0000 (22:38 +0000)]
Adjust to CopyFromReg changes, implement deletion of truncating/extending
stores/loads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19562
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Jan 2005 22:37:41 +0000 (22:37 +0000)]
Adjust to CopyFromREg changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19561
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Jan 2005 22:37:20 +0000 (22:37 +0000)]
Change CopyFromReg to take and produce a chain node, allowing it to be used
with physregs that are not live across the entire block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19560
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Jan 2005 22:08:15 +0000 (22:08 +0000)]
Start implementing truncating stores and extending loads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19559
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Jan 2005 22:07:46 +0000 (22:07 +0000)]
Start adding some new operators, give IMPLICIT_DEF a chain operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19558
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Jan 2005 20:22:02 +0000 (20:22 +0000)]
Fix Regression/CodeGen/PowerPC/2005-01-14-UndefLong.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19557
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Jan 2005 20:21:51 +0000 (20:21 +0000)]
New testcase, problem found by Rob.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19556
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Jan 2005 19:31:00 +0000 (19:31 +0000)]
Fix: Regression/CodeGen/PowerPC/2005-01-14-SetSelectCrash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19555
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Jan 2005 19:30:42 +0000 (19:30 +0000)]
Testcase that crashes the PPC backend. Thanks to Rob for finding this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19554
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Jan 2005 17:35:12 +0000 (17:35 +0000)]
Fix some bugs in an xform added yesterday. This fixes Prolangs-C/allroots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19553
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Jan 2005 17:17:59 +0000 (17:17 +0000)]
Fix a compile crash on spiff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19552
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 14 Jan 2005 16:33:36 +0000 (16:33 +0000)]
Allow the Echo and EchoCmd variables to be overridden.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19551
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 14 Jan 2005 16:32:39 +0000 (16:32 +0000)]
Fix the path from ../lib/Debug to ../Debug/lib per changes to Makefiles.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19550
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Jan 2005 15:54:24 +0000 (15:54 +0000)]
Improve compatibility with acc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19549
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Jan 2005 15:53:26 +0000 (15:53 +0000)]
Make this compatible with the HP/intel compiler. Fix by Duraid, thanks!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19548
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Fri, 14 Jan 2005 07:52:28 +0000 (07:52 +0000)]
Correctly update configure to configure the llvm-java project
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19546
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Fri, 14 Jan 2005 04:09:39 +0000 (04:09 +0000)]
Fix and improve win32 path validation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19545
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 14 Jan 2005 00:50:50 +0000 (00:50 +0000)]
Make asctime_r work for HP/UX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19544
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Jan 2005 00:26:25 +0000 (00:26 +0000)]
More testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19543
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Jan 2005 00:20:05 +0000 (00:20 +0000)]
if two gep comparisons only differ by one index, compare that index directly.
This allows us to better optimize begin() -> end() comparisons in common cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19542
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Jan 2005 23:26:48 +0000 (23:26 +0000)]
Do not overrun iterators. This fixes a 176.gcc crash
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19541
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Jan 2005 23:26:28 +0000 (23:26 +0000)]
Add a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19540
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Jan 2005 23:26:14 +0000 (23:26 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19539
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Jan 2005 22:58:50 +0000 (22:58 +0000)]
Add a method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19538
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Jan 2005 22:52:24 +0000 (22:52 +0000)]
Turn select C, (X+Y), (X-Y) --> (X+(select C, Y, (-Y))). This occurs in
the 'sim' program and probably elsewhere. In sim, it comes up for cases
like this:
#define round(x) ((x)>0.0 ? (x)+0.5 : (x)-0.5)
double G;
void T(double X) { G = round(X); }
(it uses the round macro a lot). This changes the LLVM code from:
%tmp.1 = setgt double %X, 0.
000000e+00 ; <bool> [#uses=1]
%tmp.4 = add double %X, 5.
000000e-01 ; <double> [#uses=1]
%tmp.6 = sub double %X, 5.
000000e-01 ; <double> [#uses=1]
%mem_tmp.0 = select bool %tmp.1, double %tmp.4, double %tmp.6
store double %mem_tmp.0, double* %G
to:
%tmp.1 = setgt double %X, 0.
000000e+00 ; <bool> [#uses=1]
%mem_tmp.0.p = select bool %tmp.1, double 5.
000000e-01, double -5.
000000e-01
%mem_tmp.0 = add double %mem_tmp.0.p, %X
store double %mem_tmp.0, double* %G
ret void
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19537
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Jan 2005 22:25:21 +0000 (22:25 +0000)]
Implement an optimization for == and != comparisons like this:
_Bool test2(int X, int Y) {
return &arr[X][Y] == arr;
}
instead of generating this:
bool %test2(int %X, int %Y) {
%tmp.3.idx = mul int %X, 160 ; <int> [#uses=1]
%tmp.3.idx1 = shl int %Y, ubyte 2 ; <int> [#uses=1]
%tmp.3.offs2 = sub int 0, %tmp.3.idx ; <int> [#uses=1]
%tmp.7 = seteq int %tmp.3.idx1, %tmp.3.offs2 ; <bool> [#uses=1]
ret bool %tmp.7
}
generate this:
bool %test2(int %X, int %Y) {
seteq int %X, 0 ; <bool>:0 [#uses=1]
seteq int %Y, 0 ; <bool>:1 [#uses=1]
%tmp.7 = and bool %0, %1 ; <bool> [#uses=1]
ret bool %tmp.7
}
This idiom occurs in C++ programs when iterating from begin() to end(),
in a vector or array. For example, we now compile this:
void test(int X, int Y) {
for (int *i = arr; i != arr+100; ++i)
foo(*i);
}
to this:
no_exit: ; preds = %entry, %no_exit
...
%exitcond = seteq uint %indvar.next, 100 ; <bool> [#uses=1]
br bool %exitcond, label %return, label %no_exit
instead of this:
no_exit: ; preds = %entry, %no_exit
...
%inc5 = getelementptr [100 x [40 x int]]* %arr, int 0, int 0, int %inc.rec ; <int*> [#uses=1]
%tmp.8 = seteq int* %inc5, getelementptr ([100 x [40 x int]]* %arr, int 0, int 100, int 0) ; <bool> [#uses=1]
%indvar.next = add uint %indvar, 1 ; <uint> [#uses=1]
br bool %tmp.8, label %return, label %no_exit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19536
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Jan 2005 20:50:02 +0000 (20:50 +0000)]
Add new ImplicitDef node, rename CopyRegSDNode class to RegSDNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19535
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Jan 2005 20:40:58 +0000 (20:40 +0000)]
Fix some bugs in code I didn't mean to check in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19534
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Jan 2005 20:14:25 +0000 (20:14 +0000)]
Fix a crash compiling 129.compress
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19533
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Jan 2005 19:56:00 +0000 (19:56 +0000)]
Codegen factor nodes more intelligently according to perceived register pressure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19532
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Jan 2005 19:53:14 +0000 (19:53 +0000)]
Don't forget the existing root.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19531
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 13 Jan 2005 18:02:40 +0000 (18:02 +0000)]
Update the documentation about -enable-llcbeta vs. -enable-linscan
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19530
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Jan 2005 18:01:36 +0000 (18:01 +0000)]
Initial trivial (but stupid) codegen for this node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19529
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Jan 2005 17:59:43 +0000 (17:59 +0000)]
Codegen independent ops as being independent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19528
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Jan 2005 17:59:25 +0000 (17:59 +0000)]
Legalize new node, add assertion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19527
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Jan 2005 17:59:10 +0000 (17:59 +0000)]
Print new node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19526
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 13 Jan 2005 17:58:35 +0000 (17:58 +0000)]
Add a new node type, add comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19525
91177308-0d34-0410-b5e6-
96231b3b80d8