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
Dan Gohman [Mon, 3 Mar 2008 22:20:46 +0000 (22:20 +0000)]
More APInt-ification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47864
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 3 Mar 2008 22:19:16 +0000 (22:19 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47863
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 3 Mar 2008 22:14:33 +0000 (22:14 +0000)]
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".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47862
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 3 Mar 2008 22:12:25 +0000 (22:12 +0000)]
Make the register scavenger update the bookkeeping values for sub/super
registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47861
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 3 Mar 2008 22:11:16 +0000 (22:11 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47860
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 3 Mar 2008 21:59:00 +0000 (21:59 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47858
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 3 Mar 2008 21:46:28 +0000 (21:46 +0000)]
s/isReturnStruct()/hasStructRetAttr()/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47857
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 3 Mar 2008 18:58:47 +0000 (18:58 +0000)]
regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47849
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 3 Mar 2008 18:58:16 +0000 (18:58 +0000)]
If a function uses multive values in ret instruction then it
is returning a struct value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47848
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 3 Mar 2008 18:36:03 +0000 (18:36 +0000)]
Preserve paramater attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47847
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Mon, 3 Mar 2008 17:32:40 +0000 (17:32 +0000)]
Renable lto2 build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47845
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 3 Mar 2008 02:55:43 +0000 (02:55 +0000)]
Stub out a Path::GetMainExecutable call to find the path to the
main executable of a program. This needs to be implemented on windows.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47835
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 19:29:42 +0000 (19:29 +0000)]
another random note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47831
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 19:27:34 +0000 (19:27 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47830
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 18:05:14 +0000 (18:05 +0000)]
Evan implemented these.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47828
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 17:56:29 +0000 (17:56 +0000)]
Evan implemented this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47827
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 08:57:59 +0000 (08:57 +0000)]
add a testcase for misc vector stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47826
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 08:54:27 +0000 (08:54 +0000)]
add support for lvsl, fixing PR1481
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47825
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 08:47:13 +0000 (08:47 +0000)]
add support for the sse.cmp.* intrinsics, which fixes sse.isamax with the CBE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47824
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 08:29:41 +0000 (08:29 +0000)]
refactor intrinsic handling code out into its own method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47823
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 08:14:45 +0000 (08:14 +0000)]
fix printing of undef vectors, this fixes "simple" and "build" in UnitTests/Vector.
Now they all pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47820
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 08:10:16 +0000 (08:10 +0000)]
insertelement got the wrong operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47819
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 08:07:24 +0000 (08:07 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47818
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Kledzik [Sun, 2 Mar 2008 06:33:06 +0000 (06:33 +0000)]
suppress extra -install_name on Tiger. The 10.4 tools don't support it. Fix whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47817
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 05:46:57 +0000 (05:46 +0000)]
Fix a bug I introduced in constant array and constant vector handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47816
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 05:41:07 +0000 (05:41 +0000)]
implement shufflevector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47815
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 05:32:05 +0000 (05:32 +0000)]
make operand accessors const-correct
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47814
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 05:28:33 +0000 (05:28 +0000)]
Add a new ShuffleVectorInst::getMaskValue method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47813
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 03:57:08 +0000 (03:57 +0000)]
implement extractelement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47812
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 03:52:39 +0000 (03:52 +0000)]
implement insertelement.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47811
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 03:41:23 +0000 (03:41 +0000)]
respect isSigned for vector types, fixing sdiv of vectors etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47810
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 03:39:43 +0000 (03:39 +0000)]
print the attribute in the right place, this fixes function returning vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47809
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sun, 2 Mar 2008 03:34:55 +0000 (03:34 +0000)]
Oops, can't unwind to the entry block (entry block may have no preds).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47808
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 03:33:31 +0000 (03:33 +0000)]
vector types are simple types. This fixes div/rem of vectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47807
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 03:29:50 +0000 (03:29 +0000)]
Print vector types appropriately. This gets basic vector code working
(PR1126)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47806
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 03:18:46 +0000 (03:18 +0000)]
rename PT -> VT for VectorTypes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47805
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 03:16:38 +0000 (03:16 +0000)]
Print i32/i64 integer constants as 1u instead of ((unsigned int)1).
Use dyn_cast better.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47804
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 2 Mar 2008 02:51:40 +0000 (02:51 +0000)]
Move pr717 to here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47803
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sun, 2 Mar 2008 02:48:09 +0000 (02:48 +0000)]
Add an unwind_to field to basic blocks, making them Users instead of Values.
This is the first checkin for PR1269, the new EH infrastructure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47802
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sat, 1 Mar 2008 23:18:21 +0000 (23:18 +0000)]
good catch anton
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47800
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sat, 1 Mar 2008 22:27:48 +0000 (22:27 +0000)]
make CAS work
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47799
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sat, 1 Mar 2008 21:52:34 +0000 (21:52 +0000)]
all but CAS working on x86
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47798
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 1 Mar 2008 21:47:06 +0000 (21:47 +0000)]
Also handle "getresult".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47797
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 1 Mar 2008 17:20:55 +0000 (17:20 +0000)]
Print the name, not a pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47796
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Sat, 1 Mar 2008 13:37:02 +0000 (13:37 +0000)]
Add lock prefix support to x86. Also add the instructions necessary for the atomic ops. They are still marked pseudo, since I cannot figure out what format to use, but they are the correct opcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47795
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Sat, 1 Mar 2008 09:15:35 +0000 (09:15 +0000)]
Remove llvm-upgrade and update test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47793
91177308-0d34-0410-b5e6-
96231b3b80d8