oota-llvm.git
16 years agoAdd comment on how tagged pointers are
Gabor Greif [Fri, 17 Oct 2008 08:31:36 +0000 (08:31 +0000)]
Add comment on how tagged pointers are
distinguished from normal (untagged) ones
as per review comment.

I am sufficiently unaquainted with doxygen to
defer the markup to someone with more experience.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57676 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a very subtle spiller bug: UpdateKills should not forget to track defs of aliases.
Evan Cheng [Fri, 17 Oct 2008 06:16:07 +0000 (06:16 +0000)]
Fix a very subtle spiller bug: UpdateKills should not forget to track defs of aliases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57673 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd some simple hacky long double support for the CBE. This
Chris Lattner [Fri, 17 Oct 2008 06:11:48 +0000 (06:11 +0000)]
add some simple hacky long double support for the CBE.  This
should work for intel long double, but ppc long double aborts
in convert.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57672 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse INT64_C to emit constant values, to avoid problems with
Dan Gohman [Fri, 17 Oct 2008 04:40:39 +0000 (04:40 +0000)]
Use INT64_C to emit constant values, to avoid problems with
constants that don't fit in an int. This fixes
"this decimal constant is unsigned only in ISO C90"
warnings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57668 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFun x86 encoding tricks: when adding an immediate value of 128,
Dan Gohman [Fri, 17 Oct 2008 01:33:43 +0000 (01:33 +0000)]
Fun x86 encoding tricks: when adding an immediate value of 128,
use a SUB instruction instead of an ADD, because -128 can be
encoded in an 8-bit signed immediate field, while +128 can't be.
This avoids the need for a 32-bit immediate field in this case.

A similar optimization applies to 64-bit adds with 0x80000000,
with the 32-bit signed immediate field.

To support this, teach tablegen how to handle 64-bit constants.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57663 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDefine patterns for shld and shrd that match immediate
Dan Gohman [Fri, 17 Oct 2008 01:23:35 +0000 (01:23 +0000)]
Define patterns for shld and shrd that match immediate
shift counts, and patterns that match dynamic shift counts
when the subtract is obscured by a truncate node.

Add DAGCombiner support for recognizing rotate patterns
when the shift counts are defined by truncate nodes.

Fix and simplify the code for commuting shld and shrd
instructions to work even when the given instruction doesn't
have a parent, and when the caller needs a new instruction.

These changes allow LLVM to use the shld, shrd, rol, and ror
instructions on x86 to replace equivalent code using two
shifts and an or in many more cases.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57662 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse 0 instead of false to return a null pointer.
Dan Gohman [Fri, 17 Oct 2008 00:56:52 +0000 (00:56 +0000)]
Use 0 instead of false to return a null pointer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57660 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix this test so it actually runs the grep lines.
Dan Gohman [Thu, 16 Oct 2008 23:57:54 +0000 (23:57 +0000)]
Fix this test so it actually runs the grep lines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57653 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTrim #includes.
Dan Gohman [Thu, 16 Oct 2008 20:18:31 +0000 (20:18 +0000)]
Trim #includes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57649 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofix typo noticed by sdt
Chris Lattner [Thu, 16 Oct 2008 17:02:50 +0000 (17:02 +0000)]
fix typo noticed by sdt

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57644 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoIntroduce a typing refinenement on tagged data
Gabor Greif [Thu, 16 Oct 2008 15:33:02 +0000 (15:33 +0000)]
Introduce a typing refinenement on tagged data
using the 'volatile' qualifier. This should not have any operational consequences
on code, because tags should always be stripped off (giving a non-volatile pointer)
before dereferencing. The new qualification is there to catch some attempts to use
tagged pointers in a context where an untagged pointer is appropriate.

