Nick Lewycky
a53414fd79
Load the symbols first so that the interpreter constructor can find them when
...
it tries to initialize them.
llvm-svn: 48046
2008-03-08 02:49:45 +00:00
Andrew Lenharth
e2e69ff426
much simpler test case
...
llvm-svn: 48045
2008-03-08 02:05:22 +00:00
Dan Gohman
39b0ac4e59
Remove unused runPass methods.
...
llvm-svn: 48044
2008-03-08 01:43:56 +00:00
Dale Johannesen
21a8f144a6
More ppc32 byval handling (bug fixes). Things
...
are looking pretty good now.
llvm-svn: 48043
2008-03-08 01:41:42 +00:00
Evan Cheng
95cf661534
Implement x86 support for @llvm.prefetch. It corresponds to prefetcht{0|1|2} and prefetchnta instructions.
...
llvm-svn: 48042
2008-03-08 00:58:38 +00:00
Dan Gohman
d2ab5fd713
Add support for calls with i128 return values on ppc64.
...
llvm-svn: 48041
2008-03-08 00:19:12 +00:00
Bill Wendling
d6951455e4
Something that kills a super-register also
...
kills the sub-register.
llvm-svn: 48038
2008-03-07 23:45:15 +00:00
Evan Cheng
4e97e94809
Fix a typo. It's causing consumer-typeset to miscompile. Perhaps more.
...
llvm-svn: 48035
2008-03-07 22:39:49 +00:00
Dan Gohman
6c11f47c54
There is no killUse.
...
llvm-svn: 48034
2008-03-07 22:24:41 +00:00
Andrew Lenharth
b04bde94c1
add dropped section test case for PR2123
...
llvm-svn: 48033
2008-03-07 21:19:43 +00:00
Devang Patel
2fbf7eef9c
Add new sretpromotion pass.
...
llvm-svn: 48032
2008-03-07 21:07:34 +00:00
Bill Wendling
968f32ce3d
PPC64 passes arguments of integral type in i64 registers, not i32. Reflect this
...
by promoting smaller integral values (i32 at this point) to i64, then truncating
to get the wanted size.
llvm-svn: 48030
2008-03-07 20:49:02 +00:00
Dan Gohman
8d2ead2e34
Add support for lowering 128-bit shifts on ppc64.
...
llvm-svn: 48029
2008-03-07 20:36:53 +00:00
Dale Johannesen
bfa252d402
Next bits of PPC byval handling. Basically functional
...
but there are bugs.
llvm-svn: 48028
2008-03-07 20:27:40 +00:00
Chris Lattner
20b5a2b037
Add support for ppc64 shifts with 7-bit (oversized) shift amount (e.g. PPCshl).
...
llvm-svn: 48027
2008-03-07 20:18:24 +00:00
Chris Lattner
25ff7e217d
Replace SDT_PPCShiftOp in favor of SDTIntBinOps. This allows it to work
...
with 32 or 64-bit operands/results.
llvm-svn: 48026
2008-03-07 20:13:51 +00:00
Evan Cheng
39a3221e27
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.
...
llvm-svn: 48024
2008-03-07 20:12:54 +00:00
Andrew Lenharth
fc42740952
only extract main if the user didn't specify anything to extract
...
llvm-svn: 48023
2008-03-07 20:10:54 +00:00
Devang Patel
6c8219e732
RetVal is not used when there are more then one return operands.
...
llvm-svn: 48022
2008-03-07 20:08:07 +00:00
Andrew Lenharth
3906c6aea3
make error message reflect default search function name
...
llvm-svn: 48021
2008-03-07 20:07:24 +00:00
Devang Patel
780b3ca64b
Update inliner to handle functions that return multiple values.
...
llvm-svn: 48020
2008-03-07 20:06:16 +00:00
Chris Lattner
c1969de3e9
fix 80 col violations
...
llvm-svn: 48019
2008-03-07 20:05:43 +00:00
Devang Patel
47d774b2c8
Place for sret promotion tests.
...
llvm-svn: 48016
2008-03-07 20:00:15 +00:00
Andrew Lenharth
3f13b6630a
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
...
llvm-svn: 48015
2008-03-07 19:51:57 +00:00
Gordon Henriksen
a49d435b27
Cleanup some comments in the OCaml bindings.
...
Patch by Erick Tryzelaar.
llvm-svn: 48014
2008-03-07 19:13:06 +00:00
Gordon Henriksen
67b619609c
Fix a typo. 'make clean' in bindings/ocaml would leave an output.
...
llvm-svn: 48012
2008-03-07 18:43:51 +00:00
Anton Korobeynikov
e8a3e74b6c
Clarify some important bits
...
llvm-svn: 48010
2008-03-07 18:34:50 +00:00
Anton Korobeynikov
0074ea3ae7
Small cleanup: propagate thread-localness via generic routine.
...
No functionality change.
llvm-svn: 48009
2008-03-07 18:32:18 +00:00
Gordon Henriksen
53aaaaff16
Regenerate.
...
llvm-svn: 48008
2008-03-07 18:20:01 +00:00
Gordon Henriksen
eb967e37f2
Prefer to use ocamlc.opt to ocamlc and soforth.
...
These natively compiled versions are faster.
Patch by Erick Tryzelaar!
llvm-svn: 48007
2008-03-07 18:19:47 +00:00
Chris Lattner
d4defb00df
mark frem as expand for all legal fp types on x86, regardless of whether
...
we're using SSE or not. This fixes PR2122.
llvm-svn: 48006
2008-03-07 06:36:32 +00:00
Bill Wendling
92e52c636f
Add testcase.
...
llvm-svn: 48005
2008-03-06 23:34:22 +00:00
Bill Wendling
55bfd8c3f7
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.
llvm-svn: 48003
2008-03-06 23:22:43 +00:00
Evan Cheng
34173f0a43
80 col violation.
...
llvm-svn: 47998
2008-03-06 17:42:34 +00:00
Gabor Greif
636ab19205
some more spelling changes
...
llvm-svn: 47996
2008-03-06 10:51:21 +00:00
Gabor Greif
ad19df0687
fix typos
...
llvm-svn: 47994
2008-03-06 10:36:00 +00:00
Evan Cheng
a3cb090446
Constant fold SIGN_EXTEND_INREG with ashr not lshr.
...
llvm-svn: 47992
2008-03-06 08:20:51 +00:00
Nick Lewycky
b2e3c31587
Exercise the new CFG change.
...
llvm-svn: 47990
2008-03-06 06:55:58 +00:00
Nick Lewycky
19b0df202e
Treat BBs that use BBs as proper predecessors and successors in the CFG.
...
llvm-svn: 47989
2008-03-06 06:54:53 +00:00
Nick Lewycky
3e2d7c9f85
Commit the testcase too.
...
llvm-svn: 47988
2008-03-06 06:50:03 +00:00
Nick Lewycky
d0b62a1552
Don't try to simplify urem and srem using arithmetic rules that don't work
...
under modulo (overflow). Fixes PR1933.
llvm-svn: 47987
2008-03-06 06:48:30 +00:00
Scott Michel
e9b690b7f1
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.)
llvm-svn: 47985
2008-03-06 04:02:54 +00:00
Andrew Lenharth
dcabdb1b38
gcc likes things spelled correctly
...
llvm-svn: 47981
2008-03-05 23:41:37 +00:00
Devang Patel
26cabc447c
Skip, for now, callsites where use of sret argument is not dominated by callsite.
...
llvm-svn: 47980
2008-03-05 23:39:23 +00:00
Dale Johannesen
0d235052d1
Next bit of PPC ByVal handling; call-site code seems
...
correct now.
llvm-svn: 47978
2008-03-05 23:31:27 +00:00
Anton Korobeynikov
2609888f29
Missed patch from my last commit
...
llvm-svn: 47977
2008-03-05 23:21:39 +00:00
Anton Korobeynikov
e43711d392
Resolve aliases to aliasees, where possible
...
llvm-svn: 47975
2008-03-05 23:08:47 +00:00
Anton Korobeynikov
24f65c3ab7
Handle functions as targets during linking of aliases as well
...
llvm-svn: 47974
2008-03-05 23:08:16 +00:00
Scott Michel
42f56b4838
- 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.
llvm-svn: 47973
2008-03-05 23:02:02 +00:00
Scott Michel
48072bf179
- 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
llvm-svn: 47972
2008-03-05 23:00:19 +00:00
Steve Naroff
1c703ef97f
Update vcproj file.
...
llvm-svn: 47969
2008-03-05 22:30:39 +00:00
Anton Korobeynikov
dac5fa94ef
Try hard to link aliases. Checks can be too strict by now.
...
llvm-svn: 47968
2008-03-05 22:22:46 +00:00
Evan Cheng
29b502e0e0
Fix a coalescer bug wrt how dead copy interval is shortened.
...
llvm-svn: 47966
2008-03-05 22:09:42 +00:00
Devang Patel
3b1c95f885
Handle 'ret' with multiple values.
...
llvm-svn: 47965
2008-03-05 21:50:24 +00:00
Andrew Lenharth
7fbece5d8a
test for something more interesting than not crashing
...
llvm-svn: 47962
2008-03-05 20:24:26 +00:00
Andrew Lenharth
04bd14db4d
sync ops on ptrs, was breaking libgomp
...
llvm-svn: 47960
2008-03-05 19:48:27 +00:00
Daniel Berlin
c3d98074a9
Add Hybrid Cycle Detection to Andersen's analysis.
...
Patch by Curtis Dunham.
llvm-svn: 47959
2008-03-05 19:31:47 +00:00
Dale Johannesen
8ee39c61f2
Clarify that CALLSEQ_START..END may not be nested,
...
and add some protection against creating such.
llvm-svn: 47957
2008-03-05 19:14:03 +00:00
Scott Michel
944207423b
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.
llvm-svn: 47950
2008-03-05 17:49:05 +00:00
Chris Lattner
7c08a01698
evan implemented this.
...
llvm-svn: 47948
2008-03-05 17:11:51 +00:00
Anton Korobeynikov
6be42d2e23
Fix test not to emit junk into source directory
...
llvm-svn: 47947
2008-03-05 15:44:25 +00:00
Anton Korobeynikov
f8e03a9b3b
Testcase for PR2054
...
llvm-svn: 47946
2008-03-05 15:43:58 +00:00
Anton Korobeynikov
2e13597f9d
Remember the source->dest mapping when copying aliases. This fixes PR2054
...
llvm-svn: 47945
2008-03-05 15:27:21 +00:00
Anton Korobeynikov
12cee7195f
Clarify the state-of-the-art
...
llvm-svn: 47944
2008-03-05 15:11:00 +00:00
Bill Wendling
5ddd03d88b
Use AC_PATH_PROG correctly:
...
http://www.gnu.org/software/autoconf/manual/autoconf.html#Generic-Programs
llvm-svn: 47943
2008-03-05 09:28:02 +00:00
Evan Cheng
3ea44e4ee9
isTwoAddress = 1 -> Constraints.
...
llvm-svn: 47941
2008-03-05 08:19:16 +00:00
Evan Cheng
6ec7dc6bea
PSLLWri etc. are two-address instructions.
...
llvm-svn: 47940
2008-03-05 08:11:27 +00:00
Chris Lattner
2acd0c25f6
add a note
...
llvm-svn: 47939
2008-03-05 07:22:39 +00:00
Chris Lattner
78e9cab229
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.
llvm-svn: 47938
2008-03-05 06:48:13 +00:00
Chris Lattner
3dc3899007
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.
llvm-svn: 47937
2008-03-05 06:46:58 +00:00
Evan Cheng
3bd59641ac
Ignore debugging related instructions if they get this far.
...
llvm-svn: 47934
2008-03-05 02:34:36 +00:00
Evan Cheng
801bfb2cf7
Rather than asserting. Dump out the MI that we are not able to encode and abort.
...
llvm-svn: 47933
2008-03-05 02:08:03 +00:00
Dan Gohman
da7897c4e1
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.
llvm-svn: 47932
2008-03-05 02:07:31 +00:00
Evan Cheng
0a62cb44ce
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.
llvm-svn: 47931
2008-03-05 01:30:59 +00:00
Andrew Lenharth
357061a74d
64bit CAS on 32bit x86.
...
llvm-svn: 47929
2008-03-05 01:15:49 +00:00
Dan Gohman
d9d874b0cd
Codegen support for i128 SINT_TO_FP.
...
llvm-svn: 47928
2008-03-05 01:08:17 +00:00
Evan Cheng
6325446666
Refactor code. Remove duplicated functions that basically do the same thing as
...
findRegisterUseOperandIdx, findRegisterDefOperandIndx. Fix some naming inconsistencies.
llvm-svn: 47927
2008-03-05 00:59:57 +00:00
Devang Patel
e516aa1127
Skip functions that return multiple values.
...
llvm-svn: 47924
2008-03-05 00:36:59 +00:00
Devang Patel
b3ca38c1d5
Check struct return type first.
...
llvm-svn: 47922
2008-03-05 00:27:05 +00:00
Bill Wendling
3fcd946c26
Removed spurious EnablePPCRS check.
...
llvm-svn: 47918
2008-03-04 23:27:33 +00:00
Dale Johannesen
85d41a1c44
Move PPC lowering functions into PPCTargetLowering
...
class (cosmetic). First piece of byval implementation;
this doesn't work yet. No functional change.
llvm-svn: 47917
2008-03-04 23:17:14 +00:00
Bill Wendling
09de8e494e
Use -enable-ppc-regscavenger flag for these checks
...
llvm-svn: 47916
2008-03-04 23:16:26 +00:00
Bill Wendling
1af20ad336
Use a command-line option to turn register scavenging on/off for PPC.
...
llvm-svn: 47915
2008-03-04 23:13:51 +00:00
Devang Patel
ce556d908b
Print types for all ret operands.
...
llvm-svn: 47911
2008-03-04 22:05:14 +00:00
Devang Patel
4566d885dd
Use while loop.
...
llvm-svn: 47909
2008-03-04 21:59:49 +00:00
Devang Patel
b2fae1d13f
Revert SmallVector ctor variants.
...
llvm-svn: 47908
2008-03-04 21:54:56 +00:00
Devang Patel
941ab37ea8
Use cast instead of dyn_cast.
...
Update test to use multiple return value directly, instead of relying on -sretpromotion.
llvm-svn: 47907
2008-03-04 21:45:28 +00:00
Devang Patel
ea4cb89d34
Filter nested structs
...
llvm-svn: 47906
2008-03-04 21:32:09 +00:00
Devang Patel
841322b32a
Handle multiple return values.
...
llvm-svn: 47904
2008-03-04 21:15:15 +00:00
Andrew Lenharth
4fee9f35b5
x86-64 atomics
...
llvm-svn: 47903
2008-03-04 21:13:33 +00:00
Anton Korobeynikov
28179f764c
Properly populate lists of defined/undefined symbols in presence of aliases
...
llvm-svn: 47900
2008-03-04 20:16:11 +00:00
Anton Korobeynikov
d72ade3b3b
Add alias with non-external aliasee to the list of exported symbols of the library.
...
llvm-svn: 47899
2008-03-04 20:15:35 +00:00
Devang Patel
297ea0de75
Use appropriate index to get the result value.
...
llvm-svn: 47897
2008-03-04 19:22:54 +00:00
Devang Patel
748c77f530
Skip sret attribute while preparing attribute list for
...
new function and new call sites.
llvm-svn: 47896
2008-03-04 19:12:58 +00:00
Devang Patel
5dc63480db
Add FunctionType ctor variant that takes SmallVector params.
...
llvm-svn: 47895
2008-03-04 18:57:05 +00:00
Devang Patel
ed6e4b0b7d
Increment counter that keeps track of total number of sret promoted.
...
llvm-svn: 47892
2008-03-04 17:48:11 +00:00
Devang Patel
6bb36e686d
Skip declarations.
...
llvm-svn: 47890
2008-03-04 17:47:06 +00:00
Devang Patel
5b69f3fa33
Process externally visible functions also. Later on code generator will do the right thing.
...
llvm-svn: 47889
2008-03-04 17:46:26 +00:00
Devang Patel
ecce5af83d
Collect statistics.
...
llvm-svn: 47888
2008-03-04 17:44:37 +00:00
Gordon Henriksen
099278e8f5
Fix a typo noticed by Erick Tryzelaar,
...
llvm-svn: 47886
2008-03-04 14:52:05 +00:00
Roman Levenstein
c62c2bb4d0
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.
llvm-svn: 47884
2008-03-04 11:19:43 +00:00
Evan Cheng
38caf77419
Refactor ExpandConstantFP so it can optimize load from constpool of types larger than f64 into extload from smaller types.
...
llvm-svn: 47883
2008-03-04 08:05:30 +00:00
Evan Cheng
16e2cf6db1
Really fix the test.
...
llvm-svn: 47882
2008-03-04 08:01:56 +00:00
Evan Cheng
7473c74d52
Fix broken test.
...
llvm-svn: 47881
2008-03-04 07:59:13 +00:00
Evan Cheng
59d58ab8c4
80 column violations.
...
llvm-svn: 47878
2008-03-04 03:20:06 +00:00
Evan Cheng
b9bd5a879d
Fix 80 column violations.
...
llvm-svn: 47877
2008-03-04 03:19:19 +00:00
Bill Wendling
2ae707888b
Did I say 'e = getNumOperands()'? I meant --e, of course.
...
llvm-svn: 47875
2008-03-04 00:48:15 +00:00
Evan Cheng
62240d65fd
Add PR1501 test case.
...
llvm-svn: 47874
2008-03-04 00:47:45 +00:00
Evan Cheng
567d2e5b57
Rename isOperand() to isOperandOf() (and other similar methods). It always confuses me.
...
llvm-svn: 47872
2008-03-04 00:41:45 +00:00
Evan Cheng
33ff36321e
Remove -always-fold-and-in-test.
...
llvm-svn: 47871
2008-03-04 00:40:35 +00:00
Bill Wendling
0e541ea730
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.
llvm-svn: 47870
2008-03-03 23:57:28 +00:00
Dan Gohman
e1c4f99549
Misc. APInt-ification in the DAGCombiner.
...
llvm-svn: 47869
2008-03-03 23:51:38 +00:00
Dan Gohman
10f34077f1
More APInt-ification.
...
llvm-svn: 47868
2008-03-03 23:35:36 +00:00
Dan Gohman
0e238dc813
Yet more APInt-ification.
...
llvm-svn: 47867
2008-03-03 22:37:52 +00:00
Dan Gohman
2fa65b7997
More APInt-ification.
...
llvm-svn: 47866
2008-03-03 22:22:56 +00:00
Dan Gohman
a986eea82f
Add support for lowering i64 SRA_PARTS and friends on x86-64.
...
llvm-svn: 47865
2008-03-03 22:22:09 +00:00
Dan Gohman
f2bbfa3ba0
More APInt-ification.
...
llvm-svn: 47864
2008-03-03 22:20:46 +00:00
Bill Wendling
632ea65072
This is the initial check-in for adding register scavenging to PPC. (Currently,
...
PPC-64 doesn't work.) This also lowers the spilling of the CR registers so that
it uses a register other than the default R0 register (the scavenger scrounges
for one). A significant part of this patch fixes how kill information is
handled.
llvm-svn: 47863
2008-03-03 22:19:16 +00:00
Bill Wendling
7921ad0d67
Go through the machine instruction's operands to make sure that we're not
...
marking both a super- and sub-register as "killed". This removes implicit uses
that are marked as "killed".
llvm-svn: 47862
2008-03-03 22:14:33 +00:00
Bill Wendling
528083bc28
Make the register scavenger update the bookkeeping values for sub/super
...
registers.
llvm-svn: 47861
2008-03-03 22:12:25 +00:00
Bill Wendling
4836d58f89
Multiple instructions can be inserted when eliminating frame indexes. We need
...
the register scavenger to process all of those new instructions instead of just
the last one inserted.
llvm-svn: 47860
2008-03-03 22:11:16 +00:00
Chris Lattner
be750abfd4
new testcase
...
llvm-svn: 47858
2008-03-03 21:59:00 +00:00
Devang Patel
9d91785987
s/isReturnStruct()/hasStructRetAttr()/g
...
llvm-svn: 47857
2008-03-03 21:46:28 +00:00
Devang Patel
83558f9f46
regenerate.
...
llvm-svn: 47849
2008-03-03 18:58:47 +00:00
Devang Patel
c6b56c79aa
If a function uses multive values in ret instruction then it
...
is returning a struct value.
llvm-svn: 47848
2008-03-03 18:58:16 +00:00
Devang Patel
b0faf89133
Preserve paramater attributes.
...
llvm-svn: 47847
2008-03-03 18:36:03 +00:00
Tanya Lattner
46be50c668
Renable lto2 build.
...
llvm-svn: 47845
2008-03-03 17:32:40 +00:00
Chris Lattner
e209be4985
Stub out a Path::GetMainExecutable call to find the path to the
...
main executable of a program. This needs to be implemented on windows.
llvm-svn: 47835
2008-03-03 02:55:43 +00:00
Chris Lattner
d51372aa96
another random note
...
llvm-svn: 47831
2008-03-02 19:29:42 +00:00
Chris Lattner
6b0a189225
add a note
...
llvm-svn: 47830
2008-03-02 19:27:34 +00:00
Chris Lattner
a70df9e2ee
Evan implemented these.
...
llvm-svn: 47828
2008-03-02 18:05:14 +00:00
Chris Lattner
bd0bb3f07f
Evan implemented this.
...
llvm-svn: 47827
2008-03-02 17:56:29 +00:00
Chris Lattner
a8b5ed8d3a
add a testcase for misc vector stuff
...
llvm-svn: 47826
2008-03-02 08:57:59 +00:00
Chris Lattner
c93b48caeb
add support for lvsl, fixing PR1481
...
llvm-svn: 47825
2008-03-02 08:54:27 +00:00
Chris Lattner
8fb4c98284
add support for the sse.cmp.* intrinsics, which fixes sse.isamax with the CBE.
...
llvm-svn: 47824
2008-03-02 08:47:13 +00:00
Chris Lattner
9044719798
refactor intrinsic handling code out into its own method.
...
llvm-svn: 47823
2008-03-02 08:29:41 +00:00
Chris Lattner
2541f1dac6
fix printing of undef vectors, this fixes "simple" and "build" in UnitTests/Vector.
...
Now they all pass.
llvm-svn: 47820
2008-03-02 08:14:45 +00:00
Chris Lattner
4c058b39e4
insertelement got the wrong operands.
...
llvm-svn: 47819
2008-03-02 08:10:16 +00:00
Chris Lattner
051709436e
Several changes:
...
* Simplify handling of byval, making it easier to understand and more
consistent. This fixes PR2065.
* Clean up and simplify handling of GEPs. I can actually understand it now!
* Implement support for GEP'ing into vectors, this fixes
SingleSource/UnitTests/Vector/build2 among others.
llvm-svn: 47818
2008-03-02 08:07:24 +00:00
Nick Kledzik
e8338e52ed
suppress extra -install_name on Tiger. The 10.4 tools don't support it. Fix whitespace.
...
llvm-svn: 47817
2008-03-02 06:33:06 +00:00
Chris Lattner
9140fba6ad
Fix a bug I introduced in constant array and constant vector handling.
...
llvm-svn: 47816
2008-03-02 05:46:57 +00:00
Chris Lattner
7295bc15a0
implement shufflevector.
...
llvm-svn: 47815
2008-03-02 05:41:07 +00:00
Chris Lattner
bf6acfb71d
make operand accessors const-correct
...
llvm-svn: 47814
2008-03-02 05:32:05 +00:00
Chris Lattner
f724e34ddc
Add a new ShuffleVectorInst::getMaskValue method.
...
llvm-svn: 47813
2008-03-02 05:28:33 +00:00
Chris Lattner
689d830b6d
implement extractelement.
...
llvm-svn: 47812
2008-03-02 03:57:08 +00:00
Chris Lattner
d9cc003b0d
implement insertelement.
...
llvm-svn: 47811
2008-03-02 03:52:39 +00:00
Chris Lattner
92d929c21d
respect isSigned for vector types, fixing sdiv of vectors etc.
...
llvm-svn: 47810
2008-03-02 03:41:23 +00:00
Chris Lattner
fe1083be61
print the attribute in the right place, this fixes function returning vectors.
...
llvm-svn: 47809
2008-03-02 03:39:43 +00:00
Nick Lewycky
8bbec39262
Oops, can't unwind to the entry block (entry block may have no preds).
...
llvm-svn: 47808
2008-03-02 03:34:55 +00:00
Chris Lattner
d861066d15
vector types are simple types. This fixes div/rem of vectors.
...
llvm-svn: 47807
2008-03-02 03:33:31 +00:00