oota-llvm.git
13 years agoMinor code simplification.
Dan Gohman [Fri, 28 May 2010 16:50:23 +0000 (16:50 +0000)]
Minor code simplification.

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

13 years agoFix a redundant-return warning.
Dan Gohman [Fri, 28 May 2010 16:50:01 +0000 (16:50 +0000)]
Fix a redundant-return warning.

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

13 years agoDetect self-referential values.
Dan Gohman [Fri, 28 May 2010 16:45:33 +0000 (16:45 +0000)]
Detect self-referential values.

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

13 years agoRemove this va_arg test, which is no longer applicable.
Dan Gohman [Fri, 28 May 2010 16:44:04 +0000 (16:44 +0000)]
Remove this va_arg test, which is no longer applicable.

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

13 years agoRevert 104841, 104842, 104876 due to buildbot failures. Radar 7424645.
Stuart Hastings [Fri, 28 May 2010 16:41:07 +0000 (16:41 +0000)]
Revert 104841, 104842, 104876 due to buildbot failures.  Radar 7424645.

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

13 years agoEli pointed out that va_arg instruction result values don't
Dan Gohman [Fri, 28 May 2010 16:34:49 +0000 (16:34 +0000)]
Eli pointed out that va_arg instruction result values don't
reference the stack.

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

13 years agoTeach lint how to look through simple store+load pairs and other
Dan Gohman [Fri, 28 May 2010 16:21:24 +0000 (16:21 +0000)]
Teach lint how to look through simple store+load pairs and other
effective no-op constructs, to make it more effective on
unoptimized IR.

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

13 years agoMove FindAvailableLoadedValue isSafeToLoadUnconditionally out of
Dan Gohman [Fri, 28 May 2010 16:19:17 +0000 (16:19 +0000)]
Move FindAvailableLoadedValue isSafeToLoadUnconditionally out of
lib/Transforms/Utils and into lib/Analysis so that Analysis passes
can use them.

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

13 years agoConstantFoldConstantExpression can theoretically return null.
Dan Gohman [Fri, 28 May 2010 16:12:08 +0000 (16:12 +0000)]
ConstantFoldConstantExpression can theoretically return null.

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

13 years agoFix a comment.
Dan Gohman [Fri, 28 May 2010 16:06:09 +0000 (16:06 +0000)]
Fix a comment.

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

13 years agoTeach instcombine to promote alloca array sizes.
Dan Gohman [Fri, 28 May 2010 15:09:00 +0000 (15:09 +0000)]
Teach instcombine to promote alloca array sizes.

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

13 years agoAdd a testcase for getelementptr index promotion.
Dan Gohman [Fri, 28 May 2010 15:07:59 +0000 (15:07 +0000)]
Add a testcase for getelementptr index promotion.

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

13 years agoAdd a lint check for returning the address of stack memory.
Dan Gohman [Fri, 28 May 2010 04:33:42 +0000 (04:33 +0000)]
Add a lint check for returning the address of stack memory.

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

13 years agoFix instcombine's handling of alloca to accept non-i32 types.
Dan Gohman [Fri, 28 May 2010 04:33:04 +0000 (04:33 +0000)]
Fix instcombine's handling of alloca to accept non-i32 types.

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

13 years agoComment out some code in prep for actual .td file checkpoint.
Nate Begeman [Fri, 28 May 2010 02:19:08 +0000 (02:19 +0000)]
Comment out some code in prep for actual .td file checkpoint.

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

13 years agoBitcode support for allocas with arbitrary array size types.
Dan Gohman [Fri, 28 May 2010 01:38:28 +0000 (01:38 +0000)]
Bitcode support for allocas with arbitrary array size types.

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

13 years agoFix typo.
Devang Patel [Fri, 28 May 2010 01:29:50 +0000 (01:29 +0000)]
Fix typo.

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

13 years agoFix typo.
Devang Patel [Fri, 28 May 2010 01:17:51 +0000 (01:17 +0000)]
Fix typo.

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

13 years agoFix build breakage.
Eli Friedman [Fri, 28 May 2010 01:15:28 +0000 (01:15 +0000)]
Fix build breakage.

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

13 years agoEliminate the restriction that the array size in an alloca must be i32.
Dan Gohman [Fri, 28 May 2010 01:14:11 +0000 (01:14 +0000)]
Eliminate the restriction that the array size in an alloca must be i32.
This will help reduce the amount of casting required on 64-bit targets.

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

