1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
Commit Graph

37271 Commits

Author SHA1 Message Date
Chris Lattner
78f255dca8 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
96469b446d implement shufflevector.
llvm-svn: 47815
2008-03-02 05:41:07 +00:00
Chris Lattner
d1fc75add0 make operand accessors const-correct
llvm-svn: 47814
2008-03-02 05:32:05 +00:00
Chris Lattner
ffde7a642a Add a new ShuffleVectorInst::getMaskValue method.
llvm-svn: 47813
2008-03-02 05:28:33 +00:00
Chris Lattner
18c26f3dad implement extractelement.
llvm-svn: 47812
2008-03-02 03:57:08 +00:00
Chris Lattner
72e898e589 implement insertelement.
llvm-svn: 47811
2008-03-02 03:52:39 +00:00
Chris Lattner
85243c2223 respect isSigned for vector types, fixing sdiv of vectors etc.
llvm-svn: 47810
2008-03-02 03:41:23 +00:00
Chris Lattner
980424b55c 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
07b03b3119 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
112819e1e6 vector types are simple types. This fixes div/rem of vectors.
llvm-svn: 47807
2008-03-02 03:33:31 +00:00
Chris Lattner
8eddd5055d Print vector types appropriately. This gets basic vector code working
(PR1126)

llvm-svn: 47806
2008-03-02 03:29:50 +00:00
Chris Lattner
c5f37fc11d rename PT -> VT for VectorTypes.
llvm-svn: 47805
2008-03-02 03:18:46 +00:00
Chris Lattner
a70385185e Print i32/i64 integer constants as 1u instead of ((unsigned int)1).
Use dyn_cast better.

llvm-svn: 47804
2008-03-02 03:16:38 +00:00
Chris Lattner
38a684c0c9 Move pr717 to here.
llvm-svn: 47803
2008-03-02 02:51:40 +00:00
Nick Lewycky
b02fe64d8b 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.

llvm-svn: 47802
2008-03-02 02:48:09 +00:00
Andrew Lenharth
ba7f925582 good catch anton
llvm-svn: 47800
2008-03-01 23:18:21 +00:00
Andrew Lenharth
f6c220738c make CAS work
llvm-svn: 47799
2008-03-01 22:27:48 +00:00
Andrew Lenharth
b91c664226 all but CAS working on x86
llvm-svn: 47798
2008-03-01 21:52:34 +00:00
Nick Lewycky
03545e3023 Also handle "getresult".
llvm-svn: 47797
2008-03-01 21:47:06 +00:00
Nick Lewycky
c0b361a17c Print the name, not a pointer.
llvm-svn: 47796
2008-03-01 17:20:55 +00:00
Andrew Lenharth
ad29a49169 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.
llvm-svn: 47795
2008-03-01 13:37:02 +00:00
Tanya Lattner
c072619922 Remove llvm-upgrade and update test cases.
llvm-svn: 47793
2008-03-01 09:15:35 +00:00
Chris Lattner
64e101b2d9 Fix PR2113 by verifying allocations.
llvm-svn: 47792
2008-03-01 09:01:57 +00:00
Chris Lattner
2611fe98b7 Fix this test.
llvm-svn: 47791
2008-03-01 09:00:21 +00:00
Chris Lattner
1e21cae4cd allow specified inline threshold to be negative, as the value is
itself sometimes negative.

llvm-svn: 47786
2008-03-01 08:09:51 +00:00
Tanya Lattner
726c082fd5 Remove llvm-upgrade and update tests.
llvm-svn: 47784
2008-03-01 07:38:40 +00:00
Tanya Lattner
4a827adc09 Disable lto because its broken on tiger.
llvm-svn: 47783
2008-03-01 07:36:30 +00:00
Dale Johannesen
cfd005f2ea Add MVT::is128BitVector and is64BitVector. Shrink
unaligned load/store code using them.  Per review
of unaligned load/store vector patch.