Notably this approach does not catch dereferencing of tagged pointers, but helps
in separating the two concepts a bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57641 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRe-apply Makefile changes. Fix build with srcdir != objdir.
Mikhail Glushenkov [Thu, 16 Oct 2008 14:02:29 +0000 (14:02 +0000)]
Re-apply Makefile changes. Fix build with srcdir != objdir.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57636 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix warnings about mb/me being potentially used
Duncan Sands [Thu, 16 Oct 2008 13:02:33 +0000 (13:02 +0000)]
Fix warnings about mb/me being potentially used
uninitialized in these functions with gcc-4.3.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57635 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix "large integer implicitly truncated to unsigned type"
Duncan Sands [Thu, 16 Oct 2008 09:14:58 +0000 (09:14 +0000)]
Fix "large integer implicitly truncated to unsigned type"
warning on x86-64 with gcc-4.3.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57634 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTestcase for PR2762.
Duncan Sands [Thu, 16 Oct 2008 08:56:46 +0000 (08:56 +0000)]
Testcase for PR2762.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57633 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd some notes
Chris Lattner [Thu, 16 Oct 2008 07:04:06 +0000 (07:04 +0000)]
add some notes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57631 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd some notes and a file to collect unimplemented features in the
Chris Lattner [Thu, 16 Oct 2008 06:46:12 +0000 (06:46 +0000)]
add some notes and a file to collect unimplemented features in the
x86 backend.  These will all be answered with "patches welcome", so
a PR doesn't help drive them along.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57630 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agomark some targets as experimental. Andrew, if you think that Alpha is
Chris Lattner [Thu, 16 Oct 2008 06:16:50 +0000 (06:16 +0000)]
mark some targets as experimental.  Andrew, if you think that Alpha is
basically working, feel free to remove the tag.  The other targets have
really basic things that break them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57628 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoVerify prefetch arguments, PR2576.
Chris Lattner [Thu, 16 Oct 2008 06:00:36 +0000 (06:00 +0000)]
Verify prefetch arguments, PR2576.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57626 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoapply Eli's patch for PR2165 and provide a testcase.
Chris Lattner [Thu, 16 Oct 2008 05:26:51 +0000 (05:26 +0000)]
apply Eli's patch for PR2165 and provide a testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57625 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoConst-ify several TargetInstrInfo methods.
Dan Gohman [Thu, 16 Oct 2008 01:49:15 +0000 (01:49 +0000)]
Const-ify several TargetInstrInfo methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57622 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove an unused variable.
Dan Gohman [Thu, 16 Oct 2008 01:47:47 +0000 (01:47 +0000)]
Remove an unused variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57621 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix Instruction::isIdenticalTo and isSameOperationAs to recognize
Dan Gohman [Thu, 16 Oct 2008 01:24:45 +0000 (01:24 +0000)]
Fix Instruction::isIdenticalTo and isSameOperationAs to recognize
additional information in Loads, Stores, Calls, Invokes,
InsertValueInsts, and ExtractValueInsts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57620 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a calculation error in comments.
Zhongxing Xu [Thu, 16 Oct 2008 01:21:44 +0000 (01:21 +0000)]
Fix a calculation error in comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57619 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRename AliasSet to SubRegs, to reflect changes in the surrounding code.
Dan Gohman [Thu, 16 Oct 2008 01:06:18 +0000 (01:06 +0000)]
Rename AliasSet to SubRegs, to reflect changes in the surrounding code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57618 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMove the include of MachineLocation.h into MachineModuleInfo.h
Dan Gohman [Thu, 16 Oct 2008 00:20:14 +0000 (00:20 +0000)]
Move the include of MachineLocation.h into MachineModuleInfo.h
because it declares a std::vector<MachineMove>, and strict
concept checking requires the definition of MachineMove to be
available.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57617 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoImplement a SmallVector insert method that can insert multiple
Dan Gohman [Thu, 16 Oct 2008 00:15:24 +0000 (00:15 +0000)]
Implement a SmallVector insert method that can insert multiple
copies of a value, and add several additional utilities to make
SmallVector better conform to the Container concept.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57616 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix several places that called mapped_iterator's constructor without
Dan Gohman [Thu, 16 Oct 2008 00:12:39 +0000 (00:12 +0000)]
Fix several places that called mapped_iterator's constructor without
passing in a function object.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57615 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a subtle bug in DeadMachineInstructionElim's liveness
Dan Gohman [Thu, 16 Oct 2008 00:11:23 +0000 (00:11 +0000)]
Fix a subtle bug in DeadMachineInstructionElim's liveness
computation. A def of a register doesn't necessarily kill
live super-registers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57614 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix the predicate for memop64 to be a regular load, not just
Dan Gohman [Thu, 16 Oct 2008 00:03:00 +0000 (00:03 +0000)]
Fix the predicate for memop64 to be a regular load, not just
an unindexed load.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57612 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTeach instcombine's visitLoad to scan back several instructions
Dan Gohman [Wed, 15 Oct 2008 23:19:35 +0000 (23:19 +0000)]
Teach instcombine's visitLoad to scan back several instructions
to find opportunities for store-to-load forwarding or load CSE,
in the same way that visitStore scans back to do DSE. Also, define
a new helper function for testing whether the addresses of two
memory accesses are known to have the same value, and use it in
both visitStore and visitLoad.