13 years agoAdd support to tablegen for auto-generating arm_neon.h from a tablegen description
Nate Begeman [Fri, 28 May 2010 01:08:32 +0000 (01:08 +0000)]
Add support to tablegen for auto-generating arm_neon.h from a tablegen description
of the intrinsics.  The goal is to auto-generate both support for GCC-style (vector)
and ARM-style (struct of vector) intrinsics.

This is work in progress, but will be completed soon.

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

13 years agoAdd the cc_out operand for t2RSBrs instructions. I missed this when I changed
Bob Wilson [Fri, 28 May 2010 00:27:15 +0000 (00:27 +0000)]
Add the cc_out operand for t2RSBrs instructions.  I missed this when I changed
the instruction class for t2RSB to add that operand in svn r104582.
Radar 8033757.

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

13 years agoAdd a -regalloc=default option that chooses a register allocator based on the -O
Jakob Stoklund Olesen [Thu, 27 May 2010 23:57:25 +0000 (23:57 +0000)]
Add a -regalloc=default option that chooses a register allocator based on the -O
optimization level.

This only really affects llc for now because both the llvm-gcc and clang front
ends override the default register allocator. I intend to remove that code later.

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

13 years agoRemove ancient prototype.
Jakob Stoklund Olesen [Thu, 27 May 2010 23:57:19 +0000 (23:57 +0000)]
Remove ancient prototype.

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

13 years agoUpdate the saved stack pointer in the sjlj function context following either
Jim Grosbach [Thu, 27 May 2010 23:49:24 +0000 (23:49 +0000)]
Update the saved stack pointer in the sjlj function context following either
an alloca() or an llvm.stackrestore(). rdar://8031573

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

13 years agoUse report_fatal_error, not llvm_unreachable.
Evan Cheng [Thu, 27 May 2010 23:45:31 +0000 (23:45 +0000)]
Use report_fatal_error, not llvm_unreachable.

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

13 years agoback out 104862/104869. Can reuse stacksave after all. Very cool.
Jim Grosbach [Thu, 27 May 2010 23:11:57 +0000 (23:11 +0000)]
back out 104862/104869. Can reuse stacksave after all. Very cool.

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

13 years agoFactor out the handler work from SignalHandler into a helper function,
Dan Gohman [Thu, 27 May 2010 23:11:55 +0000 (23:11 +0000)]
Factor out the handler work from SignalHandler into a helper function,
and change llvm::sys::RunInterruptHandlers to call that function directly
instead of calling SignalHandler, because the rest of SignalHandler
invokes side effects which aren't appropriate, including raising the
signal.

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

13 years agollvm can't correctly support 'H', 'Q' and 'R' modifiers. Just mark it an error.
Evan Cheng [Thu, 27 May 2010 22:08:38 +0000 (22:08 +0000)]
llvm can't correctly support 'H', 'Q' and 'R' modifiers. Just mark it an error.

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

13 years agoMC/X86: Add aliases for Jcc variants.
Kevin Enderby [Thu, 27 May 2010 21:33:19 +0000 (21:33 +0000)]
MC/X86: Add aliases for Jcc variants.

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

13 years agoEliminate some unnessary Path::exists() calls.
Dan Gohman [Thu, 27 May 2010 20:51:54 +0000 (20:51 +0000)]
Eliminate some unnessary Path::exists() calls.

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

13 years agoMake ParseIRFile and getLazyIRFileModule incoporate the underlying
Dan Gohman [Thu, 27 May 2010 20:47:38 +0000 (20:47 +0000)]
Make ParseIRFile and getLazyIRFileModule incoporate the underlying
error message string into their own error message string, so that
the information isn't lost.

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

13 years agoDon't flush the raw_ostream in llvm::WriteBitcodeToFile; it's at
Dan Gohman [Thu, 27 May 2010 20:26:51 +0000 (20:26 +0000)]
Don't flush the raw_ostream in llvm::WriteBitcodeToFile; it's at
the wrong level. Clients which need to leave the stream open but
which still require the bitcode bits to be on disk should call
flush themselves.

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

13 years agoDo not drop location info for inlined function args.
Devang Patel [Thu, 27 May 2010 20:25:04 +0000 (20:25 +0000)]
Do not drop location info for inlined function args.

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

13 years agoFix some bad fall-throughs in a switch statement. Both the 'Q' and 'R' cases
Bob Wilson [Thu, 27 May 2010 20:23:42 +0000 (20:23 +0000)]
Fix some bad fall-throughs in a switch statement.  Both the 'Q' and 'R' cases
should fall through to the 'H' case, but instead 'Q' was falling through to 'R'
so that it would do the wrong thing for a big-endian ARM target.

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

