oota-llvm.git
14 years agoswitch more stuff onto MCSymbols
Chris Lattner [Sat, 16 Jan 2010 01:12:01 +0000 (01:12 +0000)]
switch more stuff onto MCSymbols

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

14 years agoTemporarily revert r93581. It was causing failures in the ExecutionEngine tests
Bill Wendling [Sat, 16 Jan 2010 01:06:58 +0000 (01:06 +0000)]
Temporarily revert r93581. It was causing failures in the ExecutionEngine tests
on the build bots.

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

14 years agoeliminate uses of deprecated mangler apis
Chris Lattner [Sat, 16 Jan 2010 01:00:27 +0000 (01:00 +0000)]
eliminate uses of deprecated mangler apis

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

14 years agothis teestcase takes a long time to crash, remove it. If someone cares about this...
Chris Lattner [Sat, 16 Jan 2010 00:53:22 +0000 (00:53 +0000)]
this teestcase takes a long time to crash, remove it.  If someone cares about this, they should file a bug, it's not doing any good as an xfail.

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

14 years agoswitch X86 target off CurFunctionName and MCIze more.
Chris Lattner [Sat, 16 Jan 2010 00:51:39 +0000 (00:51 +0000)]
switch X86 target off CurFunctionName and MCIze more.
Note that the code wasn't calling DecorateCygMingName
when emitting the ".ascii -export" stuff at the end of
file for DLLExported functions.  I don't know if it should
or not, but I'm preserving behavior.

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

14 years agoTreat indirect branches specially only during pre-regalloc tail duplication,
Bob Wilson [Sat, 16 Jan 2010 00:42:25 +0000 (00:42 +0000)]
Treat indirect branches specially only during pre-regalloc tail duplication,
not during the later post-alloc tail duplication.

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

14 years agoMCize tis, and make it keep CurrentFnSym up to date with CurrentFnName.
Chris Lattner [Sat, 16 Jan 2010 00:32:38 +0000 (00:32 +0000)]
MCize tis, and make it keep CurrentFnSym up to date with CurrentFnName.

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

14 years agoRun the pre-register allocation tail duplication pass by default. Remove
Bob Wilson [Sat, 16 Jan 2010 00:29:50 +0000 (00:29 +0000)]
Run the pre-register allocation tail duplication pass by default.  Remove
the -pre-regalloc-taildup command-line option, and add a new
-disable-early-taildup option.

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

14 years agorevert the x86 part of my last patch, cygwin is mutating CurrentFnName!
Chris Lattner [Sat, 16 Jan 2010 00:24:20 +0000 (00:24 +0000)]
revert the x86 part of my last patch, cygwin is mutating CurrentFnName!

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

14 years agoMCize a bunch more stuff, eliminating a lot of uses of the mangler
Chris Lattner [Sat, 16 Jan 2010 00:21:18 +0000 (00:21 +0000)]
MCize a bunch more stuff, eliminating a lot of uses of the mangler
and CurrentFnName.

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

14 years agoFix llvm_supports_binding for lit, problem noticed by Bob!
Daniel Dunbar [Sat, 16 Jan 2010 00:00:20 +0000 (00:00 +0000)]
Fix llvm_supports_binding for lit, problem noticed by Bob!

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

14 years agoremove two write-only sets.
Chris Lattner [Fri, 15 Jan 2010 23:56:03 +0000 (23:56 +0000)]
remove two write-only sets.

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

14 years agosupplement CurrentFnName with CurrentFnSym, which will eventually
Chris Lattner [Fri, 15 Jan 2010 23:55:16 +0000 (23:55 +0000)]
supplement CurrentFnName with CurrentFnSym, which will eventually
replace it.  Upgrade Alpha, Blackfin, and part of CellSPU to not
use mangler anymore.  CellSPU needs more invasive surgery.

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

14 years agoFix bug 5992: O'Caml's llvm_create_module was treating the context as a string.
Erick Tryzelaar [Fri, 15 Jan 2010 23:49:16 +0000 (23:49 +0000)]
Fix bug 5992: O'Caml's llvm_create_module was treating the context as a string.

