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
Evan Cheng
91528965e7
Optimize anding of two fcmp into a single fcmp if the operands are the same. e.g. uno && ueq -> ueq
...
ord && olt -> olt
ord && ueq -> oeq
llvm-svn: 57507
2008-10-14 17:15:11 +00:00
Dan Gohman
0c6c14ef30
Mention a few methods in ConstantSDNode that were renamed.
...
llvm-svn: 57505
2008-10-14 17:06:44 +00:00
Dan Gohman
d53d4be7a8
HTML syntax fixes.
...
llvm-svn: 57503
2008-10-14 17:00:38 +00:00
Dan Gohman
75d70feb9b
Fix missing end tags and invalid HTML entity syntax.
...
llvm-svn: 57500
2008-10-14 16:51:45 +00:00
Dan Gohman
7227e51b8d
Add a missing close-tag.
...
llvm-svn: 57497
2008-10-14 16:32:04 +00:00
Dan Gohman
0c0b17ec3f
Fix a few close tags.
...
llvm-svn: 57496
2008-10-14 16:23:02 +00:00
Dan Gohman
80b968a645
Fix a typo.
...
llvm-svn: 57495
2008-10-14 16:13:59 +00:00
Dan Gohman
6ba508d258
Add a brief mention of the new free-list management code.
...
llvm-svn: 57490
2008-10-14 15:14:55 +00:00
Gabor Greif
d22d9a65f7
minor corrections, improved formatting
...
llvm-svn: 57486
2008-10-14 11:31:14 +00:00
Gabor Greif
d9aa92c0f1
typo and formatting tweaks
...
llvm-svn: 57485
2008-10-14 11:00:32 +00:00
Nuno Lopes
08a1a82acc
little optimization: reuse getPointerToGlobalIfAvailable(CGV) value in emitGlobals()
...
llvm-svn: 57484
2008-10-14 10:04:52 +00:00
Duncan Sands
8fe4eac94c
Mention the different constant folders that IRBuilder
...
can use.
llvm-svn: 57483
2008-10-14 07:06:37 +00:00
Chris Lattner
5d6b61c4c8
new testcase for PR2797
...
llvm-svn: 57481
2008-10-14 06:56:04 +00:00
Chris Lattner
62d852d53a
add some upgrading notes from Pekka.
...
llvm-svn: 57480
2008-10-14 06:37:11 +00:00
Chris Lattner
9e1db7e761
add LSR and frameaddress info.
...
llvm-svn: 57478
2008-10-14 06:02:29 +00:00
Ted Kremenek
158e2c546d
Add static analyzer notes.
...
llvm-svn: 57475
2008-10-14 05:14:21 +00:00
Chris Lattner
222e130ee3
more minor updates
...
llvm-svn: 57472
2008-10-14 00:52:49 +00:00
Chris Lattner
f7e94f363f
more changes.
...
llvm-svn: 57470
2008-10-13 22:06:31 +00:00
Chris Lattner
27789db2ca
optimizer and codegen
...
llvm-svn: 57468
2008-10-13 21:50:36 +00:00
Chris Lattner
5aa4dedd28
more updates.
...
llvm-svn: 57466
2008-10-13 20:59:32 +00:00
Dan Gohman
e08e0dcfcc
When doing the very-late shift-and address-mode optimization,
...
create a new DAG node to represent the new shift to keep the
DAG consistent, even though it'll almost always be folded into
the address.
If a user of the resulting address has multiple uses, the
nodes may get revisited by a later MatchAddress call, in which
case DAG inconsistencies do matter.
This fixes PR2849.
llvm-svn: 57465
2008-10-13 20:52:04 +00:00
Chris Lattner
ba8f9fff79
describe major new features and llvm-gcc features.
...
llvm-svn: 57463
2008-10-13 20:47:20 +00:00
Duncan Sands
a119167d74
Don't barf on 32 bit platforms if llvm-gcc is
...
not built with 64 bit support. Since this test
passes without -m64 on x86-32-linux, just remove
the -m64.
llvm-svn: 57462
2008-10-13 19:56:36 +00:00
Evan Cheng
de99d94c58
FIX PR2794. Make sure SIGN_EXTEND_INREG nodes introduced by LegalizeSetCCOperands are leglized. Patch by Richard Pennington.
...
llvm-svn: 57460
2008-10-13 18:46:18 +00:00
Duncan Sands
3040939c64
MarkModRef -> AddReadAttrs.
...
llvm-svn: 57459
2008-10-13 18:42:43 +00:00
Evan Cheng
731f400eac
Also update sub-register intervals after a trivial computation is rematt'ed for a copy instruction. PR2775.
...
llvm-svn: 57458
2008-10-13 18:35:52 +00:00
Duncan Sands
4229c0774f
Add some llvm-gcc changes that may be worth
...
detailing.
llvm-svn: 57457
2008-10-13 18:33:28 +00:00