Evan Cheng
984f8efcaa
Fix PR4789. Teach eliminateFrameIndex how to handle VLDRQ and VSTRQ which cannot fold any immediate offset.
...
llvm-svn: 80191
2009-08-27 01:23:50 +00:00
Daniel Dunbar
28c0eed122
Add missing declarations.
...
llvm-svn: 80190
2009-08-27 01:15:54 +00:00
Daniel Dunbar
fd042a5019
Sketch TargetRegistry support for MCCodeEmitter abstract interface.
...
- Of course, nothing actually can provide this interface yet.
llvm-svn: 80188
2009-08-27 00:51:57 +00:00
Daniel Dunbar
efbcc2daf9
Try to make MSVC just a little happier.
...
llvm-svn: 80187
2009-08-27 00:38:04 +00:00
Dan Gohman
60fae1b2a2
X86FastISel support for loading and storing values of type i1.
...
llvm-svn: 80186
2009-08-27 00:31:47 +00:00
Dan Gohman
613d152216
Expand i8 selects into control flow instead of 16-bit conditional
...
moves. This avoids the need to promote the operands (or implicitly
extend them, a partial register update condition), and can reduce
i8 register pressure. This substantially speeds up code such as
write_hex in lib/Support/raw_ostream.cpp.
subclass-coalesce.ll is too trivial and no longer tests what it was
originally intended to test.
llvm-svn: 80184
2009-08-27 00:14:12 +00:00
Gabor Greif
4270411be1
now that include/llvm/ADT/iterator.h.in is not attempted to be built, its prerequisite can go away too
...
llvm-svn: 80180
2009-08-26 23:35:33 +00:00
Daniel Dunbar
e3d14c797d
Simplify.
...
llvm-svn: 80176
2009-08-26 23:12:33 +00:00
Douglas Gregor
004f9203a7
Regenerate configure
...
llvm-svn: 80173
2009-08-26 22:59:05 +00:00
Gabor Greif
95b0cf004f
eliminate references to ADT/iterator.h
...
llvm-svn: 80171
2009-08-26 22:55:19 +00:00
Owen Anderson
2ed352c8b6
Make this into a static method.
...
llvm-svn: 80170
2009-08-26 22:55:11 +00:00
Bob Wilson
626333e9d1
Fix bad length argument to substr calls. Apparently I'm the first one to
...
attempt more than 2 constraints on an instruction.
llvm-svn: 80169
2009-08-26 22:50:39 +00:00
Daniel Dunbar
f2e919b79e
llvm-mc/Mach-O: Unique sections properly, so we don't get duplicate text
...
sections, etc.
- The quick and dirty way, just clone the TargetLoweringObjectFile
code. Eventually this should be shared... somehow.
llvm-svn: 80168
2009-08-26 22:49:51 +00:00
Daniel Dunbar
1f70368155
llvm-mc/Mach-O: Don't put assembler temporary labels in the symbol table.
...
- I moved section creation back into AsmParser. I think policy decisions like
this should be pushed higher, not lower, when possible (in addition the
assembler has flags which change this behavior, for example).
llvm-svn: 80162
2009-08-26 22:13:22 +00:00
Douglas Gregor
9382a11722
De-bork CMake build
...
llvm-svn: 80161
2009-08-26 22:12:02 +00:00
Eric Christopher
94ba344cd4
Rework getPersonalityIndex slightly - 0 is now a valid and not-NULL
...
personality function.
llvm-svn: 80153
2009-08-26 21:44:57 +00:00
Gabor Greif
796628c1d8
nobody includes llvm/ADT/iterator.h any more,
...
so get rid of this monstrosity. iterator.h.in is scheduled for deletion in my working copy,
but I wait till I see that configure gets regenerated, as it depends on it. I'll commit
then.
There are still some AC_* tests in the configure.ac dealing with iterators, those can
be zapped probably too.
llvm-svn: 80147
2009-08-26 21:36:59 +00:00
Eric Christopher
8a04a49040
If we're emitting additional CIEs due to personality functions
...
don't emit the default one. Explicitly check for the NULL
CIE later.
llvm-svn: 80146
2009-08-26 21:30:49 +00:00
Eric Christopher
c40e3426ca
Nuke trailing whitespace.
...
llvm-svn: 80145
2009-08-26 21:27:09 +00:00
Daniel Dunbar
5e9b7483b7
llvm-mc/Mach-O: Set .subsections_via_symbols flag properly.
...
llvm-svn: 80144
2009-08-26 21:22:22 +00:00
Bill Wendling
9e95880cd5
Don't submit test directory.
...
llvm-svn: 80139
2009-08-26 21:00:34 +00:00
Reid Kleckner
f6b832774f
Allocate the module provider in the Kaleidoscope code on the heap, not the stack, so that it can be properly deleted. Also update the tutorial with the new code. This fixes PR4762, hopefully better than the last time.
...
llvm-svn: 80138
2009-08-26 20:58:25 +00:00
Gabor Greif
830005b778
Remove all the LLVM_COMPACTIFY_SENTINELS-related macro magic as discussed with Chris on IRC. Anybody wanting to debug sentinel dereferencing problems must revert this patch and perform the indicated modifications.
...
llvm-svn: 80128
2009-08-26 19:16:32 +00:00
Oscar Fuentes
9d68d0fbe2
CMake: Removed outdated TODO.
...
llvm-svn: 80124
2009-08-26 18:37:05 +00:00
Venkatraman Govindaraju
80722d1ee4
Generate section for bss and enable weak symbols
...
llvm-svn: 80121
2009-08-26 18:24:12 +00:00
Bob Wilson
c7d92cfb15
Convert some more Neon tests to FileCheck.
...
llvm-svn: 80120
2009-08-26 18:11:50 +00:00
Dale Johannesen
ca67bcd630
Alter 79292 to produce output that actually assembles.
...
llvm-svn: 80119
2009-08-26 18:10:32 +00:00
Mike Stump
294213c735
Allow unsigned long long DenseMapInfo.
...
llvm-svn: 80118
2009-08-26 18:02:19 +00:00
Bob Wilson
5240e9de02
Remove unneeded ARM-specific DAG nodes for VLD* and VST* Neon operations.
...
The instructions can be selected directly from the intrinsics. We will need
to add some ARM-specific nodes for VLD/VST of 3 and 4 128-bit vectors, but
those are not yet implemented.
llvm-svn: 80117
2009-08-26 17:39:53 +00:00
Anton Korobeynikov
c61d5bbbe2
Add extload expansion for f128
...
llvm-svn: 80116
2009-08-26 17:39:40 +00:00
Anton Korobeynikov
b1b0af1e84
Unbreak FP128 stuff in cbe
...
llvm-svn: 80115
2009-08-26 17:39:23 +00:00
Oscar Fuentes
6bfb6249e6
Ignore -fPIC test on Windows. Suggested by Yonggang Luo.
...
llvm-svn: 80111
2009-08-26 17:05:06 +00:00
Douglas Gregor
617131b3a4
Unbreak CMake build
...
llvm-svn: 80109
2009-08-26 16:33:57 +00:00
Anton Korobeynikov
1c904039ce
Expand scalar_to_vector - we don't have any isel logic for it now
...
llvm-svn: 80107
2009-08-26 16:26:09 +00:00
Dan Gohman
69c34d4217
Add comments detailing a known bug, so that people writing other
...
backends don't use it as an example.
llvm-svn: 80105
2009-08-26 16:06:11 +00:00
Dan Gohman
cd6a67f749
-fast is now -O0. -fast-isel is no longer experimental.
...
llvm-svn: 80104
2009-08-26 15:57:57 +00:00
Dan Gohman
bd9174cad0
Move ProfileInfo::Edge's operator<< out of line. Among other benefits,
...
this eliminates the ATTRIBUTE_USED, which wasn't being used in a manner
acceptable to some GCC versions, according to the buildbots.
llvm-svn: 80103
2009-08-26 15:56:38 +00:00
Andreas Neustifter
13640d4582
Bugfix for r80100, forgot include. Sorry.
...
llvm-svn: 80101
2009-08-26 15:18:38 +00:00
Andreas Neustifter
219665e07c
Implemented comments from Daniel Dunbar.
...
(See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090817/084958.html )
llvm-svn: 80100
2009-08-26 15:13:44 +00:00
Dan Gohman
6bd4a58365
Don't use INSERT_SUBREG to model anyext operations on x86-64, as it
...
leads to partial-register definitions. To help avoid redundant
zero-extensions, also teach the h-register matching patterns that
use movzbl to match anyext as well as zext.
llvm-svn: 80099
2009-08-26 14:59:13 +00:00
Dan Gohman
cfb6234d13
Create a ScalarEvolution-based AliasAnalysis implementation.
...
This is a simple AliasAnalysis implementation which works by making
ScalarEvolution queries. ScalarEvolution has a more complete understanding
of arithmetic than BasicAA's collection of ad-hoc checks, so it handles
some cases that BasicAA misses, for example p[i] and p[i+1] within the
same iteration of a loop.
This is currently experimental. It may be that the main use for this pass
will be to help find cases where BasicAA can be profitably extended, or
to help in the development of the overall AliasAnalysis infrastructure,
however it's also possible that it could grow up to become a directly
useful pass.
llvm-svn: 80098
2009-08-26 14:53:06 +00:00
Dan Gohman
80f768698e
Fix a missing newline, now that Value's operator<< doesn't add one of its own.
...
llvm-svn: 80096
2009-08-26 14:34:12 +00:00
Dan Gohman
8095221102
Use SetVector instead of std::set so that alias relations are tested and
...
printed in a deterministic order.
llvm-svn: 80095
2009-08-26 14:32:17 +00:00
Daniel Dunbar
8c38017009
llvm-mc/Mach-O: Add support for relocations.
...
- I haven't really tried to find the "right" way to store the fixups or apply
them, yet. This works, but isn't particularly elegant or fast.
- Still no evaluation support, so we don't actually ever not turn a fixup into
a relocation entry.
llvm-svn: 80089
2009-08-26 13:58:10 +00:00
Daniel Dunbar
45d03f2bbb
llvm-mc/Mach-O: Move symbol indices into the MCSymbolData structure.
...
llvm-svn: 80088
2009-08-26 13:57:54 +00:00
Daniel Dunbar
43ca129960
llvm-mc/Mach-O: Dump relocations and section data (optionally) in my Mach-O dumper.
...
llvm-svn: 80087
2009-08-26 13:57:44 +00:00
Daniel Dunbar
f7a22e19cf
llvm-mc: Add symbol entries for undefined symbols used in .fill and .org.
...
llvm-svn: 80086
2009-08-26 13:57:37 +00:00
Anton Korobeynikov
6ee3a73ba1
Add dummy inline asm handling for 'r' constraint. This fixes PR4778
...
llvm-svn: 80085
2009-08-26 13:44:29 +00:00
Andreas Neustifter
1bf2c0e46f
Moved isDeclaration() check further down to allow for function counts for
...
declarations if necessary.
llvm-svn: 80084
2009-08-26 13:33:09 +00:00
Daniel Dunbar
168f849552
llvm-mc: Change MCContext value table to take const MCSymbol*s.
...
llvm-svn: 80079
2009-08-26 09:16:57 +00:00