Thanks Andy Ray for catching this!

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

14 years agoadd a version of AsmPrinter::printVisibility that takes an MCSymbol.
Chris Lattner [Fri, 15 Jan 2010 23:38:51 +0000 (23:38 +0000)]
add a version of AsmPrinter::printVisibility that takes an MCSymbol.

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

14 years agouse MCSymbol instead of getMangledName() in all cases except one.
Chris Lattner [Fri, 15 Jan 2010 23:31:55 +0000 (23:31 +0000)]
use MCSymbol instead of getMangledName() in all cases except one.

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

14 years agoBumpPtrAllocator: Have the DefaultSlabAllocator created at runtime, not initializatio...
Ted Kremenek [Fri, 15 Jan 2010 23:29:34 +0000 (23:29 +0000)]
BumpPtrAllocator: Have the DefaultSlabAllocator created at runtime, not initialization time.  This removes one of the 'init_constructors' reported in <rdar://problem/7545356>.

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

14 years agoAdjust some comments per review.
Dale Johannesen [Fri, 15 Jan 2010 23:29:29 +0000 (23:29 +0000)]
Adjust some comments per review.

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

14 years agoRemove unneeded argument per review.
Dale Johannesen [Fri, 15 Jan 2010 23:28:49 +0000 (23:28 +0000)]
Remove unneeded argument per review.

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

14 years agomc'ize a bunch of symbol stuff, eliminating std::strings.
Chris Lattner [Fri, 15 Jan 2010 23:26:49 +0000 (23:26 +0000)]
mc'ize a bunch of symbol stuff, eliminating std::strings.

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

14 years agoadd another helper
Chris Lattner [Fri, 15 Jan 2010 23:25:11 +0000 (23:25 +0000)]
add another helper

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

14 years agoFix PR6019. A load has more than one use if it feeds a bitconvert that
David Greene [Fri, 15 Jan 2010 23:23:41 +0000 (23:23 +0000)]
Fix PR6019.  A load has more than one use if it feeds a bitconvert that
has more than one use.

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

14 years agoadd a AsmPrinter::GetGlobalValueSymbol and GetExternalSymbolSymbol
Chris Lattner [Fri, 15 Jan 2010 23:18:17 +0000 (23:18 +0000)]
add a AsmPrinter::GetGlobalValueSymbol and GetExternalSymbolSymbol
helper method, use it to simplify some code.

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

14 years agoUpdate CMake build.
Ted Kremenek [Fri, 15 Jan 2010 22:59:46 +0000 (22:59 +0000)]
Update CMake build.

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

14 years agoUpdate CMake build.
Ted Kremenek [Fri, 15 Jan 2010 22:59:11 +0000 (22:59 +0000)]
Update CMake build.

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

14 years agoadd testcase for r93564
Jim Grosbach [Fri, 15 Jan 2010 22:27:37 +0000 (22:27 +0000)]
add testcase for r93564

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

14 years agoAdd comments to the dump() and dumpr() routines.
Dan Gohman [Fri, 15 Jan 2010 22:22:58 +0000 (22:22 +0000)]
Add comments to the dump() and dumpr() routines.

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

14 years agoDEBUG_VALUE is now variable sized, as it has a
Dale Johannesen [Fri, 15 Jan 2010 22:22:35 +0000 (22:22 +0000)]
DEBUG_VALUE is now variable sized, as it has a
target-dependent memory address representation in it.
Restore X86 printing of DEBUG_VALUE; lowering is
done in X86RegisterInfo using the normal algorithm.

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

14 years agoUpdate Thumb1 storeRegToStackSlot() and loadRegFromStackSlot() to properly
Jim Grosbach [Fri, 15 Jan 2010 22:21:03 +0000 (22:21 +0000)]
Update Thumb1 storeRegToStackSlot() and loadRegFromStackSlot() to properly
handle physical registers R0-R7 when described as having a non-tGPR register
class.

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