These two changes allow instcombine to eliminate loads in code
produced by front-ends that frequently emit obviously redundant
addressing for memory references.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57608 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCorrect the name of isTrapping in comments.
Dan Gohman [Wed, 15 Oct 2008 22:56:21 +0000 (22:56 +0000)]
Correct the name of isTrapping in comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57606 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix whitespace in a comment.
Dan Gohman [Wed, 15 Oct 2008 22:55:03 +0000 (22:55 +0000)]
Fix whitespace in a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57605 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTestcase for PR2894.
Duncan Sands [Wed, 15 Oct 2008 22:34:34 +0000 (22:34 +0000)]
Testcase for PR2894.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57604 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove naming Tilmann for generics.
Nicolas Geoffray [Wed, 15 Oct 2008 20:25:04 +0000 (20:25 +0000)]
Remove naming Tilmann for generics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57599 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd global variable to test for consistency
Anton Korobeynikov [Wed, 15 Oct 2008 20:22:44 +0000 (20:22 +0000)]
Add global variable to test for consistency

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57597 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoThis is not failing anymore
Anton Korobeynikov [Wed, 15 Oct 2008 20:13:10 +0000 (20:13 +0000)]
This is not failing anymore

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57596 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAlso properly handle linking of strong alias and weak global
Anton Korobeynikov [Wed, 15 Oct 2008 20:10:50 +0000 (20:10 +0000)]
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

16 years agoProperly handle linking of strong alias with weak function, this fixes PR2883
Anton Korobeynikov [Wed, 15 Oct 2008 20:10:08 +0000 (20:10 +0000)]
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

16 years agoTestcase for PR1638.
Bill Wendling [Wed, 15 Oct 2008 18:27:15 +0000 (18:27 +0000)]
Testcase for PR1638.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57590 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix a missing space after the return type in invoke statements.
Dan Gohman [Wed, 15 Oct 2008 18:02:08 +0000 (18:02 +0000)]
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

16 years agoFix PR2115 by doxygenating Use more, and make some more methods private.
Chris Lattner [Wed, 15 Oct 2008 16:56:14 +0000 (16:56 +0000)]
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

16 years agomove PR1941 here.
Chris Lattner [Wed, 15 Oct 2008 16:33:52 +0000 (16:33 +0000)]
move PR1941 here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57586 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUnbreak the build. Please test out the proper fix for this by compiling LLVM
Bill Wendling [Wed, 15 Oct 2008 16:20:13 +0000 (16:20 +0000)]
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

16 years agomove PR1604 here.
Chris Lattner [Wed, 15 Oct 2008 16:06:03 +0000 (16:06 +0000)]
move PR1604 here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57582 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agomove PR1488 into this file.
Chris Lattner [Wed, 15 Oct 2008 16:02:15 +0000 (16:02 +0000)]
move PR1488 into this file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57579 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoTemporary revert r57567 and unbreak the build.
Anton Korobeynikov [Wed, 15 Oct 2008 14:22:06 +0000 (14:22 +0000)]
Temporary revert r57567 and unbreak the build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57578 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoregenerate
Nuno Lopes [Wed, 15 Oct 2008 12:05:02 +0000 (12:05 +0000)]
regenerate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57577 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofix memleak in GetForwardRefForGlobal()
Nuno Lopes [Wed, 15 Oct 2008 12:04:36 +0000 (12:04 +0000)]
fix memleak in GetForwardRefForGlobal()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57576 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoregenerate
Nuno Lopes [Wed, 15 Oct 2008 11:20:21 +0000 (11:20 +0000)]
regenerate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57575 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofix memleak in getTypeVal()
Nuno Lopes [Wed, 15 Oct 2008 11:19:34 +0000 (11:19 +0000)]
fix memleak in getTypeVal()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57574 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoregenerate
Nuno Lopes [Wed, 15 Oct 2008 11:11:12 +0000 (11:11 +0000)]
regenerate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57573 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofix memleak in ResolveTypeTo()
Nuno Lopes [Wed, 15 Oct 2008 11:10:21 +0000 (11:10 +0000)]
fix memleak in ResolveTypeTo()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57572 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agocatch one more typo, canonicalize LLVMdev
Gabor Greif [Wed, 15 Oct 2008 10:47:24 +0000 (10:47 +0000)]
catch one more typo, canonicalize LLVMdev

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57571 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofix some validation errors, improve formatting, squash a strange plural
Gabor Greif [Wed, 15 Oct 2008 10:29:51 +0000 (10:29 +0000)]
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