13 years agoWhen handling raw_ostream errors manually, use clear_error() so that
Dan Gohman [Thu, 27 May 2010 20:19:47 +0000 (20:19 +0000)]
When handling raw_ostream errors manually, use clear_error() so that
raw_ostream doesn't try to do its own error handling.

Also, close the raw_ostream before checking for errors so that any
errors that occur during closing are caught by the manual check.

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

13 years agoWhen handling raw_ostream errors manually, use clear_error() so that
Dan Gohman [Thu, 27 May 2010 20:17:28 +0000 (20:17 +0000)]
When handling raw_ostream errors manually, use clear_error() so that
raw_ostream doesn't try to do its own error handling.

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

13 years agoMark some math lib intrinsic nodes Legal on SSE4.1.
Dale Johannesen [Thu, 27 May 2010 20:12:41 +0000 (20:12 +0000)]
Mark some math lib intrinsic nodes Legal on SSE4.1.
No functional effect as these nodes are not generated yet.

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

13 years agoDon't special-case stdout in llvm::WriteBitcodeToFile; just consider
Dan Gohman [Thu, 27 May 2010 20:06:51 +0000 (20:06 +0000)]
Don't special-case stdout in llvm::WriteBitcodeToFile; just consider
it to be the caller's responsibility to provide a stream in binary
mode. This fixes a layering violation and avoids an outs() call.

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

13 years agoAdjust test case for lexical block pruning. Follow-on to r104842 and Radar 7424645.
Stuart Hastings [Thu, 27 May 2010 19:57:51 +0000 (19:57 +0000)]
Adjust test case for lexical block pruning.  Follow-on to r104842 and Radar 7424645.

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

13 years agoDon't create an output stream when output is disabled.
Dan Gohman [Thu, 27 May 2010 19:52:20 +0000 (19:52 +0000)]
Don't create an output stream when output is disabled.

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

13 years agoSimplify raw_ostream usage.
Dan Gohman [Thu, 27 May 2010 19:48:08 +0000 (19:48 +0000)]
Simplify raw_ostream usage.

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

13 years agoAvoid calling outs() and fouts() when the stream isn't really needed.
Dan Gohman [Thu, 27 May 2010 19:47:36 +0000 (19:47 +0000)]
Avoid calling outs() and fouts() when the stream isn't really needed.

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

13 years agoLet's try one more time to match patterns.
Devang Patel [Thu, 27 May 2010 19:46:38 +0000 (19:46 +0000)]
Let's try one more time to match  patterns.
The goal is to match following 3 lines. In otherwords, a temp. label between to DEBUG_VALUE comments.
        ;DEBUG_VALUE: bar:x <- undef   ## 2010-01-18-Inlined-Debug.c:7
Ltmp1:
        ;DEBUG_VALUE: foo:__x <- undef ## 2010-01-18-Inlined-Debug.c:5

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

13 years agoTeach instCombine to remove malloc+free if malloc's only uses are comparisons
Duncan Sands [Thu, 27 May 2010 19:09:06 +0000 (19:09 +0000)]
Teach instCombine to remove malloc+free if malloc's only uses are comparisons
to null.  Patch by Matti Niemenmaa.

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

13 years agohook ISD::STACKADDR to an intrinsic
Jim Grosbach [Thu, 27 May 2010 18:52:11 +0000 (18:52 +0000)]
hook ISD::STACKADDR to an intrinsic

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

13 years agoFastISel doesn't yet handle callee-pop functions.
Dan Gohman [Thu, 27 May 2010 18:43:40 +0000 (18:43 +0000)]
FastISel doesn't yet handle callee-pop functions.

To support this, move IsCalleePop from X86ISelLowering to X86Subtarget.

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

13 years agoadd ISD::STACKADDR to get the current stack pointer. Will be used by sjlj EH
Jim Grosbach [Thu, 27 May 2010 18:23:48 +0000 (18:23 +0000)]
add ISD::STACKADDR to get the current stack pointer. Will be used by sjlj EH
to update the jmpbuf in the presence of VLAs.

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

13 years agoMerge basic binops SSE 1 & 2 instruction classes. This is a step towards refactoring
Bruno Cardoso Lopes [Thu, 27 May 2010 18:17:40 +0000 (18:17 +0000)]
Merge basic binops SSE 1 & 2 instruction classes. This is a step towards refactoring
common code between SSE versions.

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