14 years agoFix a typo that Anton noticed.
Dan Gohman [Fri, 15 Jan 2010 22:18:15 +0000 (22:18 +0000)]
Fix a typo that Anton noticed.

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

14 years agoAdd FIXME.
Devang Patel [Fri, 15 Jan 2010 22:08:16 +0000 (22:08 +0000)]
Add FIXME.

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

14 years agoFix a comment typo.
Bob Wilson [Fri, 15 Jan 2010 21:55:02 +0000 (21:55 +0000)]
Fix a comment typo.

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

14 years agomove "Metadata Nodes and Metadata Strings" section to the right place in the
Chris Lattner [Fri, 15 Jan 2010 21:50:19 +0000 (21:50 +0000)]
move "Metadata Nodes and Metadata Strings" section to the right place in the
document and edit it.

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

14 years agoRemove the InlineHint attribute. There are no current or planned
Eric Christopher [Fri, 15 Jan 2010 21:36:30 +0000 (21:36 +0000)]
Remove the InlineHint attribute. There are no current or planned
users.

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

14 years agozext / truncate is free on msp430. Inform codegen about this.
Anton Korobeynikov [Fri, 15 Jan 2010 21:19:43 +0000 (21:19 +0000)]
zext / truncate is free on msp430. Inform codegen about this.

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

14 years agoReenable tests
Anton Korobeynikov [Fri, 15 Jan 2010 21:19:26 +0000 (21:19 +0000)]
Reenable tests

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

14 years agoAdd branch relaxation pass (shamelessly stolen from PPC).
Anton Korobeynikov [Fri, 15 Jan 2010 21:19:05 +0000 (21:19 +0000)]
Add branch relaxation pass (shamelessly stolen from PPC).

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

14 years agoProvide instruction sizes & encoding. No opcodes yet (but not needed so far).
Anton Korobeynikov [Fri, 15 Jan 2010 21:18:39 +0000 (21:18 +0000)]
Provide instruction sizes & encoding. No opcodes yet (but not needed so far).

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

14 years agoEnable bit tests and setcc stuff.
Anton Korobeynikov [Fri, 15 Jan 2010 21:18:18 +0000 (21:18 +0000)]
Enable bit tests and setcc stuff.

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

14 years agoAdd micro-optimization which allows us to fold imm into cmp. This allows us to save...
Anton Korobeynikov [Fri, 15 Jan 2010 21:18:02 +0000 (21:18 +0000)]
Add micro-optimization which allows us to fold imm into cmp. This allows us to save 1 word (sometimes) and reduce register pressure.

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

14 years agoAdd instruction formats & support stuff
Anton Korobeynikov [Fri, 15 Jan 2010 21:17:13 +0000 (21:17 +0000)]
Add instruction formats & support stuff

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

14 years agoDon't make changes to the MBB in MachineBasicBlock::canFallThrough().
Jakob Stoklund Olesen [Fri, 15 Jan 2010 20:00:12 +0000 (20:00 +0000)]
Don't make changes to the MBB in MachineBasicBlock::canFallThrough().

This fixes the regression for -pre-regalloc-taildup in
MultiSource/Applications/lambda-0.1.3.

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

14 years agoSimplify logic. Any functional change is unintended.
Jakob Stoklund Olesen [Fri, 15 Jan 2010 19:59:57 +0000 (19:59 +0000)]
Simplify logic. Any functional change is unintended.

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

14 years agounbreak the build, grr symlinks.
Chris Lattner [Fri, 15 Jan 2010 19:51:05 +0000 (19:51 +0000)]
unbreak the build, grr symlinks.

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

14 years agoAdd some debug routines to SelectionDAG to dump full DAGs.
David Greene [Fri, 15 Jan 2010 19:43:23 +0000 (19:43 +0000)]
Add some debug routines to SelectionDAG to dump full DAGs.
print/dumpWithDepth allows one to dump a DAG up to N levels deep.
dump/printWithFullDepth prints the whole DAG, subject to a depth limit
on 100 in the default case (to prevent infinite recursion).

