oota-llvm.git
15 years agoTOT is 2.7svn for CMake, too
Douglas Gregor [Sat, 22 Aug 2009 06:30:31 +0000 (06:30 +0000)]
TOT is 2.7svn for CMake, too

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

15 years agoChange SmallString::operator{=,+=} to take a StringRef.
Daniel Dunbar [Sat, 22 Aug 2009 06:06:46 +0000 (06:06 +0000)]
Change SmallString::operator{=,+=} to take a StringRef.

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

15 years agoRegenerate configure for 2.7svn
Tanya Lattner [Sat, 22 Aug 2009 04:37:30 +0000 (04:37 +0000)]
Regenerate configure for 2.7svn

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

15 years agoTOT is now 2.7svn
Tanya Lattner [Sat, 22 Aug 2009 04:33:54 +0000 (04:33 +0000)]
TOT is now 2.7svn

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

15 years agorevert r79708 + r79711
Chris Lattner [Sat, 22 Aug 2009 04:07:34 +0000 (04:07 +0000)]
revert r79708 + r79711

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

15 years agoMake x86 test actually test x86 code generation. Fix the
Eli Friedman [Sat, 22 Aug 2009 03:13:10 +0000 (03:13 +0000)]
Make x86 test actually test x86 code generation.  Fix the
construct on ARM, which was breaking by coincidence, and add a similar
testcase for ARM.

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

15 years agoAdd new intrinsics for Neon vldN_lane and vstN_lane operations.
Bob Wilson [Sat, 22 Aug 2009 02:28:46 +0000 (02:28 +0000)]
Add new intrinsics for Neon vldN_lane and vstN_lane operations.

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

15 years agoNote down a few bits and bobs off the top of my head for ReleaseNotes-2.6.html
Edward O'Callaghan [Sat, 22 Aug 2009 02:17:22 +0000 (02:17 +0000)]
Note down a few bits and bobs off the top of my head for ReleaseNotes-2.6.html

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

15 years agoAdd basic information about SJLJ EH
Jim Grosbach [Sat, 22 Aug 2009 01:42:39 +0000 (01:42 +0000)]
Add basic information about SJLJ EH

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

15 years agorename test, make more specific.
Chris Lattner [Sat, 22 Aug 2009 00:44:24 +0000 (00:44 +0000)]
rename test, make more specific.

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

15 years agoActually remove unused static. Previous commit removed trailing
Eric Christopher [Sat, 22 Aug 2009 00:41:47 +0000 (00:41 +0000)]
Actually remove unused static. Previous commit removed trailing
whitespace.

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

15 years agoRemove unused static.
Eric Christopher [Sat, 22 Aug 2009 00:40:45 +0000 (00:40 +0000)]
Remove unused static.

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

15 years agoEase contention on this lock by noticing that all writes to the VTs array will
Owen Anderson [Sat, 22 Aug 2009 00:29:12 +0000 (00:29 +0000)]
Ease contention on this lock by noticing that all writes to the VTs array will
be of (dynamically) constant values, so races on it are immaterial.  We just need
to ensure that at least one write has completed before return the pointer into it.

With this change, parllc exhibits essentially no overhead on 403.gcc.

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

15 years agoAdd missing RUN line
Anton Korobeynikov [Sat, 22 Aug 2009 00:28:50 +0000 (00:28 +0000)]
Add missing RUN line

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

15 years agoReduce the test
Anton Korobeynikov [Sat, 22 Aug 2009 00:18:11 +0000 (00:18 +0000)]
Reduce the test

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

15 years agoUse CHECK-NEXT to make sure we're only getting one copy of each shuffle
Bob Wilson [Sat, 22 Aug 2009 00:13:23 +0000 (00:13 +0000)]
Use CHECK-NEXT to make sure we're only getting one copy of each shuffle
instruction.

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

15 years agoMake unit-at-a-time on by default to match the behavior of llvm-gcc.
Eric Christopher [Fri, 21 Aug 2009 23:30:30 +0000 (23:30 +0000)]
Make unit-at-a-time on by default to match the behavior of llvm-gcc.

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

15 years agollvm-mc: Improve handling of implicit alignment for magic section directives
Daniel Dunbar [Fri, 21 Aug 2009 23:30:15 +0000 (23:30 +0000)]
llvm-mc: Improve handling of implicit alignment for magic section directives
(e.g., .objc_message_refs).
 - Just emit a .align when we see the directive; this isn't exactly what 'as'
   does but in practice it should be ok, at least for now. See FIXME.

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

