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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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