Have CannotYetSelect to a dumpWithFullDepth so it is clearer exactly
what the non-matching DAG looks like.

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

14 years agofix a bug in range information for $42, eliminate an
Chris Lattner [Fri, 15 Jan 2010 19:39:23 +0000 (19:39 +0000)]
fix a bug in range information for $42, eliminate an
unneeded argument from ParseExpression.

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

14 years agoadd range information for mem X86Operand's, now all
Chris Lattner [Fri, 15 Jan 2010 19:33:43 +0000 (19:33 +0000)]
add range information for mem X86Operand's, now all
X86Operand's have range info.

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

14 years agoextend MCAsmParser::ParseExpression and ParseParenExpression
Chris Lattner [Fri, 15 Jan 2010 19:28:38 +0000 (19:28 +0000)]
extend MCAsmParser::ParseExpression and ParseParenExpression
to return range information for subexpressions.  Use this to
provide range info for several new X86Operands.

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

14 years agogive X86Operand a ctor and start passing SMLoc's into it.
Chris Lattner [Fri, 15 Jan 2010 19:06:59 +0000 (19:06 +0000)]
give X86Operand a ctor and start passing SMLoc's into it.

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

14 years agoImprove llvm.dbg.declare intrinsic by referring directly to the storage in its first...
Victor Hernandez [Fri, 15 Jan 2010 19:04:09 +0000 (19:04 +0000)]
Improve llvm.dbg.declare intrinsic by referring directly to the storage in its first argument, via function-local metadata (instead of via a bitcast).
This patch also cleans up code that expects there to be a bitcast in the first argument and testcases that call llvm.dbg.declare.
It also strips old llvm.dbg.declare intrinsics that did not pass metadata as the first argument.

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

14 years agoRevert 93499. After discussion with Chris we agreed
Dale Johannesen [Fri, 15 Jan 2010 18:58:14 +0000 (18:58 +0000)]
Revert 93499.  After discussion with Chris we agreed
FrameIndexes should be lowered, but the same way as
everything else (target dependent) rather than in a
special hacked way.  The lowering needs to be done
for eventual purposes of Dwarf generation.

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

14 years agoadd range location info for registers, change
Chris Lattner [Fri, 15 Jan 2010 18:51:29 +0000 (18:51 +0000)]
add range location info for registers, change
X86Operand::Create* implementations to avoid
copy ctor use.

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

14 years agoHook up llc's -filetype=obj to use MCStreamer if an MCCodeEmitter is available.
Nate Begeman [Fri, 15 Jan 2010 18:51:18 +0000 (18:51 +0000)]
Hook up llc's -filetype=obj to use MCStreamer if an MCCodeEmitter is available.
Remove most of old Mach-O Writer support, it has been replaced by MCMachOStreamer

Further refactoring to completely remove MachOWriter and drive the object file
writer with the AsmPrinter MCInst/MCSection logic is forthcoming.

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

14 years agoclean up the memory management of the operands.
Chris Lattner [Fri, 15 Jan 2010 18:44:13 +0000 (18:44 +0000)]
clean up the memory management of the operands.

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

14 years agorefactor ParseRegister to avoid using X86Operand as a temporary
Chris Lattner [Fri, 15 Jan 2010 18:27:19 +0000 (18:27 +0000)]
refactor ParseRegister to avoid using X86Operand as a temporary
datastructure when parsing a mem operand.

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

14 years agomention that unwind isn't to be trusted, patch by Dustin Laurence
Chris Lattner [Fri, 15 Jan 2010 18:08:37 +0000 (18:08 +0000)]
mention that unwind isn't to be trusted, patch by Dustin Laurence

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

14 years agoRevert r93504 because older uses of llvm.dbg.declare intrinsics need to be auto-upgraded
Victor Hernandez [Fri, 15 Jan 2010 17:36:47 +0000 (17:36 +0000)]
Revert r93504 because older uses of llvm.dbg.declare intrinsics need to be auto-upgraded

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