15 years agoKill trailing whitespace.
Eric Christopher [Fri, 21 Aug 2009 23:29:40 +0000 (23:29 +0000)]
Kill trailing whitespace.

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

15 years agoremove the directory too
Chris Lattner [Fri, 21 Aug 2009 23:13:12 +0000 (23:13 +0000)]
remove the directory too

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

15 years agoRevert r79563
Chris Lattner [Fri, 21 Aug 2009 23:12:47 +0000 (23:12 +0000)]
Revert r79563

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

15 years agorevert r79562 + r79563
Chris Lattner [Fri, 21 Aug 2009 23:12:15 +0000 (23:12 +0000)]
revert r79562 + r79563

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

15 years agoMake MSVC happy.
Daniel Dunbar [Fri, 21 Aug 2009 23:11:36 +0000 (23:11 +0000)]
Make MSVC happy.

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

15 years agoFix typo.
Anton Korobeynikov [Fri, 21 Aug 2009 23:09:47 +0000 (23:09 +0000)]
Fix typo.

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

15 years agorevert r79631
Chris Lattner [Fri, 21 Aug 2009 23:08:45 +0000 (23:08 +0000)]
revert r79631

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

15 years agorevert 79631
Chris Lattner [Fri, 21 Aug 2009 23:08:09 +0000 (23:08 +0000)]
revert 79631

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

15 years agollvm-mc/Mach-O: Support .o emission for .org and .align.
Daniel Dunbar [Fri, 21 Aug 2009 23:07:38 +0000 (23:07 +0000)]
llvm-mc/Mach-O: Support .o emission for .org and .align.

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

15 years agollvm-mc: In a .fill directive, still honor .align even if invalid maximum bytes
Daniel Dunbar [Fri, 21 Aug 2009 23:01:53 +0000 (23:01 +0000)]
llvm-mc: In a .fill directive, still honor .align even if invalid maximum bytes
count is given (this matches 'as').

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

15 years agoImplement APInt <-> APFloat conversion for IEEE 128-bit floats.
Anton Korobeynikov [Fri, 21 Aug 2009 22:10:30 +0000 (22:10 +0000)]
Implement APInt <-> APFloat conversion for IEEE 128-bit floats.
This fixes PR2555

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

15 years agoRename ARM "lane_cst" operands to "nohash_imm" since they are used for
Bob Wilson [Fri, 21 Aug 2009 21:58:55 +0000 (21:58 +0000)]
Rename ARM "lane_cst" operands to "nohash_imm" since they are used for
several things other than Neon vector lane numbers.  For inline assembly
operands with a "c" print code, check that they really are immediates.

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

15 years agoFix a bug where the DWARF emitter in the JIT was not initializing alignment
Reid Kleckner [Fri, 21 Aug 2009 21:03:57 +0000 (21:03 +0000)]
Fix a bug where the DWARF emitter in the JIT was not initializing alignment
bytes.  libgcc doesn't seem to mind, but if you pass this DWARF to GDB, it
doesn't like it.

Also make the JIT memory manager to initialize it's memory to garbage in debug
mode, so that it's easier to find bugs like these in the future.

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

15 years agoMatch VTRN, VZIP, and VUZP shuffles. Restore the tests for these operations,
Bob Wilson [Fri, 21 Aug 2009 20:54:19 +0000 (20:54 +0000)]
Match VTRN, VZIP, and VUZP shuffles.  Restore the tests for these operations,
now using shuffles instead of intrinsics.

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

15 years agoAdd fcopysign instructions
Anton Korobeynikov [Fri, 21 Aug 2009 20:02:37 +0000 (20:02 +0000)]
Add fcopysign instructions

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

15 years agoTry again at privatizing the layout info map, with a rewritten patch.
Owen Anderson [Fri, 21 Aug 2009 19:59:12 +0000 (19:59 +0000)]
Try again at privatizing the layout info map, with a rewritten patch.
This preserves the existing behavior much more closely than my previous attempt.

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

15 years agoExpand few nodes until someone will be crazy enough to implement them natively :)
Anton Korobeynikov [Fri, 21 Aug 2009 18:52:42 +0000 (18:52 +0000)]
Expand few nodes until someone will be crazy enough to implement them natively :)

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

