Dan Gohman
b7435b1c03
Fix whitespace in a comment.
...
llvm-svn: 57605
2008-10-15 22:55:03 +00:00
Duncan Sands
9014e7b0dd
Testcase for PR2894.
...
llvm-svn: 57604
2008-10-15 22:34:34 +00:00
Nicolas Geoffray
db9beb7d40
Remove naming Tilmann for generics.
...
llvm-svn: 57599
2008-10-15 20:25:04 +00:00
Anton Korobeynikov
1442f5c066
Add global variable to test for consistency
...
llvm-svn: 57597
2008-10-15 20:22:44 +00:00
Anton Korobeynikov
982947e183
This is not failing anymore
...
llvm-svn: 57596
2008-10-15 20:13:10 +00:00
Anton Korobeynikov
e322e95ecd
Also properly handle linking of strong alias and weak global
...
llvm-svn: 57595
2008-10-15 20:10:50 +00:00
Anton Korobeynikov
d514695f79
Properly handle linking of strong alias with weak function, this fixes PR2883
...
llvm-svn: 57594
2008-10-15 20:10:08 +00:00
Bill Wendling
8d26b9c07a
Testcase for PR1638.
...
llvm-svn: 57590
2008-10-15 18:27:15 +00:00
Dan Gohman
df18b6f3db
Fix a missing space after the return type in invoke statements.
...
This fixes PR2894.
llvm-svn: 57589
2008-10-15 18:02:08 +00:00
Chris Lattner
ab625c3b99
Fix PR2115 by doxygenating Use more, and make some more methods private.
...
llvm-svn: 57587
2008-10-15 16:56:14 +00:00
Chris Lattner
2ce4f1e7ad
move PR1941 here.
...
llvm-svn: 57586
2008-10-15 16:33:52 +00:00
Bill Wendling
3106c13251
Unbreak the build. Please test out the proper fix for this by compiling LLVM
...
with the build directory different from the source directory.
llvm-svn: 57583
2008-10-15 16:20:13 +00:00
Chris Lattner
866578b51b
move PR1604 here.
...
llvm-svn: 57582
2008-10-15 16:06:03 +00:00
Chris Lattner
4ccc775d89
move PR1488 into this file.
...
llvm-svn: 57579
2008-10-15 16:02:15 +00:00
Anton Korobeynikov
981c5cde30
Temporary revert r57567 and unbreak the build.
...
llvm-svn: 57578
2008-10-15 14:22:06 +00:00
Nuno Lopes
fcab7d3d0c
regenerate
...
llvm-svn: 57577
2008-10-15 12:05:02 +00:00
Nuno Lopes
8d27c6100b
fix memleak in GetForwardRefForGlobal()
...
llvm-svn: 57576
2008-10-15 12:04:36 +00:00
Nuno Lopes
5b1a422162
regenerate
...
llvm-svn: 57575
2008-10-15 11:20:21 +00:00
Nuno Lopes
067c8791fe
fix memleak in getTypeVal()
...
llvm-svn: 57574
2008-10-15 11:19:34 +00:00
Nuno Lopes
970117385a
regenerate
...
llvm-svn: 57573
2008-10-15 11:11:12 +00:00
Nuno Lopes
0e2359f53d
fix memleak in ResolveTypeTo()
...
llvm-svn: 57572
2008-10-15 11:10:21 +00:00
Gabor Greif
4a32c61591
catch one more typo, canonicalize LLVMdev
...
llvm-svn: 57571
2008-10-15 10:47:24 +00:00
Gabor Greif
af1e025d56
fix some validation errors, improve formatting, squash a strange plural
...
llvm-svn: 57570
2008-10-15 10:29:51 +00:00
Gabor Greif
03b3b570ae
remove legacy interfaces
...
llvm-svn: 57569
2008-10-15 09:52:56 +00:00
Mikhail Glushenkov
97de12e4ec
llvmc2: Documentation update. Describe recent work on plugins.
...
llvm-svn: 57568
2008-10-15 09:29:13 +00:00
Mikhail Glushenkov
3f10dec376
llvmc2: Some Makefile fixes and renames.
...
llvm-svn: 57567
2008-10-15 09:28:50 +00:00
Mikhail Glushenkov
3d1c799d72
Use (a slightly modified) llvm.css for llvmc2 docs.
...
llvm-svn: 57566
2008-10-15 09:27:44 +00:00
Dan Gohman
65702b2eb8
Now that predicates can be composed, simplify several of
...
the predicates by extending simple predicates to create
more complex predicates instead of duplicating the logic
for the simple predicates.
This doesn't reduce much redundancy in DAGISelEmitter.cpp's
generated source yet; that will require improvements to
DAGISelEmitter.cpp's instruction sorting, to make it more
effectively group nodes with similar predicates together.
llvm-svn: 57565
2008-10-15 06:50:19 +00:00
Mon P Wang
98c2e01394
Removed pinsrd and pinsrq intrinsics because the code generator does not support
...
them since they map to insert element
llvm-svn: 57564
2008-10-15 06:27:16 +00:00
Dan Gohman
1bf4053aa8
Add support for having multiple predicates on a TreePatternNode.
...
This will allow predicates to be composed, which will allow the
predicate definitions to become less redundant, and eventually
will allow DAGISelEmitter.cpp to emit less redundant code.
llvm-svn: 57562
2008-10-15 06:17:21 +00:00
Chris Lattner
33e7093540
regenerate
...
llvm-svn: 57561
2008-10-15 06:16:57 +00:00
Chris Lattner
9449f199b3
Fix the .ll grammar rules to allow any type before an 'i32', not just an
...
integer type. Invalid things like 'float 42' are now rejected by the
semantic analysis in the productions not the parser. This fixes PR2733.
llvm-svn: 57560
2008-10-15 06:16:45 +00:00
Chris Lattner
33079f9c37
regenerate
...
llvm-svn: 57559
2008-10-15 06:03:48 +00:00
Chris Lattner
dc80d9772a
Eliminate the "IntType ::= INTTYPE" production, just use
...
INTTYPE everywhere.
llvm-svn: 57558
2008-10-15 06:03:37 +00:00
Chris Lattner
d91c01484c
add a note
...
llvm-svn: 57557
2008-10-15 05:53:25 +00:00
Chris Lattner
7194e8406a
add support for folding immediates into stores when they
...
are due to argument passing in calls. This is significant because
it hits all immediate arguments to calls on x86-32.
llvm-svn: 57556
2008-10-15 05:38:32 +00:00
Chris Lattner
214643296b
fold immediates into stores in simple cases, this produces diffs like
...
this:
- movl $0, %eax
- movl %eax, _yy_n_chars
+ movl $0, _yy_n_chars
llvm-svn: 57555
2008-10-15 05:30:52 +00:00
Chris Lattner
5716b8daa4
fold compare of null pointer into compare with 0.
...
llvm-svn: 57553
2008-10-15 05:18:04 +00:00
Chris Lattner
928e8e5092
Some minor cleanups:
...
1. Compute action in X86SelectSelect based on MVT instead of type.
2. Use TLI.getValueType(..) instead of MVT::getVT(..) because the former
handles pointers and the later doesn't.
3. Don't pass TLI into isTypeLegal, since it already has access to it as
an ivar.
#2 gives fast isel some minor new functionality: handling load/stores of
pointers.
llvm-svn: 57552
2008-10-15 05:07:36 +00:00
Chris Lattner
da69b5e401
Use switch on VT instead of Type* comparisons.
...
llvm-svn: 57551
2008-10-15 04:32:45 +00:00
Chris Lattner
052e062f08
Use X86FastEmitCompare for FCMP_OEQ and FCMP_UNE: it doesn't
...
change the generated code, but makes the code simpler.
llvm-svn: 57550
2008-10-15 04:29:23 +00:00
Chris Lattner
d7024dafbf
refactor compare emission out into a new X86FastEmitCompare method,
...
which makes it easy to share the compare/imm folding logic with 'setcc'.
This shaves a bunch of instructions off the common select case, which
happens a lot in llvm-gcc.
llvm-svn: 57549
2008-10-15 04:26:38 +00:00
Chris Lattner
cbea6edde5
Fold immediates into compares when possible, producing "cmp $4, %eax" instead of
...
loading 4 into a register and then doing the compare.
llvm-svn: 57548
2008-10-15 04:13:29 +00:00
Chris Lattner
905dbd0dea
more minor refactoring of X86SelectBranch, no functionality change.
...
llvm-svn: 57547
2008-10-15 04:02:26 +00:00
Chris Lattner
99d88895b6
factor buildmi calls in X86SelectBranch
...
llvm-svn: 57546
2008-10-15 03:58:05 +00:00
Chris Lattner
97e96bcca0
factor some more BuildMI's in X86SelectCmp
...
llvm-svn: 57545
2008-10-15 03:52:54 +00:00
Chris Lattner
e66c12b3f5
factor some BuildMI calls, no functionality change.
...
llvm-svn: 57544
2008-10-15 03:47:17 +00:00
Dan Gohman
2ed6f318da
Adjust whitespace in debug messages to be more consistent
...
with other debug messages.
llvm-svn: 57543
2008-10-15 02:57:38 +00:00
Evan Cheng
cb8b4e9dd4
- Add target lowering hooks that specify which setcc conditions are illegal,
...
i.e. conditions that cannot be checked with a single instruction. For example,
SETONE and SETUEQ on x86.
- Teach legalizer to implement *illegal* setcc as a and / or of a number of
legal setcc nodes. For now, only implement FP conditions. e.g. SETONE is
implemented as SETO & SETNE, SETUEQ is SETUO | SETEQ.
- Move x86 target over.
llvm-svn: 57542
2008-10-15 02:05:31 +00:00
Dan Gohman
c070ffc493
FastISel support for exception-handling constructs.
...
- Move the EH landing-pad code and adjust it so that it works
with FastISel as well as with SDISel.
- Add FastISel support for @llvm.eh.exception and
@llvm.eh.selector.
llvm-svn: 57539
2008-10-14 23:54:11 +00:00