16 years agoremove legacy interfaces
Gabor Greif [Wed, 15 Oct 2008 09:52:56 +0000 (09:52 +0000)]
remove legacy interfaces

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57569 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agollvmc2: Documentation update. Describe recent work on plugins.
Mikhail Glushenkov [Wed, 15 Oct 2008 09:29:13 +0000 (09:29 +0000)]
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

16 years agollvmc2: Some Makefile fixes and renames.
Mikhail Glushenkov [Wed, 15 Oct 2008 09:28:50 +0000 (09:28 +0000)]
llvmc2: Some Makefile fixes and renames.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57567 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUse (a slightly modified) llvm.css for llvmc2 docs.
Mikhail Glushenkov [Wed, 15 Oct 2008 09:27:44 +0000 (09:27 +0000)]
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

16 years agoNow that predicates can be composed, simplify several of
Dan Gohman [Wed, 15 Oct 2008 06:50:19 +0000 (06:50 +0000)]
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

16 years agoRemoved pinsrd and pinsrq intrinsics because the code generator does not support
Mon P Wang [Wed, 15 Oct 2008 06:27:16 +0000 (06:27 +0000)]
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

16 years agoAdd support for having multiple predicates on a TreePatternNode.
Dan Gohman [Wed, 15 Oct 2008 06:17:21 +0000 (06:17 +0000)]
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

16 years agoregenerate
Chris Lattner [Wed, 15 Oct 2008 06:16:57 +0000 (06:16 +0000)]
regenerate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57561 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix the .ll grammar rules to allow any type before an 'i32', not just an
Chris Lattner [Wed, 15 Oct 2008 06:16:45 +0000 (06:16 +0000)]
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

16 years agoregenerate
Chris Lattner [Wed, 15 Oct 2008 06:03:48 +0000 (06:03 +0000)]
regenerate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57559 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoEliminate the "IntType ::= INTTYPE" production, just use
Chris Lattner [Wed, 15 Oct 2008 06:03:37 +0000 (06:03 +0000)]
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

16 years agoadd a note
Chris Lattner [Wed, 15 Oct 2008 05:53:25 +0000 (05:53 +0000)]
add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57557 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoadd support for folding immediates into stores when they
Chris Lattner [Wed, 15 Oct 2008 05:38:32 +0000 (05:38 +0000)]
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

16 years agofold immediates into stores in simple cases, this produces diffs like
Chris Lattner [Wed, 15 Oct 2008 05:30:52 +0000 (05:30 +0000)]
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

16 years agofold compare of null pointer into compare with 0.
Chris Lattner [Wed, 15 Oct 2008 05:18:04 +0000 (05:18 +0000)]
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

16 years agoSome minor cleanups:
Chris Lattner [Wed, 15 Oct 2008 05:07:36 +0000 (05:07 +0000)]
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

16 years agoUse switch on VT instead of Type* comparisons.
Chris Lattner [Wed, 15 Oct 2008 04:32:45 +0000 (04:32 +0000)]
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

16 years agoUse X86FastEmitCompare for FCMP_OEQ and FCMP_UNE: it doesn't
Chris Lattner [Wed, 15 Oct 2008 04:29:23 +0000 (04:29 +0000)]
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

16 years agorefactor compare emission out into a new X86FastEmitCompare method,
Chris Lattner [Wed, 15 Oct 2008 04:26:38 +0000 (04:26 +0000)]
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

16 years agoFold immediates into compares when possible, producing "cmp $4, %eax" instead of
Chris Lattner [Wed, 15 Oct 2008 04:13:29 +0000 (04:13 +0000)]
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

16 years agomore minor refactoring of X86SelectBranch, no functionality change.
Chris Lattner [Wed, 15 Oct 2008 04:02:26 +0000 (04:02 +0000)]
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

16 years agofactor buildmi calls in X86SelectBranch
Chris Lattner [Wed, 15 Oct 2008 03:58:05 +0000 (03:58 +0000)]
factor buildmi calls in X86SelectBranch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57546 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofactor some more BuildMI's in X86SelectCmp
Chris Lattner [Wed, 15 Oct 2008 03:52:54 +0000 (03:52 +0000)]
factor some more BuildMI's in X86SelectCmp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57545 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agofactor some BuildMI calls, no functionality change.
Chris Lattner [Wed, 15 Oct 2008 03:47:17 +0000 (03:47 +0000)]
factor some BuildMI calls, no functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57544 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdjust whitespace in debug messages to be more consistent
Dan Gohman [Wed, 15 Oct 2008 02:57:38 +0000 (02:57 +0000)]
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

