Owen Anderson [Fri, 20 Jul 2007 08:19:20 +0000 (08:19 +0000)]
Fix a bug where we were marking GEP expressions with the wrong opcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40085
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 20 Jul 2007 06:16:07 +0000 (06:16 +0000)]
When removing instructions from the analysis, be sure to check the confirmed
flag when determining what to do with dependencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40079
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 20 Jul 2007 00:27:56 +0000 (00:27 +0000)]
New test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40077
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 20 Jul 2007 00:27:43 +0000 (00:27 +0000)]
Because we promote SSE logical ops and loads to v2i64, we often end up generate
code that cross integer / floating point domains (e.g. generate pxor / pand for
logical ops on floating point value, movdqa to load / store floating point SSE
values). Given that, it's better to use movaps instead of movdqa and movups
instead of movdqu. They have the same latency but the "aps" variants are one
byte shorter.
If the domain crossing problem is a real performance issue, then we will have to
fix it with dynamic programming based isel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40076
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 20 Jul 2007 00:21:23 +0000 (00:21 +0000)]
No need for noResults anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40075
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 20 Jul 2007 00:20:46 +0000 (00:20 +0000)]
Oops. These stores actually produce results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40074
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 19 Jul 2007 23:53:50 +0000 (23:53 +0000)]
New test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40073
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 19 Jul 2007 23:53:29 +0000 (23:53 +0000)]
Try fixing it again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40072
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 19 Jul 2007 23:36:01 +0000 (23:36 +0000)]
Fix custom lowering of SSE FXOR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40071
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 19 Jul 2007 23:34:10 +0000 (23:34 +0000)]
Fix patterns so we isel the xorps, etc. for floating pt logical SSE ops. DAG combiner may fold away the (bit_convert (load)).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40070
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 19 Jul 2007 23:13:04 +0000 (23:13 +0000)]
For PR1553:
Change the keywords for the zext and sext parameter attributes to be
zeroext and signext so they don't conflict with the keywords for the
instructions of the same name. This gets around the ambiguity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40069
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Thu, 19 Jul 2007 21:05:30 +0000 (21:05 +0000)]
Hush a noisy warning from GCC 4.2 about overflow during conversion by using
the type "unsigned" instead of uintptr_t for a 1-bit structure field.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40066
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 19 Jul 2007 19:57:13 +0000 (19:57 +0000)]
Make val_replace fail early, which reduces the time to optimize 403.gcc to 14.8s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40064
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 19 Jul 2007 18:06:26 +0000 (18:06 +0000)]
Don't need the "&&" to glue lines together.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40063
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 19 Jul 2007 18:02:32 +0000 (18:02 +0000)]
Verify loop info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40062
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 19 Jul 2007 15:32:47 +0000 (15:32 +0000)]
Properly initialize value :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40059
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 19 Jul 2007 09:42:01 +0000 (09:42 +0000)]
Replace mysterious code causing a g++-4.2 warning
with hopefully correct code that pleases g++-4.2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40051
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 19 Jul 2007 09:38:34 +0000 (09:38 +0000)]
Fix this test. We produce pretty cruddy code for this
nowadays, unfortunately it's not so easy to get good
code here while still producing correct code in exotic
situations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40050
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 19 Jul 2007 07:31:58 +0000 (07:31 +0000)]
As pointed out by g++-4.2, the original code didn't do
what it thought it was doing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40044
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 19 Jul 2007 06:45:33 +0000 (06:45 +0000)]
Remember to free the heap allocated array if we're not going to use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40043
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 19 Jul 2007 06:37:56 +0000 (06:37 +0000)]
Use SmallVector and DenseMap in even more places.
With this, the time to optimize 403.gcc is down to 15.1s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40042
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 19 Jul 2007 06:31:11 +0000 (06:31 +0000)]
Testcase for PR1549
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40041
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 19 Jul 2007 06:13:15 +0000 (06:13 +0000)]
Change ValueTable to use a DenseMap for mapping expressions to value numbers.
This results in a slight speedup for 403.gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40040
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 19 Jul 2007 05:36:09 +0000 (05:36 +0000)]
Set up ground work to verify preserved analysis info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40039
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 19 Jul 2007 03:32:44 +0000 (03:32 +0000)]
Move some sets and maps to SmallPtrSet and DenseMap respectively. This
reduces the time to optimize 403.gcc from 17.6s to 16.4s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40036
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 19 Jul 2007 02:29:24 +0000 (02:29 +0000)]
After a basic block is split into two parts,
second part dominates all the blocks dominated
by original basic block. And first part dominates
second part.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40035
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 19 Jul 2007 02:22:21 +0000 (02:22 +0000)]
Now this temp. fix is not required.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40034
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 19 Jul 2007 01:14:50 +0000 (01:14 +0000)]
Change instruction description to split OperandList into OutOperandList and
InOperandList. This gives one piece of important information: # of results
produced by an instruction.
An example of the change:
def ADD32rr : I<0x01, MRMDestReg, (ops GR32:$dst, GR32:$src1, GR32:$src2),
"add{l} {$src2, $dst|$dst, $src2}",
[(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>;
=>
def ADD32rr : I<0x01, MRMDestReg, (outs GR32:$dst), (ins GR32:$src1, GR32:$src2),
"add{l} {$src2, $dst|$dst, $src2}",
[(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>;
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40033
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 19 Jul 2007 00:42:58 +0000 (00:42 +0000)]
Only adjust esp around calls in presence of alloca.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40030
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 19 Jul 2007 00:42:05 +0000 (00:42 +0000)]
Only adjust esp around calls in presence of alloca.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40028
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 18 Jul 2007 23:50:19 +0000 (23:50 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40025
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 18 Jul 2007 23:48:20 +0000 (23:48 +0000)]
Fix dominator info update to accommodate CFG changes.
This fixes PR1559.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40024
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 18 Jul 2007 23:47:02 +0000 (23:47 +0000)]
New test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40023
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 18 Jul 2007 23:34:48 +0000 (23:34 +0000)]
Add comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40022
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 18 Jul 2007 21:39:16 +0000 (21:39 +0000)]
New test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40020
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 18 Jul 2007 21:26:06 +0000 (21:26 +0000)]
Use MOV instead of LEA to restore ESP if callee-saved frame size is 0; if previous instruction updates esp, fold it in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40018
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Jul 2007 20:51:11 +0000 (20:51 +0000)]
Add constructor overloads for LoadInst and StoreInst that insert at the
end of a BasicBlock and have an alignment parameter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40016
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Jul 2007 20:23:34 +0000 (20:23 +0000)]
Implement initial memory alignment awareness for SSE instructions. Vector loads
and stores that have a specified alignment of less than 16 bytes now use
instructions that support misaligned memory references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40015
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 18 Jul 2007 19:54:15 +0000 (19:54 +0000)]
Fix an issue where assignments that caused a SmallPtrSet to become non-small
would result in calling realloc() on a null pointer. Instead, if we encounter
this situation, make a normal call to malloc().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40014
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 18 Jul 2007 16:29:46 +0000 (16:29 +0000)]
It's not necessary to do rounding for alloca operations when the requested
alignment is equal to the stack alignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40004
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 18 Jul 2007 08:21:49 +0000 (08:21 +0000)]
New entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39998
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 18 Jul 2007 05:27:33 +0000 (05:27 +0000)]
Fix a sys::Path API error caught by a gcc 4.2 warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39995
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 18 Jul 2007 04:51:57 +0000 (04:51 +0000)]
Work around a bogus gcc 4.2 warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39993
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 18 Jul 2007 04:37:24 +0000 (04:37 +0000)]
Fix this test to not rely on the path but to use the
configured llvm-gcc instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39992
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 18 Jul 2007 04:26:05 +0000 (04:26 +0000)]
The property is svn:executable not svn:execute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39991
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Wed, 18 Jul 2007 04:24:20 +0000 (04:24 +0000)]
Alphabetize. Document -mlimit parameter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39990
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 17 Jul 2007 21:59:21 +0000 (21:59 +0000)]
Turn on FastDSE by default.
Note: FastDSE now equals or exceeds the results of old DSE on all of SPEC2000 and SPEC2006. Unless major problems
show up in the testers, it will likely completely replace old DSE in the near future.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39986
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jul 2007 21:26:42 +0000 (21:26 +0000)]
Fold prologue esp update when possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39984
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 17 Jul 2007 20:37:35 +0000 (20:37 +0000)]
support poolalloc as checked out from svn
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39983
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jul 2007 20:07:21 +0000 (20:07 +0000)]
Change sroa threshold back.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39980
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jul 2007 20:01:19 +0000 (20:01 +0000)]
Dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39979
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jul 2007 18:40:47 +0000 (18:40 +0000)]
Make sure not to break eh_return.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39978
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jul 2007 18:39:45 +0000 (18:39 +0000)]
Update.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39977
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jul 2007 18:16:09 +0000 (18:16 +0000)]
Fix test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39976
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Tue, 17 Jul 2007 18:08:32 +0000 (18:08 +0000)]
Don't use * in XFAIL line unless you want it to XFAIL on everything. I don't believe you can use true regular expressions here. It will just look for those keywords. Please test this on sparc and see if they still are xfailed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39975
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jul 2007 18:03:34 +0000 (18:03 +0000)]
Missed the case where alloca is used but the stack size (not including callee-saved portion) is zero. Thanks Dan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39974
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 17 Jul 2007 13:34:23 +0000 (13:34 +0000)]
detect invalid combination of sret and byval
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39971
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Tue, 17 Jul 2007 10:25:31 +0000 (10:25 +0000)]
XFAIL these on sparc-solaris
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39969
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jul 2007 07:59:08 +0000 (07:59 +0000)]
Use push / pop for prologues and epilogues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39967
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 17 Jul 2007 07:17:02 +0000 (07:17 +0000)]
Make use of the process_builder_args library function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39965
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 17 Jul 2007 06:20:38 +0000 (06:20 +0000)]
For PR1558:
Move tests that have C/C++ sources into the appropriate directory. This
allows them to be selected for testing based on whether llvm-gcc is
present or not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39963
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Jul 2007 05:56:43 +0000 (05:56 +0000)]
no email addrs in file headers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39962
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 17 Jul 2007 02:16:12 +0000 (02:16 +0000)]
Unbreak the build by putting calls to free into the implementation file and
having that implementation file #include <cstdlib>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39952
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Jul 2007 01:52:05 +0000 (01:52 +0000)]
Temporarily set SROA threshold to 512.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39950
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 16 Jul 2007 23:34:39 +0000 (23:34 +0000)]
Take advantage of undefined behavior if the source program tries to GEP
beyond the end of an alloca to make FastDSE faster and more aggressive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39945
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 Jul 2007 23:25:52 +0000 (23:25 +0000)]
Normally, we don't want to install and we only need to build tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39944
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 Jul 2007 22:54:42 +0000 (22:54 +0000)]
No, we're not looking for a directory named /config.status.
Sigh .. fix copy & paste error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39939
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 Jul 2007 22:25:13 +0000 (22:25 +0000)]
In ModuleInfo.txt, make sure that the script being executed can be
found by prepending a .
In build-for-llvm-top.sh, dereference variables for exansion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39936
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 Jul 2007 22:11:02 +0000 (22:11 +0000)]
Prepare for the future when llvm doesn't depend on llvm-gcc-4-0.
This also avoids a fork bomb from the llvm-top/build script which
doesn't know how to handle cycles in the dependence graph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39933
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 Jul 2007 22:03:36 +0000 (22:03 +0000)]
Remove insignificant test no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39931
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 16 Jul 2007 21:52:50 +0000 (21:52 +0000)]
Add support for walking up memory def chains, which enables finding many more
dead stores on 400.perlbench.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39929
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 16 Jul 2007 21:27:44 +0000 (21:27 +0000)]
Use realloc() to (potentially) resize the contents of SmallPtrSet in place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39926
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 Jul 2007 21:03:44 +0000 (21:03 +0000)]
Return Undef if the block has no dominator. This was required to allow
llvm-gcc build to succeed. Without this change it fails in libstdc++
compilation. This causes no regressions in dejagnu tests. However,
someone who knows this code better might want to review it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39924
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Jul 2007 15:26:22 +0000 (15:26 +0000)]
Use ConstantFoldFP for folding all unary floating-point operations which may
have an error, and refector out the code for binary operators into
ConstantFoldBinaryFP and use it for all binary floating-point operations
which may have an error. These functions still rely exclusively on errno
to detect errors though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39923
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Jul 2007 14:37:41 +0000 (14:37 +0000)]
Fix the documentation for llvm.sqrt so that sqrt(0) has defined behavior,
which appears to be the intent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39922
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Jul 2007 14:29:03 +0000 (14:29 +0000)]
Fix comments about vectors to use the current wording.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39921
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Jul 2007 13:37:30 +0000 (13:37 +0000)]
Remove the trailing semicolon from function declarations in LLVM,
where it's interpreted as a comment, not part of the syntax.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39920
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 16 Jul 2007 08:52:56 +0000 (08:52 +0000)]
Fix validation errors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39917
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 16 Jul 2007 08:46:40 +0000 (08:46 +0000)]
Clean up some formatting
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39916
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 16 Jul 2007 08:44:39 +0000 (08:44 +0000)]
Clean up some formatting. Add some doc_code div tags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39915
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 16 Jul 2007 08:05:18 +0000 (08:05 +0000)]
Prepare for building from llvm-top. Unfortunately, this doesn't work because
of the cyclic depndency between llvm and llvm-gcc-4-0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39910
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jul 2007 04:15:34 +0000 (04:15 +0000)]
Repair a regression in Transforms/InstCombine/mul.ll that Reid noticed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39896
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Jul 2007 04:09:00 +0000 (04:09 +0000)]
rename function to avoid llvm-upgrade warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39895
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Mon, 16 Jul 2007 02:58:37 +0000 (02:58 +0000)]
Start adding and cleaning up comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39894
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Mon, 16 Jul 2007 02:08:00 +0000 (02:08 +0000)]
Handle decrementing loops properly. Fixes PR1533.
Always pass the constant as the second parameter to HowManyLessThans.
Remove obsolete "isSigned" parameter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39893
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jul 2007 23:32:03 +0000 (23:32 +0000)]
add a helper method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39885
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jul 2007 22:30:34 +0000 (22:30 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39882
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jul 2007 20:54:51 +0000 (20:54 +0000)]
Implement shift-simplify.ll:test[45].
First teach instcombine that sign bit checks only demand the
sign bit, this allows simplify demanded bits to hack on
expressions better.
Second, teach instcombine that ashr is useless if only the
sign bit is demanded.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39880
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 15 Jul 2007 20:42:37 +0000 (20:42 +0000)]
Implement shift-simplify.ll:test3, turning:
(X << 31) <s 0 --> (X&1) != 0
This happens dozens of times in the CFE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39879
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 14 Jul 2007 17:41:03 +0000 (17:41 +0000)]
Clarify the language. Pointed out by Duncan Sands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39857
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 14 Jul 2007 15:11:14 +0000 (15:11 +0000)]
Fix the build. Patch from Holger Schurig.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39856
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Sat, 14 Jul 2007 14:06:15 +0000 (14:06 +0000)]
Long live the exception handling!
This patch fills the last necessary bits to enable exceptions
handling in LLVM. Currently only on x86-32/linux.
In fact, this patch adds necessary intrinsics (and their lowering) which
represent really weird target-specific gcc builtins used inside unwinder.
After corresponding llvm-gcc patch will land (easy) exceptions should be
more or less workable. However, exceptions handling support should not be
thought as 'finished': I expect many small and not so small glitches
everywhere.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39855
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 14 Jul 2007 04:28:04 +0000 (04:28 +0000)]
Use maximal intersection algorithm exclusively. Fixes miscompile bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39852
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 14 Jul 2007 02:51:34 +0000 (02:51 +0000)]
Add alternate ConstantRange intersection algorithm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39851
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 13 Jul 2007 23:57:33 +0000 (23:57 +0000)]
Added test case from PR1540.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39845
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 13 Jul 2007 23:57:11 +0000 (23:57 +0000)]
Make LCSSA a loop pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39844
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 13 Jul 2007 23:55:50 +0000 (23:55 +0000)]
Fix for PR1540: Specify F0, F1 are sub-registers of D0, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39843
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 13 Jul 2007 22:50:48 +0000 (22:50 +0000)]
Handle GEPs with all-zero indices in the same way we handle pointer-pointer bitcasts. Also, fix a potentia infinite loop.
This brings FastDSE to parity with old DSE on 175.vpr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39839
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 13 Jul 2007 21:53:42 +0000 (21:53 +0000)]
Disable claims to preserve analysis until open issues are resolved.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39834
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 13 Jul 2007 20:16:50 +0000 (20:16 +0000)]
Eliminate an unused parameter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39828
91177308-0d34-0410-b5e6-
96231b3b80d8