oota-llvm.git
13 years agoConstify some arguments.
Eric Christopher [Tue, 20 Jul 2010 06:52:21 +0000 (06:52 +0000)]
Constify some arguments.

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

13 years agoRevert r108794, "Separate PassInfo into two classes: a constructor-free
Daniel Dunbar [Tue, 20 Jul 2010 03:06:07 +0000 (03:06 +0000)]
Revert r108794, "Separate PassInfo into two classes: a constructor-free
superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).", it is
breaking teh everything.

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

13 years agoSeparate PassInfo into two classes: a constructor-free superclass (StaticPassInfo...
Owen Anderson [Tue, 20 Jul 2010 01:19:58 +0000 (01:19 +0000)]
Separate PassInfo into two classes: a constructor-free superclass (StaticPassInfo) and a constructor-ful subclass (PassInfo).

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

13 years agoMinor code simplification.
Dan Gohman [Tue, 20 Jul 2010 00:57:18 +0000 (00:57 +0000)]
Minor code simplification.

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

13 years agoDon't hoist things out of a large switch inside a
Dale Johannesen [Tue, 20 Jul 2010 00:50:13 +0000 (00:50 +0000)]
Don't hoist things out of a large switch inside a
loop, for the reasons in the comments.  This is a
major win on 253.perlbmk on ARM Darwin.  I expect it
to be a good heuristic in general, but it's possible
some things will regress; I'll be watching.
7940152.

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

13 years agox86_32 tests for vbroadcast
Bruno Cardoso Lopes [Tue, 20 Jul 2010 00:11:50 +0000 (00:11 +0000)]
x86_32 tests for vbroadcast

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

13 years agoAdd AVX vbroadcast new instruction
Bruno Cardoso Lopes [Tue, 20 Jul 2010 00:11:13 +0000 (00:11 +0000)]
Add AVX vbroadcast new instruction

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

13 years agoUpdate CMake files.
Daniel Dunbar [Tue, 20 Jul 2010 00:08:13 +0000 (00:08 +0000)]
Update CMake files.

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

13 years agoCorrect line info for declarations/definitions. Radar 8063111.
Stuart Hastings [Mon, 19 Jul 2010 23:56:30 +0000 (23:56 +0000)]
Correct line info for declarations/definitions.  Radar 8063111.

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

13 years agosink the arm implementations of ASmPrinter and MCInstLower
Chris Lattner [Mon, 19 Jul 2010 23:44:46 +0000 (23:44 +0000)]
sink the arm implementations of ASmPrinter and MCInstLower
out of the AsmPrinter directory into libarm.  Now the
ARM InstPrinters depend jsut on the MC stuff, not on vmcore
or codegen.

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

13 years agofix a layering problem by moving the x86 implementation
Chris Lattner [Mon, 19 Jul 2010 23:41:57 +0000 (23:41 +0000)]
fix a layering problem by moving the x86 implementation
of AsmPrinter and InstLowering into libx86 and out of the
asmprinter subdirectory.  Now X86/AsmPrinter just depends on
MC stuff, not all of codegen and LLVM IR.

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

13 years agoAdd 256-bit vaddsub, vhadd, vhsub, vblend and vdpp instructions!
Bruno Cardoso Lopes [Mon, 19 Jul 2010 23:32:44 +0000 (23:32 +0000)]
Add 256-bit vaddsub, vhadd, vhsub, vblend and vdpp instructions!

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

13 years agoFix memory leak reported by valgrind.
Devang Patel [Mon, 19 Jul 2010 23:25:39 +0000 (23:25 +0000)]
Fix memory leak reported by valgrind.
Do not visit operands of old instruction. Visit all operands of new instruction.

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

13 years agoAfter a custom inserter, in a block which has constant instructions,
Dan Gohman [Mon, 19 Jul 2010 22:48:56 +0000 (22:48 +0000)]
After a custom inserter, in a block which has constant instructions,
update the current basic block in addition to the current insert
position, so that they remain consistent. This fixes rdar://8204072.

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

13 years agoARM has to provide its own TargetLowering::findRepresentativeClass because its scalar...
Evan Cheng [Mon, 19 Jul 2010 22:15:08 +0000 (22:15 +0000)]
ARM has to provide its own TargetLowering::findRepresentativeClass because its scalar floating point registers alias its vector registers.

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

13 years agolong past time I added myself to this, I suppose.
Jim Grosbach [Mon, 19 Jul 2010 22:04:28 +0000 (22:04 +0000)]
long past time I added myself to this, I suppose.

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

13 years agoChange the implemented interfaces list on PassInfo from a std::vector to a manually...
Owen Anderson [Mon, 19 Jul 2010 21:44:48 +0000 (21:44 +0000)]
Change the implemented interfaces list on PassInfo from a std::vector to a manually implemented
linked list.  This is a little slower and involves more malloc'ing, but these lists are
typically short, and it allows PassInfo to be entirely constant initializable.

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

13 years agoSave a copy of the unstripped libLTO.dylib in $SYM_DIR. Clean up the code
Bob Wilson [Mon, 19 Jul 2010 21:33:07 +0000 (21:33 +0000)]
Save a copy of the unstripped libLTO.dylib in $SYM_DIR.  Clean up the code
for dealing with libLTO.dylib to put it all in one place and to allow
use of DISABLE_USR_LINKS.

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

13 years agoMC/Mach-O: Silently ignore .file directives instead of error'ing out on
Daniel Dunbar [Mon, 19 Jul 2010 20:44:20 +0000 (20:44 +0000)]
MC/Mach-O: Silently ignore .file directives instead of error'ing out on
them. They aren't important enough to abort the entire assembly, and failing
early makes testing more annoying.

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

13 years agoX86: Mark JMP{32,64}[mr] as requires 32-bit/64-bit mode. They are the same
Daniel Dunbar [Mon, 19 Jul 2010 20:44:16 +0000 (20:44 +0000)]
X86: Mark JMP{32,64}[mr] as requires 32-bit/64-bit mode. They are the same
instruction, we only want to allow the one for the current subtarget.
 - This also fixes suffix matching for jmp instructions, because it eliminates
   the ambiguity between 'jmpl' and 'jmpq'.

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

13 years agoRegenerate.
Owen Anderson [Mon, 19 Jul 2010 19:42:01 +0000 (19:42 +0000)]
Regenerate.

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

13 years agoRemove extraneous character.
Owen Anderson [Mon, 19 Jul 2010 19:41:52 +0000 (19:41 +0000)]
Remove extraneous character.

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

13 years agoRegenerate.
Owen Anderson [Mon, 19 Jul 2010 19:24:55 +0000 (19:24 +0000)]
Regenerate.

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

13 years agoAdd support for detecting <mach-o/getsect.h> and the getsect() function.
Owen Anderson [Mon, 19 Jul 2010 19:24:37 +0000 (19:24 +0000)]
Add support for detecting <mach-o/getsect.h> and the getsect() function.

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

13 years agoTweak per Chris' comments.
Owen Anderson [Mon, 19 Jul 2010 19:23:32 +0000 (19:23 +0000)]
Tweak per Chris' comments.

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

13 years agoTeach computeRegisterProperties() to compute "representative" register class for...
Evan Cheng [Mon, 19 Jul 2010 18:47:01 +0000 (18:47 +0000)]
Teach computeRegisterProperties() to compute "representative" register class for legal value types. A "representative" register class is the largest legal super-reg register class for a value type. e.g. On i386, GR32 is the rep register class for i8 / i16 / i32; on x86_64 it would be GR64.

This property will be used by the register pressure tracking instruction scheduler.

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

13 years agoSpillers may alter MachineLoopInfo when breaking critical edges, so make it
Jakob Stoklund Olesen [Mon, 19 Jul 2010 18:41:20 +0000 (18:41 +0000)]
Spillers may alter MachineLoopInfo when breaking critical edges, so make it
non-const.

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

13 years agoTestcase for 108732 (8195660).
Dale Johannesen [Mon, 19 Jul 2010 18:22:40 +0000 (18:22 +0000)]
Testcase for 108732 (8195660).

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

13 years agoFix PR 7662.
Devang Patel [Mon, 19 Jul 2010 17:53:55 +0000 (17:53 +0000)]
Fix PR 7662.
Do not try to insert local variable info to a DIE used for function declaration.

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

13 years agoSince ARM emits inline jump tables as part of the ConstantIsland pass,
Jim Grosbach [Mon, 19 Jul 2010 17:20:38 +0000 (17:20 +0000)]
Since ARM emits inline jump tables as part of the ConstantIsland pass,
it should set the jump table encloding the EK_Inline. This prevents
a second, unused, copy of the table from being emitted after the function
body. PR6581.

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

13 years agorevert so I can get the right PR# in the log message.
Jim Grosbach [Mon, 19 Jul 2010 17:19:40 +0000 (17:19 +0000)]
revert so I can get the right PR# in the log message.

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

13 years agoSince ARM emits inline jump tables as part of the ConstantIsland pass,
Jim Grosbach [Mon, 19 Jul 2010 17:18:28 +0000 (17:18 +0000)]
Since ARM emits inline jump tables as part of the ConstantIsland pass,
it should set the jump table encloding the EK_Inline. This prevents
a second, unused, copy of the table from being emitted after the function
body. PR7499.

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

13 years agoRemove code duplication.
Mikhail Glushenkov [Mon, 19 Jul 2010 17:17:22 +0000 (17:17 +0000)]
Remove code duplication.

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

13 years agoBetter error reporting for switch_list.
Mikhail Glushenkov [Mon, 19 Jul 2010 17:17:10 +0000 (17:17 +0000)]
Better error reporting for switch_list.

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

13 years agoUpdate CMake build.
Benjamin Kramer [Mon, 19 Jul 2010 15:37:03 +0000 (15:37 +0000)]
Update CMake build.

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

13 years agoExpose BasicBlock::moveBefore and moveAfter in C API, patch
Duncan Sands [Mon, 19 Jul 2010 15:31:07 +0000 (15:31 +0000)]
Expose BasicBlock::moveBefore and moveAfter in C API, patch
by Benjamin Saunders.

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

13 years agoRender MachineFunctions to HTML pages, with options to render register
Lang Hames [Mon, 19 Jul 2010 15:22:28 +0000 (15:22 +0000)]
Render MachineFunctions to HTML pages, with options to render register
pressure estimates and liveness alongside.

Still experimental.

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

13 years agoprecompute 20 tags
Gabor Greif [Mon, 19 Jul 2010 14:48:15 +0000 (14:48 +0000)]
precompute 20 tags

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

13 years agoFix indentation.
Duncan Sands [Mon, 19 Jul 2010 09:36:45 +0000 (09:36 +0000)]
Fix indentation.

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

13 years agoExpose JIT::recompileAndRelinkFunction for use through the C API.
Duncan Sands [Mon, 19 Jul 2010 09:33:13 +0000 (09:33 +0000)]
Expose JIT::recompileAndRelinkFunction for use through the C API.
Patch by Benjamin Saunders.

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

13 years agoTestcase for r108687.
Owen Anderson [Mon, 19 Jul 2010 08:14:26 +0000 (08:14 +0000)]
Testcase for r108687.

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

13 years agoRemove r108639 now that it is handled by InstCombine instead.
Owen Anderson [Mon, 19 Jul 2010 08:10:24 +0000 (08:10 +0000)]
Remove r108639 now that it is handled by InstCombine instead.

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

13 years agoReimplement r108639 in InstCombine rather than DAGCombine.
Owen Anderson [Mon, 19 Jul 2010 08:09:34 +0000 (08:09 +0000)]
Reimplement r108639 in InstCombine rather than DAGCombine.

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

13 years agoX86-64: Mark WINCALL and more tail call instructions as code gen only.
Daniel Dunbar [Mon, 19 Jul 2010 07:21:07 +0000 (07:21 +0000)]
X86-64: Mark WINCALL and more tail call instructions as code gen only.

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

13 years agoX86: Mark some tail call pseduo instruction as code gen only.
Daniel Dunbar [Mon, 19 Jul 2010 07:21:04 +0000 (07:21 +0000)]
X86: Mark some tail call pseduo instruction as code gen only.

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

13 years agoX86: Mark In32/64BitMode on LEAVE[64] and SYSEXIT[64].
Daniel Dunbar [Mon, 19 Jul 2010 07:21:01 +0000 (07:21 +0000)]
X86: Mark In32/64BitMode on LEAVE[64] and SYSEXIT[64].

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

13 years ago_[A-Z] identifiers are reserved for the implementation.
Michael J. Spencer [Mon, 19 Jul 2010 06:26:19 +0000 (06:26 +0000)]
_[A-Z] identifiers are reserved for the implementation.

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

13 years agoMC/X86: We now match instructions like "incl %eax" correctly for the arch we are
Daniel Dunbar [Mon, 19 Jul 2010 06:14:54 +0000 (06:14 +0000)]
MC/X86: We now match instructions like "incl %eax" correctly for the arch we are
assembling; remove crufty custom cleanup code.

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

13 years agoX86: Mark MOV.*_{TC,NOREX} instruction as code gen only, they aren't real.
Daniel Dunbar [Mon, 19 Jul 2010 06:14:49 +0000 (06:14 +0000)]
X86: Mark MOV.*_{TC,NOREX} instruction as code gen only, they aren't real.

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

13 years agoX86: MOV8o8a, MOV8ao8, etc. are only valid in 32-bit mode.
Daniel Dunbar [Mon, 19 Jul 2010 06:14:44 +0000 (06:14 +0000)]
X86: MOV8o8a, MOV8ao8, etc. are only valid in 32-bit mode.

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

13 years agoMC: Add WinCOFFStreamer implementation and merge common code from MachO
Michael J. Spencer [Mon, 19 Jul 2010 06:13:10 +0000 (06:13 +0000)]
MC: Add WinCOFFStreamer implementation and merge common code from MachO
into MCObjectStreamer.

Origonal Windows COFF implementation by Nathan Jedffords.

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

13 years agoTblGen/AsmMatcher: Add support for honoring instruction Requires<[]> attributes as...
Daniel Dunbar [Mon, 19 Jul 2010 05:44:09 +0000 (05:44 +0000)]
TblGen/AsmMatcher: Add support for honoring instruction Requires<[]> attributes as part of the matcher.
 - Currently includes a hack to limit ourselves to "In32BitMode" and "In64BitMode", because we don't have the other infrastructure to properly deal with setting SSE, etc. features on X86.

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

13 years agoAlphabetize.
Bill Wendling [Mon, 19 Jul 2010 04:52:56 +0000 (04:52 +0000)]
Alphabetize.

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

13 years agoMake .align parse correctly on platforms where .align is measured in bytes.
Eli Friedman [Mon, 19 Jul 2010 04:17:25 +0000 (04:17 +0000)]
Make .align parse correctly on platforms where .align is measured in bytes.

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

13 years agollvmc: Add a new option type (switch_list).
Mikhail Glushenkov [Mon, 19 Jul 2010 03:16:25 +0000 (03:16 +0000)]
llvmc: Add a new option type (switch_list).

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

13 years agotests: Force another triple.
Daniel Dunbar [Mon, 19 Jul 2010 00:43:58 +0000 (00:43 +0000)]
tests: Force another triple.

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

13 years agoTarget: Give the TargetAsmParser access to the TargetMachine.
Daniel Dunbar [Mon, 19 Jul 2010 00:33:49 +0000 (00:33 +0000)]
Target: Give the TargetAsmParser access to the TargetMachine.
 - Unfortunate, but necessary for now to handle subtarget instruction matching. Eventually we should factor out the lower level target machine information so we don't need to do this.

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

13 years agoedis: Save the TargetMachine in the EDDisassembler object.
Daniel Dunbar [Mon, 19 Jul 2010 00:33:43 +0000 (00:33 +0000)]
edis: Save the TargetMachine in the EDDisassembler object.

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

13 years agoTest commit
Michael J. Spencer [Sun, 18 Jul 2010 23:46:13 +0000 (23:46 +0000)]
Test commit

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

13 years agoMC/AsmParser: Stop playing unsafe member function pointer calls, this isn't
Daniel Dunbar [Sun, 18 Jul 2010 22:22:07 +0000 (22:22 +0000)]
MC/AsmParser: Stop playing unsafe member function pointer calls, this isn't
portable enough.
 - Downside is we now double dispatch through a stub function, but this isn't
   performance critical.

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

13 years agotests: Force triples.
Daniel Dunbar [Sun, 18 Jul 2010 21:16:10 +0000 (21:16 +0000)]
tests: Force triples.

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

13 years agoMC/AsmParser: Fix .abort and .secure_log_unique to accept arbitrary token
Daniel Dunbar [Sun, 18 Jul 2010 20:15:59 +0000 (20:15 +0000)]
MC/AsmParser: Fix .abort and .secure_log_unique to accept arbitrary token
sequences, not just strings.

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

13 years agoMC/AsmParser: Add macro argument substitution support.
Daniel Dunbar [Sun, 18 Jul 2010 19:00:10 +0000 (19:00 +0000)]
MC/AsmParser: Add macro argument substitution support.

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

13 years agoMC/AsmParser: Add basic support for macro instantiation.
Daniel Dunbar [Sun, 18 Jul 2010 18:54:11 +0000 (18:54 +0000)]
MC/AsmParser: Add basic support for macro instantiation.

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

13 years agoMC/AsmParser: Add basic parsing support for .macro definitions.
Daniel Dunbar [Sun, 18 Jul 2010 18:47:21 +0000 (18:47 +0000)]
MC/AsmParser: Add basic parsing support for .macro definitions.

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

13 years agodaniel doesn't hate me, he hates macpython 2.5, which
Chris Lattner [Sun, 18 Jul 2010 18:42:18 +0000 (18:42 +0000)]
daniel doesn't hate me, he hates macpython 2.5, which
is a very reasonable position on life!

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

13 years agoMC/AsmParser: Add .macros_{off,on} support, not that makes sense since we don't
Daniel Dunbar [Sun, 18 Jul 2010 18:38:02 +0000 (18:38 +0000)]
MC/AsmParser: Add .macros_{off,on} support, not that makes sense since we don't
support macros.

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

13 years agoMC/AsmParser: Use Error() instead of calling PrintMessage() directly.
Daniel Dunbar [Sun, 18 Jul 2010 18:31:45 +0000 (18:31 +0000)]
MC/AsmParser: Use Error() instead of calling PrintMessage() directly.

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

13 years agoMC/AsmParser: Fix TokError() to accept a Twine.
Daniel Dunbar [Sun, 18 Jul 2010 18:31:42 +0000 (18:31 +0000)]
MC/AsmParser: Fix TokError() to accept a Twine.

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

13 years agoMC/AsmParser: Hide the AsmParser implementation.
Daniel Dunbar [Sun, 18 Jul 2010 18:31:38 +0000 (18:31 +0000)]
MC/AsmParser: Hide the AsmParser implementation.

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

13 years agoMC: Move several clients to using AsmParser constructor function.
Daniel Dunbar [Sun, 18 Jul 2010 18:31:33 +0000 (18:31 +0000)]
MC: Move several clients to using AsmParser constructor function.

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

13 years agollvm-mc: Fix llvm-mc -as-lex.
Daniel Dunbar [Sun, 18 Jul 2010 18:31:28 +0000 (18:31 +0000)]
llvm-mc: Fix llvm-mc -as-lex.

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

13 years agoFix struct/class mismatch
Douglas Gregor [Sun, 18 Jul 2010 11:47:56 +0000 (11:47 +0000)]
Fix struct/class mismatch

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

13 years agoAdd a testcase for r108639.
Owen Anderson [Sun, 18 Jul 2010 08:57:19 +0000 (08:57 +0000)]
Add a testcase for r108639.

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

13 years agoAdd a DAGCombine xform to fold away redundant float->double->float conversions around...
Owen Anderson [Sun, 18 Jul 2010 08:47:54 +0000 (08:47 +0000)]
Add a DAGCombine xform to fold away redundant float->double->float conversions around sqrt instructions.
I am assured by people more knowledgeable than me that there are no rounding issues in eliminating this.

This fixed <rdar://problem/8197504>.

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

13 years agoAdded -pbqp-pre-coalescing flag to PBQP. If enabled this will cause PBQP to require
Lang Hames [Sun, 18 Jul 2010 00:57:59 +0000 (00:57 +0000)]
Added -pbqp-pre-coalescing flag to PBQP. If enabled this will cause PBQP to require
LoopSplitter be run prior to register allocation.

Entirely for testing purposes at the moment.

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

13 years agofullStopTag cannot happen here, it is handled above
Gabor Greif [Sat, 17 Jul 2010 20:52:46 +0000 (20:52 +0000)]
fullStopTag cannot happen here, it is handled above

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

13 years agoFix what seems like a clear buffer overflow, noticed by cppcheck.
Duncan Sands [Sat, 17 Jul 2010 20:23:37 +0000 (20:23 +0000)]
Fix what seems like a clear buffer overflow, noticed by cppcheck.

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

13 years agoUse isPrologLabel() instead of checking the opcode directly.
Bill Wendling [Sat, 17 Jul 2010 19:18:44 +0000 (19:18 +0000)]
Use isPrologLabel() instead of checking the opcode directly.

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

13 years agothe stackifier is global!
Chris Lattner [Sat, 17 Jul 2010 17:42:04 +0000 (17:42 +0000)]
the stackifier is global!

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

13 years agodoxygenify some comments.
Chris Lattner [Sat, 17 Jul 2010 17:40:51 +0000 (17:40 +0000)]
doxygenify some comments.

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

13 years agoupdate CMakeLists.txt
Zhongxing Xu [Sat, 17 Jul 2010 12:12:42 +0000 (12:12 +0000)]
update CMakeLists.txt

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

13 years agoRemoved unused inRange variable.
Lang Hames [Sat, 17 Jul 2010 11:43:07 +0000 (11:43 +0000)]
Removed unused inRange variable.

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

13 years agoSwitched to array_pod_sort as per Chris's suggestion.
Lang Hames [Sat, 17 Jul 2010 09:21:53 +0000 (09:21 +0000)]
Switched to array_pod_sort as per Chris's suggestion.

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

13 years agoLoopSplitter - intended to split live intervals over loop boundaries.
Lang Hames [Sat, 17 Jul 2010 07:34:01 +0000 (07:34 +0000)]
LoopSplitter - intended to split live intervals over loop boundaries.
Still very much under development. Comments and fixes will be forthcoming.

(This commit includes some small tweaks to LiveIntervals & LoopInfo to support the splitter)

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

13 years agoAnother attempt at getting the clang self-host to like my instcombine patch.
Owen Anderson [Sat, 17 Jul 2010 06:56:35 +0000 (06:56 +0000)]
Another attempt at getting the clang self-host to like my instcombine patch.

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

13 years agoIterating over sets of pointers in a heuristic was a bad idea. Switching
Lang Hames [Sat, 17 Jul 2010 06:31:41 +0000 (06:31 +0000)]
Iterating over sets of pointers in a heuristic was a bad idea. Switching
any command line paramater changed the register allocation produced by
PBQP.

Turns out variety is not the spice of life.

Fixed some comparators, added others. All good now.

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

13 years agoStart of .sleb128/.uleb128 parsing support.
Eli Friedman [Sat, 17 Jul 2010 06:27:28 +0000 (06:27 +0000)]
Start of .sleb128/.uleb128 parsing support.

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

13 years agounit test to go along with r108610
Chris Lattner [Sat, 17 Jul 2010 06:14:03 +0000 (06:14 +0000)]
unit test to go along with r108610

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

13 years agoFix PR7658, a problem where type refinement can trigger
Chris Lattner [Sat, 17 Jul 2010 06:13:52 +0000 (06:13 +0000)]
Fix PR7658, a problem where type refinement can trigger
constant replacement which was botching its handling of
types.  Use of getType() instead of getRawType() was causing
the type map in constant folding to be updated wrong.

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

13 years agoWork-in-progress parsing for ELF .section directive.
Eli Friedman [Sat, 17 Jul 2010 04:29:04 +0000 (04:29 +0000)]
Work-in-progress parsing for ELF .section directive.

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

13 years agoAdd combiner patterns to more effectively utilize the BFI (bitfield insert)
Jim Grosbach [Sat, 17 Jul 2010 03:30:54 +0000 (03:30 +0000)]
Add combiner patterns to more effectively utilize the BFI (bitfield insert)
instruction for non-constant operands. This includes the case referenced
in the README.txt regarding a bitfield copy.

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

13 years agoTest for ELF .size directive.
Eli Friedman [Sat, 17 Jul 2010 03:15:24 +0000 (03:15 +0000)]
Test for ELF .size directive.

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

13 years agoAdd support for parsing .size directives for ELF.
Eli Friedman [Sat, 17 Jul 2010 03:09:18 +0000 (03:09 +0000)]
Add support for parsing .size directives for ELF.

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

13 years agoMC/AsmParser: Lift Run() and TargetParser to base class.
Daniel Dunbar [Sat, 17 Jul 2010 02:26:10 +0000 (02:26 +0000)]
MC/AsmParser: Lift Run() and TargetParser to base class.

Also, add constructor function for creating AsmParser instances.

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

13 years agoadd BFI to getTargetNodeName()
Jim Grosbach [Sat, 17 Jul 2010 01:50:57 +0000 (01:50 +0000)]
add BFI to getTargetNodeName()

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

13 years agoFix logic think-o
Jim Grosbach [Sat, 17 Jul 2010 01:22:19 +0000 (01:22 +0000)]
Fix logic think-o

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

13 years agoRemove unnecessary check that was subsumed into canRealignStack.
Eric Christopher [Sat, 17 Jul 2010 00:33:04 +0000 (00:33 +0000)]
Remove unnecessary check that was subsumed into canRealignStack.

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

13 years agoPropagate alloca alignment information via variable size object frame
Eric Christopher [Sat, 17 Jul 2010 00:28:22 +0000 (00:28 +0000)]
Propagate alloca alignment information via variable size object frame
information.

No functional change yet.

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

13 years agoMake more explicit and add some currently disabled error messages for
Eric Christopher [Sat, 17 Jul 2010 00:27:24 +0000 (00:27 +0000)]
Make more explicit and add some currently disabled error messages for
stack realignment on ARM.

Also check for function attributes as we do on X86 as well as
make explicit that we're checking can as well as needs in this function.

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