oota-llvm.git
15 years agoGenerate Neon VTBL and VTBX instructions from the corresponding intrinsics.
Bob Wilson [Wed, 12 Aug 2009 20:51:55 +0000 (20:51 +0000)]
Generate Neon VTBL and VTBX instructions from the corresponding intrinsics.

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

15 years agoUse PadToColumn instead of tabs.
Dan Gohman [Wed, 12 Aug 2009 18:55:32 +0000 (18:55 +0000)]
Use PadToColumn instead of tabs.

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

15 years agoFix a few more places to use PadToColumn instead of tabs. And fix
Dan Gohman [Wed, 12 Aug 2009 18:47:05 +0000 (18:47 +0000)]
Fix a few more places to use PadToColumn instead of tabs. And fix
the basic block label printing to check whether a block has a name
before printing a comment character and whitespace for it.

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

15 years agoPredCC is meant to be 2 bits wide, like PredCC1.
Evan Cheng [Wed, 12 Aug 2009 18:35:50 +0000 (18:35 +0000)]
PredCC is meant to be 2 bits wide, like PredCC1.

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

15 years agoUse PadToColumn instead of tabs for aligning comments. Fix one place
Dan Gohman [Wed, 12 Aug 2009 18:32:22 +0000 (18:32 +0000)]
Use PadToColumn instead of tabs for aligning comments. Fix one place
that emitted unnecessary whitespace outside of VerboseAsm mode.

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

15 years agoEnhance the InstrStage object to enable the specification of an Itinerary with overla...
David Goodwin [Wed, 12 Aug 2009 18:31:53 +0000 (18:31 +0000)]
Enhance the InstrStage object to enable the specification of an Itinerary with overlapping stages. The default is to maintain the current behavior that the "next" stage immediately follows the previous one.

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

15 years agoAdd attempted idiotproofing comment per review.
Dale Johannesen [Wed, 12 Aug 2009 18:04:11 +0000 (18:04 +0000)]
Add attempted idiotproofing comment per review.

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

15 years agoimprove win32 path support, patch by Baptiste Lepilleur!
Chris Lattner [Wed, 12 Aug 2009 17:47:06 +0000 (17:47 +0000)]
improve win32 path support, patch by Baptiste Lepilleur!

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

15 years agoTest for 78821, sort of. While that bug is nondeterministic,
Dale Johannesen [Wed, 12 Aug 2009 17:43:47 +0000 (17:43 +0000)]
Test for 78821, sort of.  While that bug is nondeterministic,
this test failed consistently on a Darwin build.

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

15 years agoFix a nondeterministic bug in APInt::roundToDouble;
Dale Johannesen [Wed, 12 Aug 2009 17:42:34 +0000 (17:42 +0000)]
Fix a nondeterministic bug in APInt::roundToDouble;
when !isSingleWord() but getActiveBits() is small,
we were using the pointer value instead of the low
word of the integer value.

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

15 years agoFix whitespace expectations to match the new AsmWriter behavior.
Dan Gohman [Wed, 12 Aug 2009 17:39:04 +0000 (17:39 +0000)]
Fix whitespace expectations to match the new AsmWriter behavior.

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

15 years agoAdd catch block handling to SjLj exception handling.
Jim Grosbach [Wed, 12 Aug 2009 17:38:44 +0000 (17:38 +0000)]
Add catch block handling to SjLj exception handling.

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

15 years agoMake LLVM Assembly dramatically easier to read by aligning the comments,
Dan Gohman [Wed, 12 Aug 2009 17:23:50 +0000 (17:23 +0000)]
Make LLVM Assembly dramatically easier to read by aligning the comments,
using formatted_raw_ostream's PadToColumn.

Before:

