OSDN Git Service
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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