15 years agoTypo :(
Anton Korobeynikov [Fri, 21 Aug 2009 18:41:02 +0000 (18:41 +0000)]
Typo :(

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

15 years agoCorrect instruction names for subtract-with-borrow
Anton Korobeynikov [Fri, 21 Aug 2009 18:37:28 +0000 (18:37 +0000)]
Correct instruction names for subtract-with-borrow

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

15 years agollvm-mc/Mach-O: Support byte and fill value emission.
Daniel Dunbar [Fri, 21 Aug 2009 18:29:01 +0000 (18:29 +0000)]
llvm-mc/Mach-O: Support byte and fill value emission.

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

15 years agoDon't assume that the operand of an inttoptr is an pointer-sized integer.
Dan Gohman [Fri, 21 Aug 2009 18:27:26 +0000 (18:27 +0000)]
Don't assume that the operand of an inttoptr is an pointer-sized integer.

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

15 years agoFix typo. Should check both values of RangeUse for 0. Patch by Marius Wachtler.
Bill Wendling [Fri, 21 Aug 2009 18:16:06 +0000 (18:16 +0000)]
Fix typo. Should check both values of RangeUse for 0. Patch by Marius Wachtler.

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

15 years agoHandle 'r' inline asm constraint
Anton Korobeynikov [Fri, 21 Aug 2009 18:15:41 +0000 (18:15 +0000)]
Handle 'r' inline asm constraint

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

15 years agoFix a comment.
Bob Wilson [Fri, 21 Aug 2009 17:41:48 +0000 (17:41 +0000)]
Fix a comment.

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

15 years agoFix a problem noticed by gcc-4.4:
Duncan Sands [Fri, 21 Aug 2009 17:16:10 +0000 (17:16 +0000)]
Fix a problem noticed by gcc-4.4:
  warning: comparison is always true due to limited range of data type.

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

15 years agoChange getelementptr folding to use APInt instead of uint64_t for
Dan Gohman [Fri, 21 Aug 2009 16:52:54 +0000 (16:52 +0000)]
Change getelementptr folding to use APInt instead of uint64_t for
offset computations. This fixes a truncation bug on targets that
don't have 64-bit pointers.

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

15 years agoAdd some tests for vext.16 and vext.32.
Bob Wilson [Fri, 21 Aug 2009 16:35:24 +0000 (16:35 +0000)]
Add some tests for vext.16 and vext.32.

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

15 years agoFix -Asserts warning.
Daniel Dunbar [Fri, 21 Aug 2009 16:17:36 +0000 (16:17 +0000)]
Fix -Asserts warning.

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

15 years agollvm-mc: Accept .fill size of 8.
Daniel Dunbar [Fri, 21 Aug 2009 15:43:35 +0000 (15:43 +0000)]
llvm-mc: Accept .fill size of 8.

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

15 years agoFix a typo
Anton Korobeynikov [Fri, 21 Aug 2009 15:41:56 +0000 (15:41 +0000)]
Fix a typo

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

15 years agoRemoved profiling test, lli not available on all platforms.
Andreas Neustifter [Fri, 21 Aug 2009 15:27:35 +0000 (15:27 +0000)]
Removed profiling test, lli not available on all platforms.

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

15 years agoAdd a pass to do call graph analyis to overlay the autos and frame sections of
Sanjiv Gupta [Fri, 21 Aug 2009 15:22:33 +0000 (15:22 +0000)]
Add a pass to do call graph analyis to overlay the autos and frame sections of
leaf functions. This pass will be extended to color other nodes of the call tree
as well in future.

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

15 years agoFix build on platforms where stdint.h is not implicitly included in the standard...
Benjamin Kramer [Fri, 21 Aug 2009 13:59:49 +0000 (13:59 +0000)]
Fix build on platforms where stdint.h is not implicitly included in the standard headers.

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

15 years agoMore cpp backend fixes. Now for FP stuff.
Anton Korobeynikov [Fri, 21 Aug 2009 12:50:54 +0000 (12:50 +0000)]
More cpp backend fixes. Now for FP stuff.

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

15 years agoFix some typos and use type-based isel for VZIP/VUZP/VTRN
Anton Korobeynikov [Fri, 21 Aug 2009 12:41:42 +0000 (12:41 +0000)]
Fix some typos and use type-based isel for VZIP/VUZP/VTRN

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

15 years agoAdd lowering of ARM 4-element shuffles to multiple instructios via perfectshuffle...
Anton Korobeynikov [Fri, 21 Aug 2009 12:41:24 +0000 (12:41 +0000)]
Add lowering of ARM 4-element shuffles to multiple instructios via perfectshuffle-generated table.

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

15 years agoAdd simple cost model to perfect shuffle. Currently we're doing just greedy search...
Anton Korobeynikov [Fri, 21 Aug 2009 12:41:03 +0000 (12:41 +0000)]
Add simple cost model to perfect shuffle. Currently we're doing just greedy search for cost instead of (proper) dynamic programming approach.

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

15 years agoAdd nodes & dummy matchers for some v{zip,uzp,trn} instructions
Anton Korobeynikov [Fri, 21 Aug 2009 12:40:50 +0000 (12:40 +0000)]
Add nodes & dummy matchers for some v{zip,uzp,trn} instructions

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

15 years agoExpand EXTRACT_SUBVECTOR
Anton Korobeynikov [Fri, 21 Aug 2009 12:40:35 +0000 (12:40 +0000)]
Expand EXTRACT_SUBVECTOR

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

15 years agoProvide vext.{16,32}
Anton Korobeynikov [Fri, 21 Aug 2009 12:40:21 +0000 (12:40 +0000)]
Provide vext.{16,32}

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

15 years agoUse masks not nodes for vector shuffle predicates. Provide set of 'legal' masks,...
Anton Korobeynikov [Fri, 21 Aug 2009 12:40:07 +0000 (12:40 +0000)]
Use masks not nodes for vector shuffle predicates. Provide set of 'legal' masks, so legalizer won't infinite cycle

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

15 years agoWhitespace cleanup
Anton Korobeynikov [Fri, 21 Aug 2009 12:39:38 +0000 (12:39 +0000)]
Whitespace cleanup

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

15 years agoUpdate CMakeLists.
Benjamin Kramer [Fri, 21 Aug 2009 11:28:56 +0000 (11:28 +0000)]
Update CMakeLists.

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

15 years agobug 4530: Make debug information static to it is preservered during bitcode linking.
Richard Pennington [Fri, 21 Aug 2009 11:10:31 +0000 (11:10 +0000)]
bug 4530: Make debug information static to it is preservered during bitcode linking.

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

15 years agoAdded tests for Profiling Infrastructure.
Andreas Neustifter [Fri, 21 Aug 2009 09:36:28 +0000 (09:36 +0000)]
Added tests for Profiling Infrastructure.

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

15 years agoMake for 32-bit only.
Bill Wendling [Fri, 21 Aug 2009 09:29:26 +0000 (09:29 +0000)]
Make for 32-bit only.

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

15 years agoTweak svn:ignore
Daniel Dunbar [Fri, 21 Aug 2009 09:14:54 +0000 (09:14 +0000)]
Tweak svn:ignore

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

15 years agollvm-mc: Start MCAssembler and MCMachOStreamer.
Daniel Dunbar [Fri, 21 Aug 2009 09:11:24 +0000 (09:11 +0000)]
llvm-mc: Start MCAssembler and MCMachOStreamer.

 - Together these form the (Mach-O) back end of the assembler.

 - MCAssembler is the actual assembler backend, which is designed to have a
   reasonable API. This will eventually grow to support multiple object file
   implementations, but for now its Mach-O/i386 only.

 - MCMachOStreamer adapts the MCStreamer "actions" API to the MCAssembler API,
   e.g. converting the various directives into fragments, managing state like
   the current section, and so on.

 - llvm-mc will use the new backend via '-filetype=obj', which may eventually
   be, but is not yet, since I hear that people like assemblers which actually
   assemble.

 - The only thing that works at the moment is changing sections. For the time
   being I have a Python Mach-O dumping tool in test/scripts so this stuff can
   be easily tested, eventually I expect to replace this with a real LLVM tool.

 - More doxyments to come.

I assume that since this stuff doesn't touch any of the things which are part of
2.6 that it is ok to put this in not so long before the freeze, but if someone
objects let me know, I can pull it.

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

15 years agollvm-mc: Various section parsing fixes.
Daniel Dunbar [Fri, 21 Aug 2009 08:34:18 +0000 (08:34 +0000)]
llvm-mc: Various section parsing fixes.
 - Add missing flags for various Objective-C sections.

 - Fix names for [non_]lazy_symbol_pointer (these are misspelled in the manual).

 - .symbol_stub does not have the self modifying code flag set (this appears to
   be wrong in the manual?).

 - Add implicit alignment values; not yet used.

Also, call MCStreamer::Finish at the end of a successful parse.

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

15 years agoProbably should emit bitcode instead of text.
Bill Wendling [Fri, 21 Aug 2009 08:02:19 +0000 (08:02 +0000)]
Probably should emit bitcode instead of text.

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

15 years agoDon't install llvm-mc by default.
Daniel Dunbar [Fri, 21 Aug 2009 07:28:33 +0000 (07:28 +0000)]
Don't install llvm-mc by default.

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

15 years agoRemove #include <iostream>.
Bill Wendling [Fri, 21 Aug 2009 06:52:44 +0000 (06:52 +0000)]
Remove #include <iostream>.

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

15 years agoClean up the APInt function getDigit.
Erick Tryzelaar [Fri, 21 Aug 2009 06:48:37 +0000 (06:48 +0000)]
Clean up the APInt function getDigit.

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

15 years agoCorrect for recent assert change.
Bill Wendling [Fri, 21 Aug 2009 06:35:41 +0000 (06:35 +0000)]
Correct for recent assert change.

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

15 years agoTestcase for r79597.
Bill Wendling [Fri, 21 Aug 2009 06:12:30 +0000 (06:12 +0000)]
Testcase for r79597.

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

15 years agoUpdate error messages for '+'. Fix grammar and make the two
Eric Christopher [Fri, 21 Aug 2009 04:10:31 +0000 (04:10 +0000)]
Update error messages for '+'. Fix grammar and make the two
negative checks resemble each other.

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

15 years agoFix trailing whitespace and 80-col violation.
Eric Christopher [Fri, 21 Aug 2009 04:06:45 +0000 (04:06 +0000)]
Fix trailing whitespace and 80-col violation.

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

15 years agoFix bug with APInt::getBitsNeeded with for base 10 numbers 0-9.
Erick Tryzelaar [Fri, 21 Aug 2009 03:15:28 +0000 (03:15 +0000)]
Fix bug with APInt::getBitsNeeded with for base 10 numbers 0-9.

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

15 years agoAllow '+' to appear in APInt strings, and add more unit tests.
Erick Tryzelaar [Fri, 21 Aug 2009 03:15:14 +0000 (03:15 +0000)]
Allow '+' to appear in APInt strings, and add more unit tests.

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

15 years agoRemove Neon intrinsics for VZIP, VUZP, and VTRN. We will represent these as
Bob Wilson [Fri, 21 Aug 2009 00:01:42 +0000 (00:01 +0000)]
Remove Neon intrinsics for VZIP, VUZP, and VTRN.  We will represent these as
vector shuffles.  Temporarily remove the tests for these operations until the
new implementation is working.

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

15 years agoRe-revert r79555. Apparently it's not just buildbot weirdness.
Owen Anderson [Thu, 20 Aug 2009 23:51:44 +0000 (23:51 +0000)]
Re-revert r79555.  Apparently it's not just buildbot weirdness.

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

15 years agoAdd support for including '+' in APFloat strings, more asserts,
Erick Tryzelaar [Thu, 20 Aug 2009 23:30:43 +0000 (23:30 +0000)]
Add support for including '+' in APFloat strings, more asserts,
and many new unit tests.

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

15 years agoReapply r79555 for testing. Daniel's trying to work out some buildbot weirdnesss.
Owen Anderson [Thu, 20 Aug 2009 23:14:20 +0000 (23:14 +0000)]
Reapply r79555 for testing.  Daniel's trying to work out some buildbot weirdnesss.

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

15 years agoUse FileCheck even though this means testing for something
Dale Johannesen [Thu, 20 Aug 2009 22:12:08 +0000 (22:12 +0000)]
Use FileCheck even though this means testing for something
that has nothing to do with the point of the test, per Chris.

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

15 years ago--- Reverse-merging r79555 into '.':
Bill Wendling [Thu, 20 Aug 2009 22:04:42 +0000 (22:04 +0000)]
--- Reverse-merging r79555 into '.':
U    include/llvm/Target/TargetData.h
U    lib/Target/TargetData.cpp

Temporarily revert 79555. It was causing hangs and test failures.

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

15 years agoAttempt to comment this code more.
Bill Wendling [Thu, 20 Aug 2009 22:02:24 +0000 (22:02 +0000)]
Attempt to comment this code more.

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

15 years agoSuppress build warning in -Asserts
Daniel Dunbar [Thu, 20 Aug 2009 20:01:34 +0000 (20:01 +0000)]
Suppress build warning in -Asserts

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

15 years agopart of the previous commit for PIC16 ISR implementation.
Sanjiv Gupta [Thu, 20 Aug 2009 19:34:18 +0000 (19:34 +0000)]
part of the previous commit for PIC16 ISR implementation.

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

15 years agoImplement support for ISRs.
Sanjiv Gupta [Thu, 20 Aug 2009 19:28:24 +0000 (19:28 +0000)]
Implement support for ISRs.
Clone functions that are shared between the Main thread and Interrupt thread.
CallSites are changed in AsmPrinter currently. A better solution would have been to modify the legalizer (SoftenFloat) to allow targets to change the name of libcalls for float operations. But that currently breaks other targets.
Also, cloing of automatic variables is done AsmPrinter, a better approach would
be to use the ValueMap in CloneFunction itself.

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

15 years agoReduce contention on the Attributes lock by using atomic operations for reference...
Owen Anderson [Thu, 20 Aug 2009 19:03:20 +0000 (19:03 +0000)]
Reduce contention on the Attributes lock by using atomic operations for reference counting rather than locking.

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

15 years agoMake the StructType->StructLayout table private to TargetData, allowing us to avoid...
Owen Anderson [Thu, 20 Aug 2009 18:26:03 +0000 (18:26 +0000)]
Make the StructType->StructLayout table private to TargetData, allowing us to avoid locking on it.

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

15 years agoFixed PCMPESTRM128 to have opcode 0x60 instead of 0x62, as specified by the
Sean Callanan [Thu, 20 Aug 2009 18:24:27 +0000 (18:24 +0000)]
Fixed PCMPESTRM128 to have opcode 0x60 instead of 0x62, as specified by the
Intel documentation.

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

15 years agoFix an x86 code size regression: prefer RIP-relative addressing
Dan Gohman [Thu, 20 Aug 2009 18:23:44 +0000 (18:23 +0000)]
Fix an x86 code size regression: prefer RIP-relative addressing
over absolute addressing even in non-PIC mode (unless the address
has an index or something else incompatible), because it has a
smaller encoding.

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

15 years agoAdd a comment explaining why llvm_unreachable_internal doesn't call
Dan Gohman [Thu, 20 Aug 2009 17:15:19 +0000 (17:15 +0000)]
Add a comment explaining why llvm_unreachable_internal doesn't call
the ErrorHandler callback.

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

15 years agoFix two APFloat bugs in converting hexadecimal constants.
Daniel Dunbar [Thu, 20 Aug 2009 17:12:33 +0000 (17:12 +0000)]
Fix two APFloat bugs in converting hexadecimal constants.

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

15 years agoRename hasNoUnsignedOverflow and hasNoSignedOverflow to hasNoUnsignedWrap
Dan Gohman [Thu, 20 Aug 2009 17:11:38 +0000 (17:11 +0000)]
Rename hasNoUnsignedOverflow and hasNoSignedOverflow to hasNoUnsignedWrap
and hasNoSignedWrap, for consistency with the nuw and nsw properties.

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

15 years agoClarify a few things in the inbounds description.
Dan Gohman [Thu, 20 Aug 2009 17:08:17 +0000 (17:08 +0000)]
Clarify a few things in the inbounds description.

Describing inbounds in terms of infinitely precise arithmetic prohibits
the assumption address-space-sized integer arithmetic will wrap, with
a wrapped-around value landing within the same object.

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

15 years agoFixed header comment.
Misha Brukman [Thu, 20 Aug 2009 17:01:14 +0000 (17:01 +0000)]
Fixed header comment.

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

15 years agoFix an obvious copy-n-paste bug.
Evan Cheng [Thu, 20 Aug 2009 17:01:04 +0000 (17:01 +0000)]
Fix an obvious copy-n-paste bug.

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

15 years agoUse FileCheck for the test run where it's appropriate.
Dale Johannesen [Thu, 20 Aug 2009 16:58:04 +0000 (16:58 +0000)]
Use FileCheck for the test run where it's appropriate.

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

15 years agoVarious comment and whitespace cleanups.
Dan Gohman [Thu, 20 Aug 2009 16:42:55 +0000 (16:42 +0000)]
Various comment and whitespace cleanups.

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

15 years agoUpdate and fix some comments.
Dan Gohman [Thu, 20 Aug 2009 16:27:10 +0000 (16:27 +0000)]
Update and fix some comments.

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