13 years agoTemp. labels number may not match for all configurations.
Devang Patel [Thu, 27 May 2010 17:51:08 +0000 (17:51 +0000)]
Temp. labels number may not match for all configurations.

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

13 years agoAdd basic error checking to MemoryBuffer::getSTDIN.
Dan Gohman [Thu, 27 May 2010 17:31:51 +0000 (17:31 +0000)]
Add basic error checking to MemoryBuffer::getSTDIN.

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

13 years agoUse the return value of getMagicNumber instead of using a
Dan Gohman [Thu, 27 May 2010 17:18:38 +0000 (17:18 +0000)]
Use the return value of getMagicNumber instead of using a
separate canRead() call.

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

13 years agoDon't bother clearing the Magic string when the magic number
Dan Gohman [Thu, 27 May 2010 17:14:10 +0000 (17:14 +0000)]
Don't bother clearing the Magic string when the magic number
can't be read, since it isn't cleared on other error paths.

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

13 years agoDon't bother checking canRead() before calling getMagicNumber();
Dan Gohman [Thu, 27 May 2010 17:12:23 +0000 (17:12 +0000)]
Don't bother checking canRead() before calling getMagicNumber();
getMagicNumber() does its own error checking.

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

13 years agoinlined function's arguments need a label to mark the start point because they are...
Devang Patel [Thu, 27 May 2010 16:47:30 +0000 (16:47 +0000)]
inlined function's arguments need a label to mark the start point because they are not directly attached to current function.

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

13 years agoMinor code simplification.
Dan Gohman [Thu, 27 May 2010 16:25:05 +0000 (16:25 +0000)]
Minor code simplification.

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

13 years agoSupport for nested functions/classes in debug output. Radar 7424645.
Stuart Hastings [Thu, 27 May 2010 16:16:54 +0000 (16:16 +0000)]
Support for nested functions/classes in debug output.  Radar 7424645.

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

13 years agoDelete a spurious svn:mergeinfo property.
Dan Gohman [Thu, 27 May 2010 16:15:28 +0000 (16:15 +0000)]
Delete a spurious svn:mergeinfo property.

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

13 years agoremove incorrect GCCBuiltin<> usage
Jim Grosbach [Thu, 27 May 2010 15:04:02 +0000 (15:04 +0000)]
remove incorrect GCCBuiltin<> usage

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

13 years agotypo
Gabor Greif [Thu, 27 May 2010 09:48:47 +0000 (09:48 +0000)]
typo

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

13 years agorename test to represent meaningful date
Gabor Greif [Thu, 27 May 2010 09:32:38 +0000 (09:32 +0000)]
rename test to represent meaningful date

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

13 years agoAsmMatcher: Ensure classes are totally ordered, so we can std::sort them reliably.
Daniel Dunbar [Thu, 27 May 2010 05:31:32 +0000 (05:31 +0000)]
AsmMatcher: Ensure classes are totally ordered, so we can std::sort them reliably.

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

13 years agoAdd a test for llvm-gcc svn r104726.
Bob Wilson [Thu, 27 May 2010 05:30:36 +0000 (05:30 +0000)]
Add a test for llvm-gcc svn r104726.

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

13 years agoAdd a quick test of relocations.
Eric Christopher [Thu, 27 May 2010 00:53:40 +0000 (00:53 +0000)]
Add a quick test of relocations.

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

13 years agoRearrange conditionals so we don't get caught with the correct type as wrong.
Eric Christopher [Thu, 27 May 2010 00:52:31 +0000 (00:52 +0000)]
Rearrange conditionals so we don't get caught with the correct type as wrong.

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

13 years agoSimplify. Eliminate unneeded debug_loc entry.
Devang Patel [Wed, 26 May 2010 23:55:23 +0000 (23:55 +0000)]
Simplify. Eliminate unneeded debug_loc entry.

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

13 years agoAvoid counting InlineAsm as a call - it prevents loop unrolling.
Jakob Stoklund Olesen [Wed, 26 May 2010 22:40:28 +0000 (22:40 +0000)]
Avoid counting InlineAsm as a call - it prevents loop unrolling.
PR7026
Patch by Pekka Jääskeläinen!

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

13 years agoFix Lint printing warnings multiple times. Remove the ErrorStr
Dan Gohman [Wed, 26 May 2010 22:28:53 +0000 (22:28 +0000)]
Fix Lint printing warnings multiple times. Remove the ErrorStr
option from lintModule, which was an artifact from being
based on Verifier code.

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

