Owen Anderson
634c506ed4
Update Makefile to use simpler llvm-config parameters.
...
llvm-svn: 43291
2007-10-24 16:04:08 +00:00
Chris Lattner
348195148a
switch some calls to SelectionDAG::getTargetNode to use
...
the one that takes an operand list instead of explicit
operands. There is one left though, the more interesting
one :)
llvm-svn: 43290
2007-10-24 06:25:09 +00:00
Chris Lattner
483c471daa
Implement a couple of foldings for ordered and unordered comparisons,
...
implementing cases related to PR1738.
llvm-svn: 43289
2007-10-24 05:38:08 +00:00
Chris Lattner
5147698e3a
further simplify run options, thanks to gordonh for pointing this out
...
llvm-svn: 43288
2007-10-24 05:09:48 +00:00
Chris Lattner
8ed1bd441f
Fix instructions now that PR1739 is fixed.
...
llvm-svn: 43287
2007-10-24 04:37:23 +00:00
Chris Lattner
e8582ca387
Fix PR1739.
...
llvm-svn: 43286
2007-10-24 04:35:54 +00:00
Hartmut Kaiser
cfe18b4f45
Added VC++ solution file allowing to build clang.
...
llvm-svn: 43279
2007-10-24 00:13:40 +00:00
Hartmut Kaiser
b72a8fcf9c
Silenced a VC++ warning.
...
llvm-svn: 43276
2007-10-24 00:06:31 +00:00
Hartmut Kaiser
f34d49fed7
Updated VC++ build system
...
llvm-svn: 43275
2007-10-23 23:57:01 +00:00
Bill Wendling
e5f534148e
Fix comment and use the "Size" variable that's already provided.
...
llvm-svn: 43271
2007-10-23 23:36:57 +00:00
Bill Wendling
a420d660c8
If there's an unaligned memcpy to/from the stack, don't lower it. Just call the
...
memcpy library function instead.
llvm-svn: 43270
2007-10-23 23:32:40 +00:00
Dale Johannesen
94241a8d3a
Disable a couple more things for ppcf128.
...
llvm-svn: 43267
2007-10-23 23:20:14 +00:00
Ted Kremenek
bb85c21ffc
Added "ReadEnum" and "WriteEnum" to serialization classes.
...
llvm-svn: 43265
2007-10-23 22:17:03 +00:00
Bill Wendling
34950e1291
This broke lots. Reverting.
...
llvm-svn: 43264
2007-10-23 22:04:26 +00:00
Owen Anderson
52b33065a4
Make DomTreeBase not a FunctionPass.
...
llvm-svn: 43263
2007-10-23 21:42:49 +00:00
Bill Wendling
34c16a1b2d
Lowering a memcpy to the stack is killing PPC. The ARM and X86 backends already
...
have their own custom memcpy lowering code. This code needs to be factored out
into a target-independent lowering method with hooks to the backend. In the
meantime, just call memcpy if we're trying to copy onto a stack.
llvm-svn: 43262
2007-10-23 21:30:25 +00:00
Ted Kremenek
72fe268f74
Added preliminary implementation of generic object serialization to bitcode.
...
llvm-svn: 43261
2007-10-23 21:29:33 +00:00
Owen Anderson
962303b4ef
Unbreak the build. Forgot to commit this file.
...
llvm-svn: 43260
2007-10-23 21:04:37 +00:00
Owen Anderson
33b9693ab8
Make DomTree and PostDomTree thin wrappers around DomTreeBase, rather than inheriting from it.
...
llvm-svn: 43259
2007-10-23 20:58:37 +00:00
Evan Cheng
5391d0a39d
It's possible to commute instrctions with more than 3 operands.
...
llvm-svn: 43256
2007-10-23 20:14:40 +00:00
Chris Lattner
2cf65be2c4
new testcase
...
llvm-svn: 43252
2007-10-23 18:07:23 +00:00
Chris Lattner
b029483115
llvm/test programs should not be execution programs. This
...
will hopefully fix Gabor's Sparc problem.
llvm-svn: 43251
2007-10-23 17:56:04 +00:00
Evan Cheng
dc2f1b1741
isSubRegOf() is a dup of isSubRegister.
...
llvm-svn: 43249
2007-10-23 06:51:50 +00:00
Evan Cheng
0590c75f18
Temporary solution: added a different set of BCTRL_Macho / BCTRL_ELF with right callee-saved defs set for ppc64.
...
llvm-svn: 43248
2007-10-23 06:42:42 +00:00
Chris Lattner
b2f90b6ae5
Fix validation problems, which were somewhat ironically in the "valid html" button code :)
...
llvm-svn: 43247
2007-10-23 06:30:50 +00:00
Chris Lattner
42ca549605
add a skeleton for part 4
...
llvm-svn: 43246
2007-10-23 06:27:55 +00:00
Chris Lattner
3732406cf1
complete the codegen chapter
...
llvm-svn: 43245
2007-10-23 06:23:57 +00:00
Owen Anderson
1cfa5caa21
Now with valid HTML 4.01!
...
llvm-svn: 43244
2007-10-23 06:22:21 +00:00
Owen Anderson
3c4fe7bcd5
Add a link to the "writing an optimization" tutorial.
...
llvm-svn: 43243
2007-10-23 06:17:39 +00:00
Owen Anderson
3923355119
Add downloadable code sample for tutorial 2.
...
llvm-svn: 43242
2007-10-23 06:05:37 +00:00
Owen Anderson
ba4a0f1787
Add the second of the "basic topics" tutorials.
...
llvm-svn: 43241
2007-10-23 06:03:24 +00:00
Owen Anderson
19620278d3
Reorder the optimization and bitcode tutorials.
...
llvm-svn: 43240
2007-10-23 06:02:14 +00:00
Chris Lattner
a734c6eb3f
Fix up a broken #include, move code to its own section, add conclusions.
...
llvm-svn: 43239
2007-10-23 05:43:01 +00:00
Chris Lattner
e4e5ffbe15
Finish up expr codegen.
...
llvm-svn: 43238
2007-10-23 04:51:30 +00:00
Chris Lattner
0705dd275a
several improvements suggested by Dan, thanks!
...
llvm-svn: 43237
2007-10-23 04:27:44 +00:00
Evan Cheng
252d9ddb4d
Fix memcpy lowering when addresses are 4-byte aligned but size is not multiple of 4.
...
llvm-svn: 43234
2007-10-22 22:11:27 +00:00
Dan Gohman
e223bab494
The #include <iterator> isn't needed in this header.
...
llvm-svn: 43232
2007-10-22 20:44:10 +00:00
Dan Gohman
df1f166e4a
Strength reduction improvements.
...
- Avoid attempting stride-reuse in the case that there are users that
aren't addresses. In that case, there will be places where the
multiplications won't be folded away, so it's better to try to
strength-reduce them.
- Several SSE intrinsics have operands that strength-reduction can
treat as addresses. The previous item makes this more visible, as
any non-address use of an IV can inhibit stride-reuse.
- Make ValidStride aware of whether there's likely to be a base
register in the address computation. This prevents it from thinking
that things like stride 9 are valid on x86 when the base register is
already occupied.
Also, XFAIL the 2007-08-10-LEA16Use32.ll test; the new logic to avoid
stride-reuse elimintes the LEA in the loop, so the test is no longer
testing what it was intended to test.
llvm-svn: 43231
2007-10-22 20:40:42 +00:00
Dan Gohman
76e104c8ad
Fix the folding of multiplication into addresses on x86, which was broken
...
by the recent {U,S}MUL_LOHI changes.
llvm-svn: 43230
2007-10-22 20:22:24 +00:00
Evan Cheng
85eb733eff
Use ptr type in the immediate field of a BxA instruction so we don't end up selecting 32-bit call instruction for ppc64.
...
llvm-svn: 43228
2007-10-22 19:46:19 +00:00
Evan Cheng
fdd01c99f2
Add missing paratheses.
...
llvm-svn: 43227
2007-10-22 19:42:28 +00:00
Chris Lattner
b32af54827
add a 'don't use me' marker.
...
llvm-svn: 43226
2007-10-22 19:41:46 +00:00
Duncan Sands
b47c73b341
Support for expanding extending loads of integers with
...
funky bit-widths.
llvm-svn: 43225
2007-10-22 19:00:05 +00:00
Dan Gohman
68fc6d7395
Move the SCEV object factors from being static members of the individual
...
SCEV subclasses to being non-static member functions of the ScalarEvolution
class.
llvm-svn: 43224
2007-10-22 18:31:58 +00:00
Duncan Sands
4df76bb946
Fix up the logic for result expanding the various extension
...
operations so they work right for integers with funky
bit-widths. For example, consider extending i48 to i64
on a 32 bit machine. The i64 result is expanded to 2 x i32.
We know that the i48 operand will be promoted to i64, then
also expanded to 2 x i32. If we had the expanded promoted
operand to hand, then expanding the result would be trivial.
Unfortunately at this stage we can only get hold of the
promoted operand. So instead we kind of hand-expand, doing
explicit shifting and truncating to get the top and bottom
halves of the i64 operand into 2 x i32, which are then used
to expand the result. This is harmless, because when the
promoted operand is finally expanded all this bit fiddling
turns into trivial operations which are eliminated either
by the expansion code itself or the DAG combiner.
llvm-svn: 43223
2007-10-22 18:26:21 +00:00
Chris Lattner
ba810365f8
fit in 80 cols :)
...
llvm-svn: 43222
2007-10-22 16:44:31 +00:00
Chris Lattner
20c58b6f19
start of chapter 3
...
llvm-svn: 43221
2007-10-22 07:01:42 +00:00
Owen Anderson
4774dea928
Fix a few typos I noticed.
...
llvm-svn: 43220
2007-10-22 06:48:28 +00:00
Owen Anderson
3b5c6a83a5
Add downloadable code samples.
...
llvm-svn: 43219
2007-10-22 06:35:07 +00:00
Chris Lattner
18c6e1e961
Check in part 2: parser and ast.
...
llvm-svn: 43218
2007-10-22 06:34:15 +00:00