Neil Booth
7e74b17ad2
Don't attempt to mask no bits
...
llvm-svn: 42909
2007-10-12 15:31:31 +00:00
Dan Gohman
dc35bd79ca
Change the names used for internal labels to use the current
...
function symbol name instead of a codegen-assigned function
number.
Thanks Evan! :-)
llvm-svn: 42908
2007-10-12 14:53:36 +00:00
Dan Gohman
e3583817ac
Fix some corner cases with vectors in copyToRegs and copyFromRegs.
...
llvm-svn: 42907
2007-10-12 14:33:11 +00:00
Dan Gohman
4f056f3c10
Add support to SplitVectorOp for powi, where the second operand
...
is a scalar integer.
llvm-svn: 42906
2007-10-12 14:13:46 +00:00
Dan Gohman
8d978da3b0
Mark vector ctpop, cttz, and ctlz as Expand on x86.
...
llvm-svn: 42905
2007-10-12 14:09:42 +00:00
Dan Gohman
9013eaff9a
Mark vector pow, ctpop, cttz, and ctlz as Expand on PowerPC.
...
llvm-svn: 42904
2007-10-12 14:08:57 +00:00
Evan Cheng
11330f7526
Restrict EXTRACT_SUBREG coalescing to avoid negative performance impact.
...
llvm-svn: 42903
2007-10-12 09:15:53 +00:00
Evan Cheng
f8e28b152a
Doh.
...
llvm-svn: 42901
2007-10-12 09:10:27 +00:00
Evan Cheng
b83a379f4f
EXTRACT_SUBREG test case.
...
llvm-svn: 42900
2007-10-12 09:03:31 +00:00
Evan Cheng
aa2d6ef81d
EXTRACT_SUBREG coalescing support. The coalescer now treats EXTRACT_SUBREG like
...
(almost) a register copy. However, it always coalesced to the register of the
RHS (the super-register). All uses of the result of a EXTRACT_SUBREG are sub-
register uses which adds subtle complications to load folding, spiller rewrite,
etc.
llvm-svn: 42899
2007-10-12 08:50:34 +00:00
Evan Cheng
89d5916921
Some clean up.
...
llvm-svn: 42898
2007-10-12 08:45:27 +00:00
Evan Cheng
6fd54fd19c
Cosmetic.
...
llvm-svn: 42897
2007-10-12 08:40:44 +00:00
Evan Cheng
2e3d609da6
Fix typos.
...
llvm-svn: 42896
2007-10-12 08:39:02 +00:00
Evan Cheng
09c0fe0a7f
Fold load / store into MOV32to32_ and MOV16to16_.
...
llvm-svn: 42895
2007-10-12 08:38:01 +00:00
Evan Cheng
f8c23f074b
Flag MOV32to32_ with EXTRACT_SUBREG. They should not be scheduled apart.
...
llvm-svn: 42894
2007-10-12 07:55:53 +00:00
Arnold Schwaighofer
9653e677d5
Added missing -march=x86 flag.
...
llvm-svn: 42893
2007-10-12 07:49:48 +00:00
Gabor Greif
5d8f7e0cc7
eliminate warning
...
llvm-svn: 42892
2007-10-12 07:44:54 +00:00
Chris Lattner
d8675e4915
Fix some 80 column violations.
...
Fix DecomposeSimpleLinearExpr to handle simple constants better.
Don't nuke gep(bitcast(allocation)) if the bitcast(allocation) will
fold the allocation. This fixes PR1728 and Instcombine/malloc3.ll
llvm-svn: 42891
2007-10-12 05:30:59 +00:00
Chris Lattner
3e99eb25ee
testcase for PR1728
...
llvm-svn: 42890
2007-10-12 05:29:53 +00:00
Chris Lattner
7119397fa1
make operator== work with non-equal sized bitvectors, as long as
...
the extra bits are all zeros. This allows "010" and "010000" to be
treated as equal.
llvm-svn: 42889
2007-10-12 03:48:59 +00:00
Dale Johannesen
05ff9e8cda
PPC long double. Implement a couple more conversions.
...
llvm-svn: 42888
2007-10-12 01:37:08 +00:00
Chris Lattner
3ec1bad331
add comments.
...
llvm-svn: 42887
2007-10-12 00:37:26 +00:00
Ted Kremenek
6a6c08c319
Printf argument checking now supports dynamically-passed precision
...
specifiers.
llvm-svn: 42886
2007-10-12 00:11:27 +00:00
Dan Gohman
be37007e64
Add intrinsics for sin, cos, and pow. These use llvm_anyfloat_ty, and so
...
may be overloaded with vector types. And add a testcase for codegen for
these.
llvm-svn: 42885
2007-10-12 00:01:22 +00:00
Dan Gohman
2a7de41682
Codegen support for vector intrinsics.
...
Factor out the code that expands the "nasty scalar code" for unrolling
vectors into a separate routine, teach it how to handle mixed
vector/scalar operands, as seen in powi, and use it for several operators,
including sin, cos, powi, and pow.
Add support in SplitVectorOp for fpow, fpowi and for several unary
operators.
llvm-svn: 42884
2007-10-11 23:57:53 +00:00
Fariborz Jahanian
49c6425ee6
This patch implementa objective-c's @compatibilty-alias declaration.
...
llvm-svn: 42883
2007-10-11 23:42:27 +00:00
Dale Johannesen
6472eb63c2
Implement ppc long double->uint conversion.
...
Make ppc long double constants print.
llvm-svn: 42882
2007-10-11 23:32:15 +00:00
Dan Gohman
482732af9d
Set ISD::FPOW to Expand.
...
llvm-svn: 42881
2007-10-11 23:21:31 +00:00
Dan Gohman
fd66486950
Add runtime library names for pow.
...
llvm-svn: 42880
2007-10-11 23:09:10 +00:00
Dan Gohman
daee002438
Add an ISD::FPOW node type.
...
llvm-svn: 42879
2007-10-11 23:06:37 +00:00
Dan Gohman
3554448947
Add an explicit target triple to make this test behave as expected on
...
non-Apple hosts. And use the count script instead of wc + grep.
llvm-svn: 42878
2007-10-11 23:04:36 +00:00
Ted Kremenek
3b74526054
Provided accessors to internal allocator for ImutAVLTree and ImmutableSet.
...
Added postfix ++,-- support for ImmutableSet::iterator.
llvm-svn: 42877
2007-10-11 21:51:04 +00:00
Dale Johannesen
62f65edc32
Add missing argument to PALIGNR
...
llvm-svn: 42874
2007-10-11 20:58:37 +00:00
Gabor Greif
cb6832efe0
Fix an assertion abort on sparc. malloc(0) is allowed to
...
return NULL.
llvm-svn: 42871
2007-10-11 19:40:35 +00:00
Arnold Schwaighofer
9ccea99165
Added tail call optimization to the x86 back end. It can be
...
enabled by passing -tailcallopt to llc. The optimization is
performed if the following conditions are satisfied:
* caller/callee are fastcc
* elf/pic is disabled OR
elf/pic enabled + callee is in module + callee has
visibility protected or hidden
llvm-svn: 42870
2007-10-11 19:40:01 +00:00
Arnold Schwaighofer
29cfef59ff
Adding myself
...
llvm-svn: 42869
2007-10-11 18:54:49 +00:00
Chris Lattner
16a0de468f
Push the rewriting APIs along. Build a trivial client that replaces tabs
...
with x's for now. The APIs are all unimplemented, so it doesn't do
anything yet! :)
llvm-svn: 42868
2007-10-11 18:38:32 +00:00
Fariborz Jahanian
d797113659
Implemented parsing of objctive-c protocol conforming type used in
...
an identifier statement. Fixed up pretty priting to print this type
correctly.
llvm-svn: 42866
2007-10-11 18:08:47 +00:00
Dale Johannesen
007aa378ad
Next PPC long double bits. First cut at constants.
...
No compile-time support for constant operations yet,
just format transformations. Make readers and
writers work. Split constants into 2 doubles in
Legalize.
llvm-svn: 42865
2007-10-11 18:07:22 +00:00
Devang Patel
899cc56612
Lower memcpy if it makes sense.
...
llvm-svn: 42864
2007-10-11 17:21:57 +00:00
Chris Lattner
168d63b289
add RewriterTest.cpp to xcode project.
...
llvm-svn: 42863
2007-10-11 16:34:20 +00:00
Chris Lattner
e9ab4ca686
clarify
...
llvm-svn: 42862
2007-10-11 16:06:02 +00:00
Chris Lattner
bbd5530754
make bitvector &= do the right thing if vectors have mismatched length.
...
llvm-svn: 42860
2007-10-11 06:12:33 +00:00
Chris Lattner
fc668d1233
Add a new use_iterator::atEnd() method, which allows us to shrink
...
pred_iterator down to a single ivar.
llvm-svn: 42859
2007-10-11 04:18:11 +00:00
Chris Lattner
f709a1495d
slightly simplify interface
...
llvm-svn: 42858
2007-10-11 03:36:41 +00:00
Anders Carlsson
87c149bf51
Add __builtin_va_start to the list of builtins, make __builtin_va_list available to builtin functions.
...
llvm-svn: 42857
2007-10-11 01:00:40 +00:00
Fariborz Jahanian
70e8f1024a
Patch to create protocol conforming class types.
...
llvm-svn: 42856
2007-10-11 00:55:41 +00:00
Chris Lattner
e99c8329af
add scafolding to play around with and bring up the code rewriter.
...
llvm-svn: 42855
2007-10-11 00:43:27 +00:00
Chris Lattner
5039ac74c7
update argument.
...
llvm-svn: 42854
2007-10-11 00:38:03 +00:00
Chris Lattner
3472aeedfd
rename -parse-ast-view to -ast-view
...
llvm-svn: 42853
2007-10-11 00:37:43 +00:00