Anton Korobeynikov
747b78dfa0
Add global variable to test for consistency
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57597 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 20:22:44 +00:00
Anton Korobeynikov
99131d0a5f
This is not failing anymore
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57596 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 20:13:10 +00:00
Anton Korobeynikov
d13726f1e9
Also properly handle linking of strong alias and weak global
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57595 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 20:10:50 +00:00
Anton Korobeynikov
e655e37032
Properly handle linking of strong alias with weak function, this fixes PR2883
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57594 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 20:10:08 +00:00
Bill Wendling
eabb8866d8
Testcase for PR1638.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57590 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 18:27:15 +00:00
Dan Gohman
2b6c3d9ff1
Fix a missing space after the return type in invoke statements.
...
This fixes PR2894.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57589 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 18:02:08 +00:00
Chris Lattner
a870039277
Fix PR2115 by doxygenating Use more, and make some more methods private.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57587 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 16:56:14 +00:00
Chris Lattner
3b364cb986
move PR1941 here.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57586 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 16:33:52 +00:00
Bill Wendling
e90842ca52
Unbreak the build. Please test out the proper fix for this by compiling LLVM
...
with the build directory different from the source directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57583 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 16:20:13 +00:00
Chris Lattner
db03983238
move PR1604 here.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57582 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 16:06:03 +00:00
Chris Lattner
f4fee2a976
move PR1488 into this file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57579 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 16:02:15 +00:00
Anton Korobeynikov
b2029c98ea
Temporary revert r57567 and unbreak the build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57578 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 14:22:06 +00:00
Nuno Lopes
8a5f34776e
regenerate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57577 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 12:05:02 +00:00
Nuno Lopes
f2bd650fdf
fix memleak in GetForwardRefForGlobal()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57576 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 12:04:36 +00:00
Nuno Lopes
f05ff66a22
regenerate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57575 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 11:20:21 +00:00
Nuno Lopes
ee87b3b6d9
fix memleak in getTypeVal()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57574 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 11:19:34 +00:00
Nuno Lopes
6ec8a25b27
regenerate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57573 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 11:11:12 +00:00
Nuno Lopes
0ecaf52796
fix memleak in ResolveTypeTo()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57572 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 11:10:21 +00:00
Gabor Greif
3bd3a269c1
catch one more typo, canonicalize LLVMdev
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57571 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 10:47:24 +00:00
Gabor Greif
804ffb611d
fix some validation errors, improve formatting, squash a strange plural
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57570 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 10:29:51 +00:00
Gabor Greif
7d50031e17
remove legacy interfaces
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57569 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 09:52:56 +00:00
Mikhail Glushenkov
8323748329
llvmc2: Documentation update. Describe recent work on plugins.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57568 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 09:29:13 +00:00
Mikhail Glushenkov
a01ab7f381
llvmc2: Some Makefile fixes and renames.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57567 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 09:28:50 +00:00
Mikhail Glushenkov
a1e6eb8b73
Use (a slightly modified) llvm.css for llvmc2 docs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57566 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 09:27:44 +00:00
Dan Gohman
3358629380
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57565 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 06:50:19 +00:00
Mon P Wang
607ec1f608
Removed pinsrd and pinsrq intrinsics because the code generator does not support
...
them since they map to insert element
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57564 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 06:27:16 +00:00
Dan Gohman
0540e17788
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57562 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 06:17:21 +00:00
Chris Lattner
740e709d0d
regenerate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57561 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 06:16:57 +00:00
Chris Lattner
c7e3069bfa
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57560 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 06:16:45 +00:00
Chris Lattner
f9078f99d9
regenerate
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57559 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 06:03:48 +00:00
Chris Lattner
22b92e3b86
Eliminate the "IntType ::= INTTYPE" production, just use
...
INTTYPE everywhere.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57558 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 06:03:37 +00:00
Chris Lattner
b7fe708b32
add a note
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57557 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 05:53:25 +00:00
Chris Lattner
241ab47ac1
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57556 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 05:38:32 +00:00
Chris Lattner
438949aa9d
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57555 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 05:30:52 +00:00
Chris Lattner
d53886bb48
fold compare of null pointer into compare with 0.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57553 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 05:18:04 +00:00
Chris Lattner
160f6cc209
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57552 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 05:07:36 +00:00
Chris Lattner
45ac17f521
Use switch on VT instead of Type* comparisons.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57551 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 04:32:45 +00:00
Chris Lattner
51ccb3deba
Use X86FastEmitCompare for FCMP_OEQ and FCMP_UNE: it doesn't
...
change the generated code, but makes the code simpler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57550 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 04:29:23 +00:00
Chris Lattner
9a08a61d79
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57549 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 04:26:38 +00:00
Chris Lattner
0e13c78347
Fold immediates into compares when possible, producing "cmp $4, %eax" instead of
...
loading 4 into a register and then doing the compare.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57548 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 04:13:29 +00:00
Chris Lattner
709d829d3c
more minor refactoring of X86SelectBranch, no functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57547 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 04:02:26 +00:00
Chris Lattner
871d246fd4
factor buildmi calls in X86SelectBranch
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57546 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 03:58:05 +00:00
Chris Lattner
8aeeeb9d24
factor some more BuildMI's in X86SelectCmp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57545 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 03:52:54 +00:00
Chris Lattner
54aebde0be
factor some BuildMI calls, no functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57544 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 03:47:17 +00:00
Dan Gohman
26367472a2
Adjust whitespace in debug messages to be more consistent
...
with other debug messages.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57543 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 02:57:38 +00:00
Evan Cheng
7f04268176
- 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57542 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-15 02:05:31 +00:00
Dan Gohman
dd5b58ad7b
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57539 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-14 23:54:11 +00:00
Daniel Dunbar
76dea9547d
Prevent assert when using '"' in names (via hexadecimal).
...
Update LangRef to mention \xx quoting in names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57538 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-14 23:51:43 +00:00
Daniel Dunbar
cad3580e99
Change getLLVMName to use raw_ostream & PrintLLVMName.
...
- Avoids duplicated quotification code.
- Remove QuoteNameIfNeeded.
- No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57537 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-14 23:28:09 +00:00
Daniel Dunbar
c9debfbf06
Add llvm::hexdigit to StringExtras (number -> hexadecimal char)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57536 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-14 23:26:20 +00:00