13 years agoAsmMatcher/X86: Mark _REV instructions as "code gen only", they aren't expected
Daniel Dunbar [Wed, 26 May 2010 22:21:28 +0000 (22:21 +0000)]
AsmMatcher/X86: Mark _REV instructions as "code gen only", they aren't expected
to be matched.

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

13 years agoReinstate checking of stackrestore, with checking for both Read
Dan Gohman [Wed, 26 May 2010 22:21:25 +0000 (22:21 +0000)]
Reinstate checking of stackrestore, with checking for both Read
and Write, and add a comment explaining this.

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

13 years agoCheck that inherited subregisters all have a direct SubRegIndex.
Jakob Stoklund Olesen [Wed, 26 May 2010 22:15:07 +0000 (22:15 +0000)]
Check that inherited subregisters all have a direct SubRegIndex.

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

13 years agoGive SubRegIndex names to all ARM subregisters. This will be required by
Jakob Stoklund Olesen [Wed, 26 May 2010 22:15:03 +0000 (22:15 +0000)]
Give SubRegIndex names to all ARM subregisters. This will be required by
TableGen shortly.

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

13 years agoStackrestore is not a load.
Dan Gohman [Wed, 26 May 2010 22:00:10 +0000 (22:00 +0000)]
Stackrestore is not a load.

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

13 years agoFix a missing quote.
Dan Gohman [Wed, 26 May 2010 21:56:15 +0000 (21:56 +0000)]
Fix a missing quote.

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

13 years agoAdd FIXME comment to remove this.
Bill Wendling [Wed, 26 May 2010 21:53:50 +0000 (21:53 +0000)]
Add FIXME comment to remove this.

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

13 years agoRemove a TODO which isn't practical.
Dan Gohman [Wed, 26 May 2010 21:50:41 +0000 (21:50 +0000)]
Remove a TODO which isn't practical.

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

13 years agoMC: Add TargetMachine support for setting the value of MCRelaxAll with
Daniel Dunbar [Wed, 26 May 2010 21:48:55 +0000 (21:48 +0000)]
MC: Add TargetMachine support for setting the value of MCRelaxAll with
-filetype=obj.

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

13 years agoAdd StringRef::compare_numeric and use it to sort TableGen register records.
Jakob Stoklund Olesen [Wed, 26 May 2010 21:47:28 +0000 (21:47 +0000)]
Add StringRef::compare_numeric and use it to sort TableGen register records.

This means that our Registers are now ordered R7, R8, R9, R10, R12, ...
Not R1, R10, R11, R12, R2, R3, ...

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

13 years agoImplement checking of the tail keyword.
Dan Gohman [Wed, 26 May 2010 21:46:36 +0000 (21:46 +0000)]
Implement checking of the tail keyword.

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

13 years agoSuppress emmission of empty subreg/superreg/alias sets.
Jakob Stoklund Olesen [Wed, 26 May 2010 21:35:55 +0000 (21:35 +0000)]
Suppress emmission of empty subreg/superreg/alias sets.

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

13 years agoThere is no need to force an line number entry (using previous location) for a temp...
Devang Patel [Wed, 26 May 2010 21:23:46 +0000 (21:23 +0000)]
There is no need to force an line number entry (using previous location) for a temp label at unknown location.

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

13 years agoAdd "setjmp_syscall", "savectx", "qsetjmp", "vfork", "getcontext" to the list of
Bill Wendling [Wed, 26 May 2010 20:39:00 +0000 (20:39 +0000)]
Add "setjmp_syscall", "savectx", "qsetjmp", "vfork", "getcontext" to the list of
usual suspects that could "return twice".

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

13 years agoMC: When running with -mc-relax-all, we can eagerly relax instructions and avoid...
Daniel Dunbar [Wed, 26 May 2010 20:37:03 +0000 (20:37 +0000)]
MC: When running with -mc-relax-all, we can eagerly relax instructions and avoid creating unnecessary MCInstFragments.

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

13 years agoMC/Mach-O: Factor out EmitInstTo{Fragment,Data} for emitting MCInst's as MCInstFragme...
Daniel Dunbar [Wed, 26 May 2010 20:37:00 +0000 (20:37 +0000)]
MC/Mach-O: Factor out EmitInstTo{Fragment,Data} for emitting MCInst's as MCInstFragments or appending onto an MCDataFragment.

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