bb1:            ; preds = %bb
  %2 = sext i32 %i.01 to i64            ; <i64> [#uses=1]
  %3 = getelementptr double* %p, i64 %2         ; <double*> [#uses=1]
  %4 = load double* %3, align 8         ; <double> [#uses=1]
  %5 = fmul double %4, 1.100000e+00             ; <double> [#uses=1]
  %6 = sext i32 %i.01 to i64            ; <i64> [#uses=1]
  %7 = getelementptr double* %p, i64 %6         ; <double*> [#uses=1]

After:

bb1:                                        ; preds = %bb
  %2 = sext i32 %i.01 to i64                ; <i64> [#uses=1]
  %3 = getelementptr double* %p, i64 %2     ; <double*> [#uses=1]
  %4 = load double* %3, align 8             ; <double> [#uses=1]
  %5 = fmul double %4, 1.100000e+00         ; <double> [#uses=1]
  %6 = sext i32 %i.01 to i64                ; <i64> [#uses=1]
  %7 = getelementptr double* %p, i64 %6     ; <double*> [#uses=1]

Several tests required whitespace adjustments.

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

15 years agoFix TableGen warnings. This partly reverts my previous change to this file,
Bob Wilson [Wed, 12 Aug 2009 17:04:56 +0000 (17:04 +0000)]
Fix TableGen warnings.  This partly reverts my previous change to this file,
leaving the mayLoad and mayStore settings around only the load/store
instructions where those can't be inferred from the patterns.

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

15 years agoFix a missing newline (now that Value*'s operator<< doesn't append one).
Dan Gohman [Wed, 12 Aug 2009 16:48:27 +0000 (16:48 +0000)]
Fix a missing newline (now that Value*'s operator<< doesn't append one).

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

15 years agochange CBE to just get TAI now, instead of TM to get TAI.
Chris Lattner [Wed, 12 Aug 2009 16:41:44 +0000 (16:41 +0000)]
change CBE to just get TAI now, instead of TM to get TAI.

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

15 years agoTransform -X/C to X/-C, implementing a README.txt entry.
Dan Gohman [Wed, 12 Aug 2009 16:37:02 +0000 (16:37 +0000)]
Transform -X/C to X/-C, implementing a README.txt entry.

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

15 years agoOptimize (x/C)*C to x if the division is exact.
Dan Gohman [Wed, 12 Aug 2009 16:33:09 +0000 (16:33 +0000)]
Optimize (x/C)*C to x if the division is exact.

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

15 years agoUpdate instcombine's debug output to account for Value*'s operator<<
Dan Gohman [Wed, 12 Aug 2009 16:28:31 +0000 (16:28 +0000)]
Update instcombine's debug output to account for Value*'s operator<<
not appending its own newline.

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

15 years agoRemove a bunch more now-unnecessary Context arguments.
Dan Gohman [Wed, 12 Aug 2009 16:23:25 +0000 (16:23 +0000)]
Remove a bunch more now-unnecessary Context arguments.

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

15 years agoEliminate a bunch of now unnecessary explicit Context variables.
Dan Gohman [Wed, 12 Aug 2009 16:04:34 +0000 (16:04 +0000)]
Eliminate a bunch of now unnecessary explicit Context variables.

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

15 years agoCMake: Added asm file to x86_64 MSVC build.
Oscar Fuentes [Wed, 12 Aug 2009 15:54:28 +0000 (15:54 +0000)]
CMake: Added asm file to x86_64 MSVC build.

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

15 years agoregister naming cleanup (s/ip/r12/)
Jim Grosbach [Wed, 12 Aug 2009 15:21:13 +0000 (15:21 +0000)]
register naming cleanup (s/ip/r12/)

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

15 years agoFix unit test on FreeBSD. We need to make sure there is enough space to save the...
Benjamin Kramer [Wed, 12 Aug 2009 12:31:02 +0000 (12:31 +0000)]
Fix unit test on FreeBSD. We need to make sure there is enough space to save the pointer even if the memory returned from malloc was already aligned.

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

15 years agocatch a typo and simplify call syntax
Gabor Greif [Wed, 12 Aug 2009 09:05:11 +0000 (09:05 +0000)]
catch a typo and simplify call syntax

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

15 years agohere comes the CMAKE part on LLVM_COMPACT_SENTINELS; see also r78628 and r78661
Gabor Greif [Wed, 12 Aug 2009 08:37:37 +0000 (08:37 +0000)]
here comes the CMAKE part on LLVM_COMPACT_SENTINELS; see also r78628 and r78661

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

15 years agoChange TargetAsmInfo to be constructed via TargetRegistry from a Target+Triple
Chris Lattner [Wed, 12 Aug 2009 07:22:17 +0000 (07:22 +0000)]
Change TargetAsmInfo to be constructed via TargetRegistry from a Target+Triple
pair instead of from a virtual method on TargetMachine.  This cuts the final
ties of TargetAsmInfo to TargetMachine, meaning that MC can now use
TargetAsmInfo.

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

15 years agoone last (?) bad x86 triple test.
Chris Lattner [Wed, 12 Aug 2009 06:49:44 +0000 (06:49 +0000)]
one last (?) bad x86 triple test.

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

15 years agofix some pastos in triple lines.
Chris Lattner [Wed, 12 Aug 2009 06:49:12 +0000 (06:49 +0000)]
fix some pastos in triple lines.

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

15 years agothe x86 version of the name is x86-64, not x86_64. Handle this properly
Chris Lattner [Wed, 12 Aug 2009 06:45:02 +0000 (06:45 +0000)]
the x86 version of the name is x86-64, not x86_64.  Handle this properly
in getArchTypeForLLVMName.

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

15 years agoanother bogus triple
Chris Lattner [Wed, 12 Aug 2009 06:36:52 +0000 (06:36 +0000)]
another bogus triple

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

15 years agoadd support for mingw64 target triples.
Chris Lattner [Wed, 12 Aug 2009 06:32:10 +0000 (06:32 +0000)]
add support for mingw64 target triples.

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

15 years agofix another broken target triple.
Chris Lattner [Wed, 12 Aug 2009 06:29:18 +0000 (06:29 +0000)]
fix another broken target triple.

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

15 years agofix an incorrect target triple.
Chris Lattner [Wed, 12 Aug 2009 06:28:51 +0000 (06:28 +0000)]
fix an incorrect target triple.

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

15 years agoMove immediate constant predicate templates from the Blackfin target to MathExtras.h
Jakob Stoklund Olesen [Wed, 12 Aug 2009 06:22:07 +0000 (06:22 +0000)]
Move immediate constant predicate templates from the Blackfin target to MathExtras.h

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

15 years agoadd a couple of helpers to the Triple class for decoding
Chris Lattner [Wed, 12 Aug 2009 06:19:40 +0000 (06:19 +0000)]
add a couple of helpers to the Triple class for decoding
the darwin version string.  This should help consolidate
the variety of weird functions we have scattered around the
codebase that do stuff like this.

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

15 years agoadd nounwind
Chris Lattner [Wed, 12 Aug 2009 05:44:03 +0000 (05:44 +0000)]
add nounwind

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

15 years agoShrink Thumb2 movcc instructions.
Evan Cheng [Wed, 12 Aug 2009 05:17:19 +0000 (05:17 +0000)]
Shrink Thumb2 movcc instructions.

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

15 years agoCMake: Fixed sed script for translating library dependencies from
Oscar Fuentes [Wed, 12 Aug 2009 04:18:10 +0000 (04:18 +0000)]
CMake: Fixed sed script for translating library dependencies from
LibDeps.txt format to LLVMLibDeps.cmake format.

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

15 years agoCMake: Localized dependency on Perl.
Oscar Fuentes [Wed, 12 Aug 2009 04:16:19 +0000 (04:16 +0000)]
CMake: Localized dependency on Perl.

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

15 years agoCMake: Rely on llvm_config again for obtaining the list of required
Oscar Fuentes [Wed, 12 Aug 2009 04:05:26 +0000 (04:05 +0000)]
CMake: Rely on llvm_config again for obtaining the list of required
libraries for an executable.

Now LLVMConfig uses a new system for sorting library dependencies, as
the list of dependent libraries for each entry of FinalLibDeps.txt no
longer is topologically sorted.

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

15 years agoCMake: updated library dependencies.
Oscar Fuentes [Wed, 12 Aug 2009 03:57:26 +0000 (03:57 +0000)]
CMake: updated library dependencies.

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

15 years agoCMake: cmake/modules/LLVMLibDeps.cmake: Use unix line endings.
Oscar Fuentes [Wed, 12 Aug 2009 03:36:43 +0000 (03:36 +0000)]
CMake: cmake/modules/LLVMLibDeps.cmake: Use unix line endings.

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

15 years agoCMake: Moved hard-coded library dependencies to its own file.
Oscar Fuentes [Wed, 12 Aug 2009 03:32:44 +0000 (03:32 +0000)]
CMake: Moved hard-coded library dependencies to its own file.

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

15 years agoRemove another Darwin assembler workaround.
Evan Cheng [Wed, 12 Aug 2009 02:07:19 +0000 (02:07 +0000)]
Remove another Darwin assembler workaround.

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

15 years ago80 col violation.
Evan Cheng [Wed, 12 Aug 2009 02:03:03 +0000 (02:03 +0000)]
80 col violation.

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

15 years agoRemove an Darwin assembler workaround.
Evan Cheng [Wed, 12 Aug 2009 01:56:42 +0000 (01:56 +0000)]
Remove an Darwin assembler workaround.

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

15 years agoShrink ADDS, ADC, RSB, and SUBS.
Evan Cheng [Wed, 12 Aug 2009 01:49:45 +0000 (01:49 +0000)]
Shrink ADDS, ADC, RSB, and SUBS.

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

15 years agoAdd some comments to clarify the arguments to the vtbl and vtbx intrinsics.
Bob Wilson [Wed, 12 Aug 2009 01:48:30 +0000 (01:48 +0000)]
Add some comments to clarify the arguments to the vtbl and vtbx intrinsics.

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

15 years agoTestcase for r78770.
Bill Wendling [Wed, 12 Aug 2009 01:47:51 +0000 (01:47 +0000)]
Testcase for r78770.

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

15 years agoThis logic was accidentally inverted in r78767.
Dan Gohman [Wed, 12 Aug 2009 01:44:20 +0000 (01:44 +0000)]
This logic was accidentally inverted in r78767.

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

15 years agoCMake: Do not install files with .tmp suffix.
Oscar Fuentes [Wed, 12 Aug 2009 01:37:33 +0000 (01:37 +0000)]
CMake: Do not install files with .tmp suffix.

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

15 years agoCMake: Re-enabled build of llvm-config. Removed recursive invocation
Oscar Fuentes [Wed, 12 Aug 2009 01:36:27 +0000 (01:36 +0000)]
CMake: Re-enabled build of llvm-config. Removed recursive invocation
of cmake.

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

15 years agoFactor out the code for finding an available register for use
Dan Gohman [Wed, 12 Aug 2009 01:33:27 +0000 (01:33 +0000)]
Factor out the code for finding an available register for use
in breaking an anti-dependence into a separate function.

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

15 years agoTest for llvm-gcc patch 78762.
Dale Johannesen [Wed, 12 Aug 2009 01:14:30 +0000 (01:14 +0000)]
Test for llvm-gcc patch 78762.

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

15 years agoAdd missing chain operands for VLD* and VST* instructions.
Bob Wilson [Wed, 12 Aug 2009 00:49:01 +0000 (00:49 +0000)]
Add missing chain operands for VLD* and VST* instructions.
Set "mayLoad" and "mayStore" on the load/store instructions.

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

15 years agoAdd contexts to some of the MVT APIs. No functionality change yet, just the infrastr...
Owen Anderson [Wed, 12 Aug 2009 00:36:31 +0000 (00:36 +0000)]
Add contexts to some of the MVT APIs.  No functionality change yet, just the infrastructure work needed to get the contexts to where they need to be first.

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

15 years agollvm-gcc now emits inbounds for this getelementptr.
Dan Gohman [Wed, 12 Aug 2009 00:35:55 +0000 (00:35 +0000)]
llvm-gcc now emits inbounds for this getelementptr.

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

15 years agoSimplify this code, and use an in-bounds GEP.
Dan Gohman [Wed, 12 Aug 2009 00:32:55 +0000 (00:32 +0000)]
Simplify this code, and use an in-bounds GEP.

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

15 years agoCMake: target triple for MSVC on Windows 64.
Oscar Fuentes [Wed, 12 Aug 2009 00:04:12 +0000 (00:04 +0000)]
CMake: target triple for MSVC on Windows 64.

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

15 years agollvm-mc/AsmParser: Match hard coded registers (e.g. 'shldl %cl, %eax, %eax')
Daniel Dunbar [Tue, 11 Aug 2009 23:23:44 +0000 (23:23 +0000)]
llvm-mc/AsmParser: Match hard coded registers (e.g. 'shldl %cl, %eax, %eax')

We now match all of 403.gcc (as emitted by clang). :)

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

15 years agoprune #include
Chris Lattner [Tue, 11 Aug 2009 23:07:27 +0000 (23:07 +0000)]
prune #include

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

15 years agoprune #includage.
Chris Lattner [Tue, 11 Aug 2009 23:06:16 +0000 (23:06 +0000)]
prune #includage.

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

15 years agofix CodeGen/PowerPC/2007-01-15-AsmDialect.ll, fallout from r78742
Chris Lattner [Tue, 11 Aug 2009 23:03:40 +0000 (23:03 +0000)]
fix CodeGen/PowerPC/2007-01-15-AsmDialect.ll, fallout from r78742

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

15 years agochange the -x86-asm-syntax=intel/att flag to be in X86TAI
Chris Lattner [Tue, 11 Aug 2009 23:01:09 +0000 (23:01 +0000)]
change the -x86-asm-syntax=intel/att flag to be in X86TAI
instead of X86 Subtarget.  This elimianates dependencies on
X86Subtarget from X86TAI.

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

15 years agoShrinkify Thumb2 r = add sp, imm.
Evan Cheng [Tue, 11 Aug 2009 23:00:31 +0000 (23:00 +0000)]
Shrinkify Thumb2 r = add sp, imm.

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

15 years agosecond half of commit.
Chris Lattner [Tue, 11 Aug 2009 22:52:15 +0000 (22:52 +0000)]
second half of commit.

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

15 years agopass "is64Bit" flag into PPC TAI ctors instead of a whole targetmachine.
Chris Lattner [Tue, 11 Aug 2009 22:51:34 +0000 (22:51 +0000)]
pass "is64Bit" flag into PPC TAI ctors instead of a whole targetmachine.

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

15 years agoeliminate asmflavor from subtarget, PPCTAI is the only client
Chris Lattner [Tue, 11 Aug 2009 22:49:34 +0000 (22:49 +0000)]
eliminate asmflavor from subtarget, PPCTAI is the only client
and each callee knows that it returns.

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

15 years agoChange the asmprinter to print the comment character before the
Chris Lattner [Tue, 11 Aug 2009 22:39:40 +0000 (22:39 +0000)]
Change the asmprinter to print the comment character before the
"inlineasmstart/end" strings so that the contents of the directive
are separate from the comment character.  This lets elf targets
get #APP/#NOAPP for free even if they don't use "#" as the comment
character.  This also allows hoisting the darwin stuff up to the
shared TAI class.

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

15 years agoAllow a zero cycle stage to reserve/require a FU without advancing the cycle counter.
David Goodwin [Tue, 11 Aug 2009 22:38:43 +0000 (22:38 +0000)]
Allow a zero cycle stage to reserve/require a FU without advancing the cycle counter.

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

15 years agofactorize more darwin TAI stuff. Note that this gives
Chris Lattner [Tue, 11 Aug 2009 22:31:42 +0000 (22:31 +0000)]
factorize more darwin TAI stuff.  Note that this gives
darwin/arm support for .no_dead_strip

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

15 years agoX86/AsmParser: Mark MOV64GSrm, MOV64FSrm, GS_MOV32rm, FS_MOV32rm as codegen only.
Daniel Dunbar [Tue, 11 Aug 2009 22:24:40 +0000 (22:24 +0000)]
X86/AsmParser: Mark MOV64GSrm, MOV64FSrm, GS_MOV32rm, FS_MOV32rm as codegen only.

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

15 years agofactorize darwin ProtectedDirective and SetDirective.
Chris Lattner [Tue, 11 Aug 2009 22:22:44 +0000 (22:22 +0000)]
factorize darwin ProtectedDirective and SetDirective.

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

15 years agoAdd 'isCodeGenOnly' bit to Instruction .td records.
Daniel Dunbar [Tue, 11 Aug 2009 22:17:52 +0000 (22:17 +0000)]
Add 'isCodeGenOnly' bit to Instruction .td records.
 - Used to mark fake instructions which don't correspond to an actual machine
   instruction (or are duplicates of a real instruction). This is to be used for
   "special cases" in the .td files, which should be ignored by things like the
   assembler and disassembler. We still need a good solution to handle pervasive
   duplication, like with the Int_ instructions.

 - Set the bit on fake "mov 0" style instructions, which allows turning an
   assembler matcher warning into a hard error.

 - -2 FIXMEs.

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

15 years agoall darwin targets have .space and .zerofill, pull up.
Chris Lattner [Tue, 11 Aug 2009 22:17:31 +0000 (22:17 +0000)]
all darwin targets have .space and .zerofill, pull up.

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

15 years agoeliminate template from arm TAI
Chris Lattner [Tue, 11 Aug 2009 22:14:59 +0000 (22:14 +0000)]
eliminate template from arm TAI

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

15 years agofix a bug I introduced in r78724 that caused failures in:
Chris Lattner [Tue, 11 Aug 2009 22:12:58 +0000 (22:12 +0000)]
fix a bug I introduced in r78724 that caused failures in:
CodeGen/X86/dll-linkage.ll & CodeGen/X86/mingw-alloca.ll

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

15 years agomove LCOMMDirective = "\t.lcomm\t" up to DarwinTAI, eliminate
Chris Lattner [Tue, 11 Aug 2009 22:06:07 +0000 (22:06 +0000)]
move LCOMMDirective = "\t.lcomm\t" up to DarwinTAI, eliminate
template in PPC backend for TAI.

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

15 years agoFix warnings.
Owen Anderson [Tue, 11 Aug 2009 21:59:30 +0000 (21:59 +0000)]
Fix warnings.

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

15 years agoeliminate the X86TargetAsmInfo template.
Chris Lattner [Tue, 11 Aug 2009 21:57:08 +0000 (21:57 +0000)]
eliminate the X86TargetAsmInfo template.

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

15 years agoAdded ADD instructions with rAX as one parameter to the Intel instruction
Sean Callanan [Tue, 11 Aug 2009 21:26:06 +0000 (21:26 +0000)]
Added ADD instructions with rAX as one parameter to the Intel instruction
tables.

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

15 years agoShrinkify Thumb2 load / store multiple instructions.
Evan Cheng [Tue, 11 Aug 2009 21:11:32 +0000 (21:11 +0000)]
Shrinkify Thumb2 load / store multiple instructions.

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

15 years agollvm-mc/AsmParser: Allow target to specific a comment delimiter, which will be
Daniel Dunbar [Tue, 11 Aug 2009 20:59:47 +0000 (20:59 +0000)]
llvm-mc/AsmParser: Allow target to specific a comment delimiter, which will be
used to strip hard coded comments out of .td assembly strings.

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

15 years agostruct -> class
Owen Anderson [Tue, 11 Aug 2009 20:52:44 +0000 (20:52 +0000)]
struct -> class

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

15 years agoOptimize exact sdiv by a constant power of 2 to ashr.
Dan Gohman [Tue, 11 Aug 2009 20:47:47 +0000 (20:47 +0000)]
Optimize exact sdiv by a constant power of 2 to ashr.

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

15 years agoSplit EVT into MVT and EVT, the former representing _just_ a primitive type, while
Owen Anderson [Tue, 11 Aug 2009 20:47:22 +0000 (20:47 +0000)]
Split EVT into MVT and EVT, the former representing _just_ a primitive type, while
the latter is capable of representing either a primitive or an extended type.

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

15 years agoStringRef: Add find(char) and find(StringRef).
Daniel Dunbar [Tue, 11 Aug 2009 20:47:15 +0000 (20:47 +0000)]
StringRef: Add find(char) and find(StringRef).

Also, regroup functions.

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

15 years agopass the TargetTriple down from each target ctor to the
Chris Lattner [Tue, 11 Aug 2009 20:42:37 +0000 (20:42 +0000)]
pass the TargetTriple down from each target ctor to the
LLVMTargetMachine ctor.  It is currently unused.

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

15 years agonow that JumpTableDirective can differentate picness itself, MIPS TAI
Chris Lattner [Tue, 11 Aug 2009 20:32:51 +0000 (20:32 +0000)]
now that JumpTableDirective can differentate picness itself, MIPS TAI
no longer needs a targetmachine to initialize itself.

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

15 years agosplit "JumpTableDirective" (an existing hack) into a PIC and nonPIC
Chris Lattner [Tue, 11 Aug 2009 20:30:58 +0000 (20:30 +0000)]
split "JumpTableDirective" (an existing hack) into a PIC and nonPIC
version.  This allows TAI implementations to specify the directive to use
based on the mode being codegen'd for.

The real fix for this is to remove JumpTableDirective, but I don't feel
like diving into the jumptable snarl just now.

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

15 years ago"TAI::JumpTableDirective" is always null for current arm targets, simplify
Chris Lattner [Tue, 11 Aug 2009 20:29:57 +0000 (20:29 +0000)]
"TAI::JumpTableDirective" is always null for current arm targets, simplify
the code based on this and make it fall through better.

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

15 years agoAdd convenience functions for creating nsw add operators.
Dan Gohman [Tue, 11 Aug 2009 20:20:39 +0000 (20:20 +0000)]
Add convenience functions for creating nsw add operators.

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

15 years agollvm-mc/AsmMatcher: Fix two thinkos in determining whether two classes are
Daniel Dunbar [Tue, 11 Aug 2009 20:10:07 +0000 (20:10 +0000)]
llvm-mc/AsmMatcher: Fix two thinkos in determining whether two classes are
related.

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

15 years agoUse wchar.h to get wchar_t, not ctype.h.
Dan Gohman [Tue, 11 Aug 2009 19:59:21 +0000 (19:59 +0000)]
Use wchar.h to get wchar_t, not ctype.h.

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

15 years agoDon't set the isexact flag if an sdiv operator has been folded into
Dan Gohman [Tue, 11 Aug 2009 19:56:00 +0000 (19:56 +0000)]
Don't set the isexact flag if an sdiv operator has been folded into
something else.

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

15 years agoAdd Thumb2 eh_sjlj_setjmp implementation
Jim Grosbach [Tue, 11 Aug 2009 19:42:21 +0000 (19:42 +0000)]
Add Thumb2 eh_sjlj_setjmp implementation

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

15 years agoSimplify ConstantExpr::getInBoundsGetElementPtr and fix a possible crash, if
Daniel Dunbar [Tue, 11 Aug 2009 18:28:09 +0000 (18:28 +0000)]
Simplify ConstantExpr::getInBoundsGetElementPtr and fix a possible crash, if
constant folding eliminated the GEP instruction.
 - clang was hitting this on its test suite (for x86_64, at least).

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

15 years agoRevert 78680 until I figure out why it completely broke things.
Daniel Dunbar [Tue, 11 Aug 2009 18:11:15 +0000 (18:11 +0000)]
Revert 78680 until I figure out why it completely broke things.

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

15 years agoLink NamedMDNodes.
Devang Patel [Tue, 11 Aug 2009 18:01:24 +0000 (18:01 +0000)]
Link NamedMDNodes.

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