14 years agoTest case for http://llvm.org/PR6028.
Jay Foad [Fri, 15 Jan 2010 11:29:26 +0000 (11:29 +0000)]
Test case for http://llvm.org/PR6028.

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

14 years agoFix http://llvm.org/PR6028, an assertion failure when an UndefValue of
Jay Foad [Fri, 15 Jan 2010 08:32:58 +0000 (08:32 +0000)]
Fix llvm.org/PR6028, an assertion failure when an UndefValue of
integer type is used.

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

14 years agoChange pre-regalloc tail duplication to only duplicate indirect branch blocks.
Bob Wilson [Fri, 15 Jan 2010 06:29:17 +0000 (06:29 +0000)]
Change pre-regalloc tail duplication to only duplicate indirect branch blocks.
The pre-regalloc pass caused some regressions in both compile time and
performance of the generated code, and it did not improve performance, except
for indirect branches.  I also moved the check for single-block loops to speed
up the common case when running the taildup pass before reg allocation.

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

14 years agoImprove llvm.dbg.declare intrinsic by referring directly to the storage in its first...
Victor Hernandez [Fri, 15 Jan 2010 03:37:48 +0000 (03:37 +0000)]
Improve llvm.dbg.declare intrinsic by referring directly to the storage in its first argument, via function-local metadata (instead of via a bitcast).
This patch also cleans up code that expects there to be a bitcast in the first argument and testcases that call llvm.dbg.declare.

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

14 years agoTemporary disable tests
Anton Korobeynikov [Fri, 15 Jan 2010 02:09:27 +0000 (02:09 +0000)]
Temporary disable tests

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

14 years agoLower FrameIndex operand of DEBUG_VALUE (specially) and
Dale Johannesen [Fri, 15 Jan 2010 01:54:55 +0000 (01:54 +0000)]
Lower FrameIndex operand of DEBUG_VALUE (specially) and
print it as a comment on X86.

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

14 years agoRemove DEBUG_DECLARE, looks like we don't need it.
Dale Johannesen [Fri, 15 Jan 2010 01:50:44 +0000 (01:50 +0000)]
Remove DEBUG_DECLARE, looks like we don't need it.
Also, DEBUG_VALUE has side effects.

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

14 years agoFix cmp emission on msp430: we definitely should turn stuff like
Anton Korobeynikov [Fri, 15 Jan 2010 01:29:49 +0000 (01:29 +0000)]
Fix cmp emission on msp430: we definitely should turn stuff like
"icmp lhs, rhs" into "cmp rhs, lhs". This should fix PR5979.

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

14 years agoDo not use AT_specification die for static variables. It confuses gdb.
Devang Patel [Fri, 15 Jan 2010 01:12:22 +0000 (01:12 +0000)]
Do not use AT_specification die for static variables. It confuses gdb.

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

14 years agoMake sure include/llvm/MC/MCParsedAsmOperand.h can be compiled alone.
Jeffrey Yasskin [Fri, 15 Jan 2010 00:41:53 +0000 (00:41 +0000)]
Make sure include/llvm/MC/MCParsedAsmOperand.h can be compiled alone.

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

14 years agofix 80-column violations
Jim Grosbach [Fri, 15 Jan 2010 00:36:15 +0000 (00:36 +0000)]
fix 80-column violations

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

14 years agonew test case for r93485.
Devang Patel [Fri, 15 Jan 2010 00:34:26 +0000 (00:34 +0000)]
new test case for r93485.

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

14 years agoFix 80 column violations and clean up whitespace
Jim Grosbach [Fri, 15 Jan 2010 00:32:47 +0000 (00:32 +0000)]
Fix 80 column violations and clean up whitespace

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

14 years agoDo not emit multiple AT_container_type attributes.
Devang Patel [Fri, 15 Jan 2010 00:26:31 +0000 (00:26 +0000)]
Do not emit multiple AT_container_type attributes.
We need to find a better way to emit this info.

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

14 years agoName change for consistency. No functional change.
Jim Grosbach [Fri, 15 Jan 2010 00:22:18 +0000 (00:22 +0000)]
Name change for consistency. No functional change.

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