16 years ago- Add target lowering hooks that specify which setcc conditions are illegal,
Evan Cheng [Wed, 15 Oct 2008 02:05:31 +0000 (02:05 +0000)]
- 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

16 years agoFastISel support for exception-handling constructs.
Dan Gohman [Tue, 14 Oct 2008 23:54:11 +0000 (23:54 +0000)]
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

16 years agoPrevent assert when using '"' in names (via hexadecimal).
Daniel Dunbar [Tue, 14 Oct 2008 23:51:43 +0000 (23:51 +0000)]
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

16 years agoChange getLLVMName to use raw_ostream & PrintLLVMName.
Daniel Dunbar [Tue, 14 Oct 2008 23:28:09 +0000 (23:28 +0000)]
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

16 years agoAdd llvm::hexdigit to StringExtras (number -> hexadecimal char)
Daniel Dunbar [Tue, 14 Oct 2008 23:26:20 +0000 (23:26 +0000)]
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

16 years agoAdd some ReleaseNotes on clang codegen.
Daniel Dunbar [Tue, 14 Oct 2008 23:25:09 +0000 (23:25 +0000)]
Add some ReleaseNotes on clang codegen.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57535 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove Stacker.html from Xcode project.
Daniel Dunbar [Tue, 14 Oct 2008 23:23:59 +0000 (23:23 +0000)]
Remove Stacker.html from Xcode project.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57534 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAccept -march=i586, because gcc does (a synonym
Dale Johannesen [Tue, 14 Oct 2008 22:06:33 +0000 (22:06 +0000)]
Accept -march=i586, because gcc does (a synonym
for pentium).  Fixes
gcc.target/i386/20000720-1.c
gcc.target/i386/pr26826.c

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57528 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRename LoadX to LoadExt.
Evan Cheng [Tue, 14 Oct 2008 21:26:46 +0000 (21:26 +0000)]
Rename LoadX to LoadExt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57526 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoUpdate ARM Insn encoding to get endian-ness to match the documentation (31-0 left...
Jim Grosbach [Tue, 14 Oct 2008 20:36:24 +0000 (20:36 +0000)]
Update ARM Insn encoding to get endian-ness to match the documentation (31-0 left to right)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57524 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoRemove dead code.
Devang Patel [Tue, 14 Oct 2008 20:30:54 +0000 (20:30 +0000)]
Remove dead code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57522 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix command-line option printing to print two spaces where needed,
Dan Gohman [Tue, 14 Oct 2008 20:25:08 +0000 (20:25 +0000)]
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57521 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDocument attributes changes.
Devang Patel [Tue, 14 Oct 2008 20:03:43 +0000 (20:03 +0000)]
Document attributes changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57518 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoAdd VMKit notes.
Nicolas Geoffray [Tue, 14 Oct 2008 19:23:04 +0000 (19:23 +0000)]
Add VMKit notes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57517 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoCombine (fcmp cc0 x, y) | (fcmp cc1 x, y) into a single fcmp when possible.
Evan Cheng [Tue, 14 Oct 2008 18:44:08 +0000 (18:44 +0000)]
Combine (fcmp cc0 x, y) | (fcmp cc1 x, y) into a single fcmp when possible.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57515 91177308-0d34-0410-b5e6-96231b3b80d8

16 years ago- Somehow I forgot about one / une.
Evan Cheng [Tue, 14 Oct 2008 18:13:38 +0000 (18:13 +0000)]
- Somehow I forgot about one / une.
- Renumber fcmp predicates to match their icmp counterparts.
- Try swapping operands to expose more optimization opportunities.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57513 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoFix indentation.
Evan Cheng [Tue, 14 Oct 2008 17:15:39 +0000 (17:15 +0000)]
Fix indentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57508 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoOptimize anding of two fcmp into a single fcmp if the operands are the same. e.g...
Evan Cheng [Tue, 14 Oct 2008 17:15:11 +0000 (17:15 +0000)]
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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57507 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoMention a few methods in ConstantSDNode that were renamed.
Dan Gohman [Tue, 14 Oct 2008 17:06:44 +0000 (17:06 +0000)]
Mention a few methods in ConstantSDNode that were renamed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57505 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoHTML syntax fixes.
Dan Gohman [Tue, 14 Oct 2008 17:00:38 +0000 (17:00 +0000)]
HTML syntax fixes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57503 91177308-0d34-0410-b5e6-96231b3b80d8