OSDN Git Service
Evan Cheng [Fri, 7 Mar 2008 20:12:54 +0000 (20:12 +0000)]
Fixed a register scavenger bug. If a def is re-defining part of a super register, there must be an implicit def of the super-register on the MI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48024
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Fri, 7 Mar 2008 20:10:54 +0000 (20:10 +0000)]
only extract main if the user didn't specify anything to extract
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48023
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 7 Mar 2008 20:08:07 +0000 (20:08 +0000)]
RetVal is not used when there are more then one return operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48022
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Fri, 7 Mar 2008 20:07:24 +0000 (20:07 +0000)]
make error message reflect default search function name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48021
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 7 Mar 2008 20:06:16 +0000 (20:06 +0000)]
Update inliner to handle functions that return multiple values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48020
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 Mar 2008 20:05:43 +0000 (20:05 +0000)]
fix 80 col violations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48019
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 7 Mar 2008 20:00:15 +0000 (20:00 +0000)]
Place for sret promotion tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48016
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Fri, 7 Mar 2008 19:51:57 +0000 (19:51 +0000)]
add a pass that can extract all kinds of global values, not just functions. Update llvm-extract to use it and optionally extract a global variable if you want it too
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48015
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Fri, 7 Mar 2008 19:13:06 +0000 (19:13 +0000)]
Cleanup some comments in the OCaml bindings.
Patch by Erick Tryzelaar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48014
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Fri, 7 Mar 2008 18:43:51 +0000 (18:43 +0000)]
Fix a typo. 'make clean' in bindings/ocaml would leave an output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48012
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 7 Mar 2008 18:34:50 +0000 (18:34 +0000)]
Clarify some important bits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48010
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Fri, 7 Mar 2008 18:32:18 +0000 (18:32 +0000)]
Small cleanup: propagate thread-localness via generic routine.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48009
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Fri, 7 Mar 2008 18:20:01 +0000 (18:20 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48008
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Fri, 7 Mar 2008 18:19:47 +0000 (18:19 +0000)]
Prefer to use ocamlc.opt to ocamlc and soforth.
These natively compiled versions are faster.
Patch by Erick Tryzelaar!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48007
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 Mar 2008 06:36:32 +0000 (06:36 +0000)]
mark frem as expand for all legal fp types on x86, regardless of whether
we're using SSE or not. This fixes PR2122.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48006
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 6 Mar 2008 23:34:22 +0000 (23:34 +0000)]
Add testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48005
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 6 Mar 2008 23:22:43 +0000 (23:22 +0000)]
When setting the "unused" info, take into account something like this:
%r3<def> = OR %x3<kill>, %x3
We don't want to mark the %r3 as unused even though it's a sub-register of %x3.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48003
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 6 Mar 2008 17:42:34 +0000 (17:42 +0000)]
80 col violation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47998
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 6 Mar 2008 10:51:21 +0000 (10:51 +0000)]
some more spelling changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47996
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 6 Mar 2008 10:36:00 +0000 (10:36 +0000)]
fix typos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47994
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 6 Mar 2008 08:20:51 +0000 (08:20 +0000)]
Constant fold SIGN_EXTEND_INREG with ashr not lshr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47992
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 6 Mar 2008 06:55:58 +0000 (06:55 +0000)]
Exercise the new CFG change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47990
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 6 Mar 2008 06:54:53 +0000 (06:54 +0000)]
Treat BBs that use BBs as proper predecessors and successors in the CFG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47989
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 6 Mar 2008 06:50:03 +0000 (06:50 +0000)]
Commit the testcase too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47988
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 6 Mar 2008 06:48:30 +0000 (06:48 +0000)]
Don't try to simplify urem and srem using arithmetic rules that don't work
under modulo (overflow). Fixes PR1933.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47987
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Thu, 6 Mar 2008 04:02:54 +0000 (04:02 +0000)]
Refine Cell's i64 constant generation code to cover more constants where the
upper and lower 32-bits are the same (in addition to 0 and -1 previously.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47985
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 5 Mar 2008 23:41:37 +0000 (23:41 +0000)]
gcc likes things spelled correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47981
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 5 Mar 2008 23:39:23 +0000 (23:39 +0000)]
Skip, for now, callsites where use of sret argument is not dominated by callsite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47980
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 5 Mar 2008 23:31:27 +0000 (23:31 +0000)]
Next bit of PPC ByVal handling; call-site code seems
correct now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47978
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 5 Mar 2008 23:21:39 +0000 (23:21 +0000)]
Missed patch from my last commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47977
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 5 Mar 2008 23:08:47 +0000 (23:08 +0000)]
Resolve aliases to aliasees, where possible
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47975
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 5 Mar 2008 23:08:16 +0000 (23:08 +0000)]
Handle functions as targets during linking of aliases as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47974
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Wed, 5 Mar 2008 23:02:02 +0000 (23:02 +0000)]
- Fix support for "special" i64 immediates that can be loaded
using IL, ILA, et. al. v2i64 and i64 are now supported by
the select bits (SELB) instruction.
- Add missing comparison operations (testcase forthcoming)
- More multiclass refactoring.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47973
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Wed, 5 Mar 2008 23:00:19 +0000 (23:00 +0000)]
- Expand tabs to spaces.
- select_bits.ll now fully functional now that PR1993 is closed. It was
previously broken by refactoring in SPUInstrInfo.td and using multiclasses.
- Same for eqv.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47972
91177308-0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 5 Mar 2008 22:30:39 +0000 (22:30 +0000)]
Update vcproj file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47969
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 5 Mar 2008 22:22:46 +0000 (22:22 +0000)]
Try hard to link aliases. Checks can be too strict by now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47968
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Mar 2008 22:09:42 +0000 (22:09 +0000)]
Fix a coalescer bug wrt how dead copy interval is shortened.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47966
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 5 Mar 2008 21:50:24 +0000 (21:50 +0000)]
Handle 'ret' with multiple values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47965
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 5 Mar 2008 20:24:26 +0000 (20:24 +0000)]
test for something more interesting than not crashing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47962
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 5 Mar 2008 19:48:27 +0000 (19:48 +0000)]
sync ops on ptrs, was breaking libgomp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47960
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Berlin [Wed, 5 Mar 2008 19:31:47 +0000 (19:31 +0000)]
Add Hybrid Cycle Detection to Andersen's analysis.
Patch by Curtis Dunham.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47959
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 5 Mar 2008 19:14:03 +0000 (19:14 +0000)]
Clarify that CALLSEQ_START..END may not be nested,
and add some protection against creating such.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47957
91177308-0d34-0410-b5e6-
96231b3b80d8
Scott Michel [Wed, 5 Mar 2008 17:49:05 +0000 (17:49 +0000)]
This patch fixes a problem encountered by the CellSPU backend where variants
were being pruned in patterns where a variable was used more than once, e.g.:
(or (and R32C:$rA, R32C:$rC), (and R32C:$rB, (not R32C:$rC)))
In this example, $rC is used more than once and is actually significant to
instruction selection pattern matching when commuted variants are produced.
This patch scans the pattern's clauses and collects the variables, creating
a set of variables that are used more than once. TreePatternNode::isIsomorphicTo()
also understands that multiply-used variables are significant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47950
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Mar 2008 17:11:51 +0000 (17:11 +0000)]
evan implemented this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47948
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 5 Mar 2008 15:44:25 +0000 (15:44 +0000)]
Fix test not to emit junk into source directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47947
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 5 Mar 2008 15:43:58 +0000 (15:43 +0000)]
Testcase for PR2054
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47946
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 5 Mar 2008 15:27:21 +0000 (15:27 +0000)]
Remember the source->dest mapping when copying aliases. This fixes PR2054
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47945
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Wed, 5 Mar 2008 15:11:00 +0000 (15:11 +0000)]
Clarify the state-of-the-art
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47944
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 5 Mar 2008 09:28:02 +0000 (09:28 +0000)]
Use AC_PATH_PROG correctly:
http://www.gnu.org/software/autoconf/manual/autoconf.html#Generic-Programs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47943
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Mar 2008 08:19:16 +0000 (08:19 +0000)]
isTwoAddress = 1 -> Constraints.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47941
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Mar 2008 08:11:27 +0000 (08:11 +0000)]
PSLLWri etc. are two-address instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47940
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Mar 2008 07:22:39 +0000 (07:22 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47939
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Mar 2008 06:48:13 +0000 (06:48 +0000)]
Generalize FP constant shrinking optimization to apply to any vt
except ppc long double. This allows us to shrink constant pool
entries for x86 long double constants, which in turn allows us to
use flds/fldl instead of fldt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47938
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Mar 2008 06:46:58 +0000 (06:46 +0000)]
Improve comment, pass in the original VT so that we can shrink a long double constant
all the way to float, not stopping at double.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47937
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Mar 2008 02:34:36 +0000 (02:34 +0000)]
Ignore debugging related instructions if they get this far.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47934
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Mar 2008 02:08:03 +0000 (02:08 +0000)]
Rather than asserting. Dump out the MI that we are not able to encode and abort.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47933
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 5 Mar 2008 02:07:31 +0000 (02:07 +0000)]
Codegen support for i128 UINT_TO_FP. This just fixes a
bug in r47928 (Int64Ty is the correct type for the constant
pool entry here) and removes the asserts, now that the code
is capable of handling i128.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47932
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Mar 2008 01:30:59 +0000 (01:30 +0000)]
Add a target lowering hook to control whether it's worthwhile to compress fp constant.
For x86, if sse2 is available, it's not a good idea since cvtss2sd is slower than a movsd load and it prevents load folding. On x87, it's important to shrink fp constant since fldt is very expensive.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47931
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 5 Mar 2008 01:15:49 +0000 (01:15 +0000)]
64bit CAS on 32bit x86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47929
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 5 Mar 2008 01:08:17 +0000 (01:08 +0000)]
Codegen support for i128 SINT_TO_FP.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47928
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 5 Mar 2008 00:59:57 +0000 (00:59 +0000)]
Refactor code. Remove duplicated functions that basically do the same thing as
findRegisterUseOperandIdx, findRegisterDefOperandIndx. Fix some naming inconsistencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47927
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 5 Mar 2008 00:36:59 +0000 (00:36 +0000)]
Skip functions that return multiple values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47924
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 5 Mar 2008 00:27:05 +0000 (00:27 +0000)]
Check struct return type first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47922
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 4 Mar 2008 23:27:33 +0000 (23:27 +0000)]
Removed spurious EnablePPCRS check.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47918
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 4 Mar 2008 23:17:14 +0000 (23:17 +0000)]
Move PPC lowering functions into PPCTargetLowering
class (cosmetic). First piece of byval implementation;
this doesn't work yet. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47917
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 4 Mar 2008 23:16:26 +0000 (23:16 +0000)]
Use -enable-ppc-regscavenger flag for these checks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47916
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 4 Mar 2008 23:13:51 +0000 (23:13 +0000)]
Use a command-line option to turn register scavenging on/off for PPC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47915
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 4 Mar 2008 22:05:14 +0000 (22:05 +0000)]
Print types for all ret operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47911
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 4 Mar 2008 21:59:49 +0000 (21:59 +0000)]
Use while loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47909
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 4 Mar 2008 21:54:56 +0000 (21:54 +0000)]
Revert SmallVector ctor variants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47908
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 4 Mar 2008 21:45:28 +0000 (21:45 +0000)]
Use cast instead of dyn_cast.
Update test to use multiple return value directly, instead of relying on -sretpromotion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47907
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 4 Mar 2008 21:32:09 +0000 (21:32 +0000)]
Filter nested structs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47906
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 4 Mar 2008 21:15:15 +0000 (21:15 +0000)]
Handle multiple return values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47904
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 4 Mar 2008 21:13:33 +0000 (21:13 +0000)]
x86-64 atomics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47903
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 4 Mar 2008 20:16:11 +0000 (20:16 +0000)]
Properly populate lists of defined/undefined symbols in presence of aliases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47900
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Tue, 4 Mar 2008 20:15:35 +0000 (20:15 +0000)]
Add alias with non-external aliasee to the list of exported symbols of the library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47899
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 4 Mar 2008 19:22:54 +0000 (19:22 +0000)]
Use appropriate index to get the result value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47897
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 4 Mar 2008 19:12:58 +0000 (19:12 +0000)]
Skip sret attribute while preparing attribute list for
new function and new call sites.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47896
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 4 Mar 2008 18:57:05 +0000 (18:57 +0000)]
Add FunctionType ctor variant that takes SmallVector params.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47895
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 4 Mar 2008 17:48:11 +0000 (17:48 +0000)]
Increment counter that keeps track of total number of sret promoted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47892
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 4 Mar 2008 17:47:06 +0000 (17:47 +0000)]
Skip declarations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47890
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 4 Mar 2008 17:46:26 +0000 (17:46 +0000)]
Process externally visible functions also. Later on code generator will do the right thing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47889
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 4 Mar 2008 17:44:37 +0000 (17:44 +0000)]
Collect statistics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47888
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Tue, 4 Mar 2008 14:52:05 +0000 (14:52 +0000)]
Fix a typo noticed by Erick Tryzelaar,
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47886
91177308-0d34-0410-b5e6-
96231b3b80d8
Roman Levenstein [Tue, 4 Mar 2008 11:19:43 +0000 (11:19 +0000)]
Some improvements related to the computation of heights, depths of SUnits.
The basic idea is that all these algorithms are computing the longest paths from the root node or to the exit node. Therefore the existing implementation that uses and iterative and potentially
exponential algorithm was changed to a well-known graph algorithm based on dynamic programming. It has a linear run-time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47884
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 4 Mar 2008 08:05:30 +0000 (08:05 +0000)]
Refactor ExpandConstantFP so it can optimize load from constpool of types larger than f64 into extload from smaller types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47883
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 4 Mar 2008 08:01:56 +0000 (08:01 +0000)]
Really fix the test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47882
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 4 Mar 2008 07:59:13 +0000 (07:59 +0000)]
Fix broken test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47881
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 4 Mar 2008 03:20:06 +0000 (03:20 +0000)]
80 column violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47878
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 4 Mar 2008 03:19:19 +0000 (03:19 +0000)]
Fix 80 column violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47877
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 4 Mar 2008 00:48:15 +0000 (00:48 +0000)]
Did I say 'e = getNumOperands()'? I meant --e, of course.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47875
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 4 Mar 2008 00:47:45 +0000 (00:47 +0000)]
Add PR1501 test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47874
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 4 Mar 2008 00:41:45 +0000 (00:41 +0000)]
Rename isOperand() to isOperandOf() (and other similar methods). It always confuses me.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47872
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 4 Mar 2008 00:40:35 +0000 (00:40 +0000)]
Remove -always-fold-and-in-test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47871
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 3 Mar 2008 23:57:28 +0000 (23:57 +0000)]
Miscellaneous clean-ups based on Evan's feedback:
- Cleaned up how the prologue-epilogue inserter loops over the instructions.
- Instead of restarting the processing of an instruction if we remove an
implicit kill, just update the end iterator and make sure that the iterator
isn't incremented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47870
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 3 Mar 2008 23:51:38 +0000 (23:51 +0000)]
Misc. APInt-ification in the DAGCombiner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47869
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 3 Mar 2008 23:35:36 +0000 (23:35 +0000)]
More APInt-ification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47868
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 3 Mar 2008 22:37:52 +0000 (22:37 +0000)]
Yet more APInt-ification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47867
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 3 Mar 2008 22:22:56 +0000 (22:22 +0000)]
More APInt-ification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47866
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 3 Mar 2008 22:22:09 +0000 (22:22 +0000)]
Add support for lowering i64 SRA_PARTS and friends on x86-64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47865
91177308-0d34-0410-b5e6-
96231b3b80d8