13 years agoAdjust eh.sjlj.setjmp to properly have a chain and to have an opcode entry in
Jim Grosbach [Wed, 26 May 2010 20:22:18 +0000 (20:22 +0000)]
Adjust eh.sjlj.setjmp to properly have a chain and to have an opcode entry in
ISD::. No functional change.

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

13 years agoUpdate debug info when live-in reg is copied into a vreg.
Devang Patel [Wed, 26 May 2010 20:18:50 +0000 (20:18 +0000)]
Update debug info when live-in reg is copied into a vreg.

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

13 years agoFix the x86 move to/from segment register instructions.
Kevin Enderby [Wed, 26 May 2010 20:10:45 +0000 (20:10 +0000)]
Fix the x86 move to/from segment register instructions.

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

13 years agoMove the check for "calls setjmp" to SelectionDAGISel so that it can be used by
Bill Wendling [Wed, 26 May 2010 19:46:12 +0000 (19:46 +0000)]
Move the check for "calls setjmp" to SelectionDAGISel so that it can be used by
more than just the stack slot coloring algorithm.

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

13 years agoIdentify instructions, that needs a label to mark debug info entity, in advance....
Devang Patel [Wed, 26 May 2010 19:37:24 +0000 (19:37 +0000)]
Identify instructions, that needs a label to mark debug info entity, in advance. This simplifies beginScope().

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

13 years agoEliminate the use of PriorityQueue and just use a std::vector,
Dan Gohman [Wed, 26 May 2010 18:52:00 +0000 (18:52 +0000)]
Eliminate the use of PriorityQueue and just use a std::vector,
implementing pop with a linear search for a "best" element. The priority
queue was a neat idea, but in practice the comparison functions depend
on dynamic information.

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

13 years agoFix indentation.
Dan Gohman [Wed, 26 May 2010 18:37:48 +0000 (18:37 +0000)]
Fix indentation.

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

13 years agoDelete an unused function.
Dan Gohman [Wed, 26 May 2010 18:34:12 +0000 (18:34 +0000)]
Delete an unused function.

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

13 years agoMC: Change RelaxInstruction to only take the input and output instructions.
Daniel Dunbar [Wed, 26 May 2010 18:15:06 +0000 (18:15 +0000)]
MC: Change RelaxInstruction to only take the input and output instructions.

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

13 years agoFix a typo in a comment that Gabor noticed.
Dan Gohman [Wed, 26 May 2010 18:03:53 +0000 (18:03 +0000)]
Fix a typo in a comment that Gabor noticed.

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

13 years agoTestcase for 104624/104619/PR7191/8023512.
Dale Johannesen [Wed, 26 May 2010 17:55:45 +0000 (17:55 +0000)]
Testcase for 104624/104619/PR7191/8023512.
Reduced from one provided by Duncan Sands, thanks!

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

13 years agoMC: Eliminate an unnecessary copy.
Daniel Dunbar [Wed, 26 May 2010 17:50:16 +0000 (17:50 +0000)]
MC: Eliminate an unnecessary copy.

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

13 years agoMC: Simplify MayNeedRelaxation to not provide the fixups, so we can query it
Daniel Dunbar [Wed, 26 May 2010 17:45:29 +0000 (17:45 +0000)]
MC: Simplify MayNeedRelaxation to not provide the fixups, so we can query it
before encoding.

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

13 years agoRemove dead code.
Devang Patel [Wed, 26 May 2010 17:42:50 +0000 (17:42 +0000)]
Remove dead code.

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

13 years agoDo not construct location list backword!
Devang Patel [Wed, 26 May 2010 17:29:32 +0000 (17:29 +0000)]
Do not construct location list backword!

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

13 years agoReplace the SubRegSet tablegen class with a less error-prone mechanism.
Jakob Stoklund Olesen [Wed, 26 May 2010 17:27:12 +0000 (17:27 +0000)]
Replace the SubRegSet tablegen class with a less error-prone mechanism.

A Register with subregisters must also provide SubRegIndices for adressing the
subregisters. TableGen automatically inherits indices for sub-subregisters to
minimize typing.

CompositeIndices may be specified for the weirder cases such as the XMM sub_sd
index that returns the same register, and ARM NEON Q registers where both D
subregs have ssub_0 and ssub_1 sub-subregs.

It is now required that all subregisters are named by an index, and a future
patch will also require inherited subregisters to be named. This is necessary to
allow composite subregister indices to be reduced to a single index.

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