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
Daniel Dunbar
e11e618cc6
Prevent assert when using '"' in names (via hexadecimal).
...
Update LangRef to mention \xx quoting in names.
llvm-svn: 57538
2008-10-14 23:51:43 +00:00
Daniel Dunbar
f3b4f45878
Change getLLVMName to use raw_ostream & PrintLLVMName.
...
- Avoids duplicated quotification code.
- Remove QuoteNameIfNeeded.
- No functionality change.
llvm-svn: 57537
2008-10-14 23:28:09 +00:00
Daniel Dunbar
2f3ec96450
Add llvm::hexdigit to StringExtras (number -> hexadecimal char)
...
llvm-svn: 57536
2008-10-14 23:26:20 +00:00
Daniel Dunbar
f78f8fdfed
Add some ReleaseNotes on clang codegen.
...
llvm-svn: 57535
2008-10-14 23:25:09 +00:00
Daniel Dunbar
9dfbc7987d
Remove Stacker.html from Xcode project.
...
llvm-svn: 57534
2008-10-14 23:23:59 +00:00
Dale Johannesen
19407daf55
Accept -march=i586, because gcc does (a synonym
...
for pentium). Fixes
gcc.target/i386/20000720-1.c
gcc.target/i386/pr26826.c
llvm-svn: 57528
2008-10-14 22:06:33 +00:00
Evan Cheng
3faedff2de
Rename LoadX to LoadExt.
...
llvm-svn: 57526
2008-10-14 21:26:46 +00:00
Jim Grosbach
d0ff59ec42
Update ARM Insn encoding to get endian-ness to match the documentation (31-0 left to right)
...
llvm-svn: 57524
2008-10-14 20:36:24 +00:00
Devang Patel
3e8ed97454
Remove dead code.
...
llvm-svn: 57522
2008-10-14 20:30:54 +00:00
Dan Gohman
9543edc4ef
Fix command-line option printing to print two spaces where needed,
...
instead of requiring all "short description" strings to begin with
two spaces. This makes these strings less mysterious, and it fixes
some cases where short description strings mistakenly did not
begin with two spaces.
llvm-svn: 57521
2008-10-14 20:25:08 +00:00
Devang Patel
4045b6a017
Document attributes changes.
...
llvm-svn: 57518
2008-10-14 20:03:43 +00:00
Nicolas Geoffray
da65ee7fd0
Add VMKit notes.
...
llvm-svn: 57517
2008-10-14 19:23:04 +00:00
Evan Cheng
591baeed7c
Combine (fcmp cc0 x, y) | (fcmp cc1 x, y) into a single fcmp when possible.
...
llvm-svn: 57515
2008-10-14 18:44:08 +00:00
Evan Cheng
778b47e6c0
- Somehow I forgot about one / une.
...
- Renumber fcmp predicates to match their icmp counterparts.
- Try swapping operands to expose more optimization opportunities.
llvm-svn: 57513
2008-10-14 18:13:38 +00:00
Evan Cheng
39a819027c
Fix indentation.
...
llvm-svn: 57508
2008-10-14 17:15:39 +00:00