llvm-svn: 47782
2008-03-01 03:40:57 +00:00
Evan Cheng
1ce9ac19d3 Refactor / clean up code; remove td list scheduler special tie breaker (no real benefit).
llvm-svn: 47779
2008-03-01 00:39:47 +00:00
Devang Patel
79236a7c7a Fix cut-n-pasto.
llvm-svn: 47777
2008-02-29 23:41:13 +00:00
Devang Patel
cb72d92471 Add pass to promote sret.
This pass transforms 

  %struct._Point = type { i32, i32, i32, i32, i32, i32 }
  define internal void @foo(%struct._Point* sret  %agg.result)

into

  %struct._Point = type { i32, i32, i32, i32, i32, i32 }
  define internal %struct._Point @foo()

This pass updates foo() clients appropriately to use
getresult instruction to extract return values.

This pass is not yet ready for prime time.

llvm-svn: 47776
2008-02-29 23:34:08 +00:00
Anton Korobeynikov
875da2420a Use enumeration for preffered EH dwarf encoding reason
llvm-svn: 47770
2008-02-29 22:09:08 +00:00
Evan Cheng
5beb036eab Don't fill eh frames even though these are text sections.
llvm-svn: 47765
2008-02-29 19:36:59 +00:00
Nick Kledzik
599e922abd update to document new lto API
llvm-svn: 47764
2008-02-29 19:34:52 +00:00
Nick Kledzik
4d9197c9b6 install new lto dylib. pass down LLVM_SUBMIT_VERSION
llvm-svn: 47763
2008-02-29 19:32:13 +00:00
Nick Kledzik
ed226606ae stop building lto on all platforms. Start building lto2 on Darwin
llvm-svn: 47762
2008-02-29 19:31:29 +00:00
Nick Kledzik
03a1d4f4d7 fix default RC_ProjectSourceSubversion to be zero
llvm-svn: 47761
2008-02-29 19:30:23 +00:00
Bill Wendling
246237f14f DCE'ed this testcase.
llvm-svn: 47760
2008-02-29 19:28:11 +00:00
Bill Wendling
d0f85a5ca3 If we reload a virtual register that's already been assigned, we want to mark
that instruction as its "last use". This fixes PR1925.

llvm-svn: 47758
2008-02-29 18:52:01 +00:00
Evan Cheng
3fbaf52776 Fix PR2112: don't run loop aligner if target doesn't have a TargetLowering object.
llvm-svn: 47755
2008-02-29 17:52:15 +00:00
Chris Lattner
75f5d14574 fix a bug Anders ran into where scalarrepl would crash when promoting
a union containing a vector and an array whose elements were smaller than
the vector elements.  this means we need to compile the load of the 
array elements into an extract element plus a truncate.

llvm-svn: 47752
2008-02-29 07:12:06 +00:00
Chris Lattner
8f87e409b2 Refactor some code out of ConvertUsesToScalar into their own methods, no
functionality change.

llvm-svn: 47751
2008-02-29 07:03:13 +00:00
Chris Lattner
5aeccb7353 Folding or(fcmp,fcmp) only works if the operands of the fcmps are the same fp type.
llvm-svn: 47750
2008-02-29 06:09:11 +00:00
Evan Cheng
f6d76f2e52 No need for coalescer to update kills. Only copies are coalesced and those instructions will be deleted. Doh.
llvm-svn: 47749
2008-02-29 02:50:03 +00:00
Evan Cheng
65d1b38875 Remove redundant #include.
llvm-svn: 47748
2008-02-29 02:49:15 +00:00
Nick Kledzik
40740d81c1 also pass -compatibility_version when linking shared object for Darwin
llvm-svn: 47747
2008-02-29 02:01:34 +00:00
Dan Gohman
2f3d378bf6 More APInt-ification.
llvm-svn: 47746
2008-02-29 01:47:35 +00:00
Dan Gohman
35d58dcc00 Use the new convertFromAPInt instead of convertFromZeroExtendedInteger,
which allows more of the surrounding arithmetic to be done with APInt
instead of uint64_t.

llvm-svn: 47745
2008-02-29 01:44:25 +00:00
Dan Gohman
3491cd8454 Use the new convertFromAPInt instead of convertFromZeroExtendedInteger.
llvm-svn: 47744
2008-02-29 01:42:52 +00:00
Dan Gohman
43f51f5cb2 Use the new APInt-enabled form of getConstant instead of converting
an APInt into a uint64_t to call getConstant.

llvm-svn: 47742
2008-02-29 01:41:59 +00:00