14 years agoEmitAtomicCmpSwap() custome inserter needs to delete the MI passed in. EmitAtomicBina...
Jim Grosbach [Fri, 15 Jan 2010 00:18:34 +0000 (00:18 +0000)]
EmitAtomicCmpSwap() custome inserter needs to delete the MI passed in. EmitAtomicBinary() already does this.

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

14 years agoTeach PPC how to replaceMachineCodeForFunction correctly. (Fixes
Jeffrey Yasskin [Thu, 14 Jan 2010 23:15:26 +0000 (23:15 +0000)]
Teach PPC how to replaceMachineCodeForFunction correctly.  (Fixes
JITTest.FunctionIsRecompiledAndRelinked.)

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

14 years agoPad my commit stats by reducing indentation in this now separate
Eric Christopher [Thu, 14 Jan 2010 23:00:10 +0000 (23:00 +0000)]
Pad my commit stats by reducing indentation in this now separate
commit.

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

14 years agoAdded 16-bit Thumb Load/Store immediate instructions with encoding bits so that
Johnny Chen [Thu, 14 Jan 2010 22:42:17 +0000 (22:42 +0000)]
Added 16-bit Thumb Load/Store immediate instructions with encoding bits so that
the disassembler can properly decode Load/Store register/immediate instructions.

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

14 years agoadd virtual methods to get the start/end of a MCParsedAsmOperand,
Chris Lattner [Thu, 14 Jan 2010 22:29:57 +0000 (22:29 +0000)]
add virtual methods to get the start/end of a MCParsedAsmOperand,
the default implementation returns "unknown".

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

14 years agoSplit the TargetAsmParser "ParseInstruction" interface in half:
Chris Lattner [Thu, 14 Jan 2010 22:21:20 +0000 (22:21 +0000)]
Split the TargetAsmParser "ParseInstruction" interface in half:
the new ParseInstruction method just parses and returns a list of
target operands.  A new MatchInstruction interface is used to
turn the operand list into an MCInst.

This requires new/deleting all the operands, but it also gives
targets the ability to use polymorphic operands if they want to.

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

14 years agoAdd variable-width shifts for MSP430
Anton Korobeynikov [Thu, 14 Jan 2010 22:09:38 +0000 (22:09 +0000)]
Add variable-width shifts for MSP430

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

14 years agoRemove pseudo-MI in custom inserter.
Anton Korobeynikov [Thu, 14 Jan 2010 22:09:11 +0000 (22:09 +0000)]
Remove pseudo-MI in custom inserter.

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

14 years agoFix a comment.
Dale Johannesen [Thu, 14 Jan 2010 21:50:17 +0000 (21:50 +0000)]
Fix a comment.

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

14 years agoFew minor changes that were requested. No functional change.
Eric Christopher [Thu, 14 Jan 2010 21:48:00 +0000 (21:48 +0000)]
Few minor changes that were requested. No functional change.

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

14 years agoAdd comment explaining the necessity of r93456
Jim Grosbach [Thu, 14 Jan 2010 21:38:31 +0000 (21:38 +0000)]
Add comment explaining the necessity of r93456

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

14 years agoprune #includes in TargetAsmParser.h
Chris Lattner [Thu, 14 Jan 2010 21:32:45 +0000 (21:32 +0000)]
prune #includes in TargetAsmParser.h
Pass in SMLoc of instr opcode into ParseInstruction.
Make AsmToken be a class, not a struct.

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

14 years agoDwarf EH prepare needs to be run after SjLj prepare. Otherwise,
Jim Grosbach [Thu, 14 Jan 2010 21:22:16 +0000 (21:22 +0000)]
Dwarf EH prepare needs to be run after SjLj prepare. Otherwise,
catch info can get misplaced when a selector ends up more than one block
removed from the parent invoke(s). This could happen when a landing pad is
shared by multiple invokes and is also a target of a normal edge from
elsewhere.

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

14 years agointroduce MCParsedAsmOperand
Chris Lattner [Thu, 14 Jan 2010 21:21:40 +0000 (21:21 +0000)]
introduce MCParsedAsmOperand

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

14 years agointroduce the MCParsedAsmOperand class.
Chris Lattner [Thu, 14 Jan 2010 21:20:55 +0000 (21:20 +0000)]
introduce the MCParsedAsmOperand class.

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

14 years agoSmall tweak to inline cost computation. Ext of i/fcmp results are mostly optimized...
Evan Cheng [Thu, 14 Jan 2010 21:04:31 +0000 (21:04 +0000)]
Small tweak to inline cost computation. Ext of i/fcmp results are mostly optimized away in codegen.

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

14 years agoRemove spurious semicolon.
Anton Korobeynikov [Thu, 14 Jan 2010 20:19:51 +0000 (20:19 +0000)]
Remove spurious semicolon.
Patch by Diego Iastrubni!

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

14 years agoIn debug builds, assert that function-local metadata has only 1 parent function
Victor Hernandez [Thu, 14 Jan 2010 20:12:34 +0000 (20:12 +0000)]
In debug builds, assert that function-local metadata has only 1 parent function

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

14 years agoReduce the inlining cost of functions that contain calls to easily,
Eric Christopher [Thu, 14 Jan 2010 20:12:34 +0000 (20:12 +0000)]
Reduce the inlining cost of functions that contain calls to easily,
and frequently optimized functions.

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

14 years agoSimplify code that chooses when to enumerate function-local metadata operands
Victor Hernandez [Thu, 14 Jan 2010 19:54:11 +0000 (19:54 +0000)]
Simplify code that chooses when to enumerate function-local metadata operands

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

14 years agoAvoid modifying ValueEnumerator's MD ValueList by choosing which function-local MD...
Victor Hernandez [Thu, 14 Jan 2010 19:38:44 +0000 (19:38 +0000)]
Avoid modifying ValueEnumerator's MD ValueList by choosing which function-local MD to write based on the function currently being written

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

14 years agoARM "l" constraint for inline asm means R0-R7, also for Thumb2.
Jakob Stoklund Olesen [Thu, 14 Jan 2010 18:19:56 +0000 (18:19 +0000)]
ARM "l" constraint for inline asm means R0-R7, also for Thumb2.

This is consistent with llvm-gcc's arm/constraints.md.

Certain instructions (e.g. CBZ, CBNZ) require a low register, even in Thumb2
mode.

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

14 years agoUse ENABLE_ASSERTIONS throughout.
Bill Wendling [Thu, 14 Jan 2010 10:19:55 +0000 (10:19 +0000)]
Use ENABLE_ASSERTIONS throughout.

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

14 years agoFix a codegen abort seen in 483.xalancbmk.
Dan Gohman [Thu, 14 Jan 2010 03:08:49 +0000 (03:08 +0000)]
Fix a codegen abort seen in 483.xalancbmk.

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

14 years agoTest for r93409.
Evan Cheng [Thu, 14 Jan 2010 02:24:50 +0000 (02:24 +0000)]
Test for r93409.

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

14 years agoExtend testcase to also test llvm.dbg.value intrinsic
Victor Hernandez [Thu, 14 Jan 2010 02:12:41 +0000 (02:12 +0000)]
Extend testcase to also test llvm.dbg.value intrinsic

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

14 years agoNow that LLParser, AsmWriter, BitcodeReader, and BitcodeWriter all correctly support...
Victor Hernandez [Thu, 14 Jan 2010 01:51:28 +0000 (01:51 +0000)]
Now that LLParser, AsmWriter, BitcodeReader, and BitcodeWriter all correctly support function-local metadata, test it.

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

14 years agoIn WriteFunction(), write function-local metadata before we write the instructions...
Victor Hernandez [Thu, 14 Jan 2010 01:50:08 +0000 (01:50 +0000)]
In WriteFunction(), write function-local metadata before we write the instructions, so instruction's references to metadata are fully resolved by the time they get written.

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