Craig Topper [Mon, 21 Jan 2013 06:13:28 +0000 (06:13 +0000)]
Make helper method static.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173005
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Mon, 21 Jan 2013 05:39:07 +0000 (05:39 +0000)]
[Support] Make test C++03.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173004
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Mon, 21 Jan 2013 02:17:36 +0000 (02:17 +0000)]
Remove the comma from the last enumerator to fix -pedantic warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172999
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Mon, 21 Jan 2013 01:27:39 +0000 (01:27 +0000)]
Introduce a generic interface for querying an operation's expected
lowered cost.
Currently, this is a direct port of the logic implementing
isInstructionFree in CodeMetrics. The hope is that the interface can be
improved (f.ex. supporting un-formed instruction queries) and the
implementation abstracted so that as we have test cases and target
knowledge we can expose increasingly accurate heuristics to clients.
I'll start switching existing consumers over and kill off the routine in
CodeMetrics in subsequent commits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172998
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 21 Jan 2013 00:30:31 +0000 (00:30 +0000)]
Support/Compiler.h: MSC1600, aka VS2010, is not C++11-ready.
LLVM_HAS_CXX11_TYPETRAITS -- std::is_constructible
LLVM_HAS_CXX11_STDLIB -- std::unique_ptr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172997
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 20 Jan 2013 21:52:27 +0000 (21:52 +0000)]
Disable test that fails due to lack of std::true_type in C++03.
Michael, can this test be ported to C++03?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172996
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sun, 20 Jan 2013 21:50:27 +0000 (21:50 +0000)]
Convert more EVT's to MVT's in the lowering methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172995
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sun, 20 Jan 2013 21:34:37 +0000 (21:34 +0000)]
Capitalize lowerTRUNCATE so that it matches the other lower functions in this file despite it not matching coding standards.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172994
91177308-0d34-0410-b5e6-
96231b3b80d8
Renato Golin [Sun, 20 Jan 2013 20:57:20 +0000 (20:57 +0000)]
Revert CostTable algorithm, will re-write
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172992
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Sun, 20 Jan 2013 20:32:30 +0000 (20:32 +0000)]
[Support] Port ErrorOr<T> from lld to C++03.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172991
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 20 Jan 2013 20:29:52 +0000 (20:29 +0000)]
LoopVectorize: Fix a C++11 incompatibility.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172990
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Sun, 20 Jan 2013 18:51:15 +0000 (18:51 +0000)]
Add instruction encodings / disassembly support for l2rus instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172987
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Sun, 20 Jan 2013 18:37:49 +0000 (18:37 +0000)]
Add instruction encodings / disassembly support for l3r instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172986
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Sun, 20 Jan 2013 17:22:43 +0000 (17:22 +0000)]
Add instruction encodings / disassembler support for 2rus instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172985
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Sun, 20 Jan 2013 17:18:47 +0000 (17:18 +0000)]
Add instruction encodings / disassembly support 3r instructions.
It is not possible to distinguish 3r instructions from 2r / rus instructions
using only the fixed bits. Therefore if an instruction doesn't match the
2r / rus format try to decode it as a 3r instruction before returning Fail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172984
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sun, 20 Jan 2013 15:40:02 +0000 (15:40 +0000)]
llvm/test/CodeGen/X86/win_ftol2.ll: Add -cpu=generic to appease valgrind.
On valgrind the processor is reported;
Host CPU: athlon-fx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172983
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sun, 20 Jan 2013 15:30:29 +0000 (15:30 +0000)]
llvm/utils/valgrind/x86_64-pc-linux-gnu.supp: Add /usr/bin/cmp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172981
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Sun, 20 Jan 2013 09:39:17 +0000 (09:39 +0000)]
Fix a build error.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172971
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Sun, 20 Jan 2013 09:38:14 +0000 (09:38 +0000)]
[docs] Update IRC information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172970
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sun, 20 Jan 2013 09:02:22 +0000 (09:02 +0000)]
Make LowerVSETCC a static function and use MVT instead of EVT.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172969
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Sun, 20 Jan 2013 08:35:56 +0000 (08:35 +0000)]
Revert 172708.
The optimization handles esoteric cases but adds a lot of complexity both to the X86 backend and to other backends.
This optimization disables an important canonicalization of chains of SEXT nodes and makes SEXT and ZEXT asymmetrical.
Disabling the canonicalization of consecutive SEXT nodes into a single node disables other DAG optimizations that assume
that there is only one SEXT node. The AVX mask optimizations is one example. Additionally this optimization does not update the cost model.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172968
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Sun, 20 Jan 2013 07:33:26 +0000 (07:33 +0000)]
Changed IRBuilder::CreateZExtOrTrunc and IRBuilder::CreateSExtOrTrunc so they also work with vectors.
I also changed the name of a variable in IRBuilder::CreateFPExtOrFPTrunc to
match the names used in its two matching brethern as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172967
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Sun, 20 Jan 2013 07:01:04 +0000 (07:01 +0000)]
Update the gcc-loops benchmark
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172966
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Sun, 20 Jan 2013 06:52:47 +0000 (06:52 +0000)]
Update the linpack benchmark with different array sizes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172965
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Sun, 20 Jan 2013 05:24:29 +0000 (05:24 +0000)]
LoopVectorizer: Implement a new heuristics for selecting the unroll factor.
We ignore the cpu frontend and focus on pipeline utilization. We do this because we
don't have a good way to estimate the loop body size at the IR level.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172964
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Sun, 20 Jan 2013 05:20:56 +0000 (05:20 +0000)]
Change the cpu type in the test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172963
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Sun, 20 Jan 2013 05:12:35 +0000 (05:12 +0000)]
More copy editing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172962
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Sun, 20 Jan 2013 05:03:42 +0000 (05:03 +0000)]
Doxygenified and copy edited BasicBlock.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172961
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Sun, 20 Jan 2013 05:03:39 +0000 (05:03 +0000)]
Doxygenified Argument.h and performed some copy editing of the documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172960
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Sun, 20 Jan 2013 05:03:37 +0000 (05:03 +0000)]
Converted all method comments in IRBuilder.h to use doxygen style comments.
This implies changing method documentation from the following style:
/// MethodName - Method description...
to
/// \brief Method description...
ala the LLVM Style Guide.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172959
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Sun, 20 Jan 2013 04:19:39 +0000 (04:19 +0000)]
Corrected assert messages for CreateZExtOrTrunc/CreateSExtOrTrunc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172958
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Sun, 20 Jan 2013 03:56:31 +0000 (03:56 +0000)]
Added IRBuilder::CreateFPExtOrFPTrunc.
This method serves an analogous purpose to CreateZExtOrTrunc/CreateSExtOrTrunc
but for floating point types.
In detail, it provides a manner when one is handling conversions of floating
point types of automatically selecting fpext, fptrunc, or identity depending on
the relative bitsize of the source and destination types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172957
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Sun, 20 Jan 2013 03:35:39 +0000 (03:35 +0000)]
llvm/test/Other/close-stderr.ll: Mark this as XFAIL:valgrind. We got 127 instead of 1 here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172956
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Sun, 20 Jan 2013 03:32:55 +0000 (03:32 +0000)]
ReleaseNotes: note Sphinx migration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172955
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Sun, 20 Jan 2013 03:29:50 +0000 (03:29 +0000)]
docs: Nuke the old release notes.
This change also removes a bunch of boilerplate and stuffing which made
it unnecessarily hard to navigate and see the comparatively miniscule
actual content that was added to this document during the 3.2
development period (or maybe even sticking around from earlier
releases...).
The new organization (a flat list) optimizes for making it easy for
people who know about changes to add them to the document. It's
completely trivial for anyone with basic knowledge of LLVM to come in
later (such as when preparing for the actual release) and cluster any
changes into logical groups. However, I have left some comments
indicating how to add larger descriptions, if someone is feeling
adventurous ;)
Hopefully this organization will highlight how little effort is being
put into producing accurate, high-quality release notes, prompting a
corresponding improvement for the 3.3 release.
I have preserved the changes to this document that are not present
in the 3.2 release notes. There were only two... I'm pretty sure we've
been busier than that... (version control shows +213347/-173656 raw
lines just in the LLVM repo since the 3.2 release).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172954
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Jan 2013 02:54:05 +0000 (02:54 +0000)]
trivial micro-optimization: lazily call the virtual method instead of eagerly calling it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172953
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Jan 2013 02:50:32 +0000 (02:50 +0000)]
switch llvm-bcanalyzer onto the new cursor APIs, allowing deletion of
the old ReadRecord methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172952
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Sun, 20 Jan 2013 02:19:42 +0000 (02:19 +0000)]
docs: Use proper markup.
These are really definition lists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172950
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Sun, 20 Jan 2013 02:19:36 +0000 (02:19 +0000)]
docs: Inline documentation structure into homepage.
This brings back {Ctrl,Cmd}-f'ability, and makes some really bad
organizational choices easier to see (and therefore fix).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172949
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Jan 2013 02:13:19 +0000 (02:13 +0000)]
convert the bitstream reader itself and the IR .bc file parser to use the new advance() APIs,
simplifying things and making a bunch of details more private to BitstreamCursor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172947
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Jan 2013 02:12:39 +0000 (02:12 +0000)]
add an option to not auto-process abbreviations in advance()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172946
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Sun, 20 Jan 2013 01:18:01 +0000 (01:18 +0000)]
The last of PR14471 - emission of constant floats
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172941
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Jan 2013 01:06:48 +0000 (01:06 +0000)]
stringref'ize readRecord and properly capitalize it. Add a compatibility method to easy
the transition.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172940
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sun, 20 Jan 2013 00:50:58 +0000 (00:50 +0000)]
Make some helper methods static.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172936
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sun, 20 Jan 2013 00:43:42 +0000 (00:43 +0000)]
Remove DebugLoc argument from static function. It can easily be obtained from the SVOp passed in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172935
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sun, 20 Jan 2013 00:38:18 +0000 (00:38 +0000)]
Use MVT instead of EVT in more instruction lowering code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172933
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 20 Jan 2013 00:00:00 +0000 (00:00 +0000)]
move some private methods out of line, add a skipRecord() method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172931
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sat, 19 Jan 2013 23:36:09 +0000 (23:36 +0000)]
Use MVT instead of EVT in more of the shuffle lowering code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172930
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Jan 2013 23:31:15 +0000 (23:31 +0000)]
add some optional flags to affect the way advance works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172928
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sat, 19 Jan 2013 23:14:09 +0000 (23:14 +0000)]
Capitalize LowerVectorIntExtend to be consistent with all the other lower functions in this file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172927
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Sat, 19 Jan 2013 23:00:25 +0000 (23:00 +0000)]
Fix a latent bug exposed by recent static member debug info changes.
We weren't encoding boolean constants correctly due to modeling boolean as a
signed type & then sign extending an i1 up to a byte & getting 255.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172926
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Jan 2013 21:37:14 +0000 (21:37 +0000)]
fix method name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172921
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Jan 2013 21:35:24 +0000 (21:35 +0000)]
Add a new BitstreamEntry concept, and add two helper methods for walking
through a BitstreamCursor that produce it: advance() and
advanceSkippingSubblocks(), representing the two most common ways clients
want to walk through bitcode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172919
91177308-0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Sat, 19 Jan 2013 20:35:18 +0000 (20:35 +0000)]
Documentation: remove more mentions of Tcl
Followup for r172836
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172918
91177308-0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Sat, 19 Jan 2013 20:34:20 +0000 (20:34 +0000)]
Documentation: replace some non-ASCII characters by equivalent markup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172917
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Sat, 19 Jan 2013 19:56:11 +0000 (19:56 +0000)]
Include Support/ELF.h instead of Object/ELF.h. It is much lighter and completely
sufficient.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172916
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 19 Jan 2013 18:19:39 +0000 (18:19 +0000)]
BitstreamReader hasn't aged well. It's been hacked on by various people and
has past the point of making sense. Lets tidy things up: first step, moving
a ton of big functions out of line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172904
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 19 Jan 2013 13:57:58 +0000 (13:57 +0000)]
LoopVectorizer: Emit memory checks into their own basic block.
This separates the check for "too few elements to run the vector loop" from the
"memory overlap" check, giving a lot nicer code and allowing to skip the memory
checks when we're not going to execute the vector code anyways. We still leave
the decision of whether to emit the memory checks as branches or setccs, but it
seems to be doing a good job. If ugly code pops up we may want to emit them as
separate blocks too. Small speedup on MultiSource/Benchmarks/MallocBench/espresso.
Most of this is legwork to allow multiple bypass blocks while updating PHIs,
dominators and loop info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172902
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Sat, 19 Jan 2013 08:38:41 +0000 (08:38 +0000)]
On Sandybridge split unaligned 256bit stores into two xmm-sized stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172894
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Sat, 19 Jan 2013 08:27:45 +0000 (08:27 +0000)]
Use MVT instead of EVT when computing shuffle immediates since they can only be for legal types. Keeps compiler from generating unneeded checks and handling for extended types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172893
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sat, 19 Jan 2013 08:03:47 +0000 (08:03 +0000)]
Sort all of the includes. Several files got checked in with mis-sorted
includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172891
91177308-0d34-0410-b5e6-
96231b3b80d8
Jack Carter [Sat, 19 Jan 2013 02:00:40 +0000 (02:00 +0000)]
This is a resubmittal. For some reason it broke the bots yesterday
but I cannot reproduce the problem and have scrubed my sources and
even tested with llvm-lit -v --vg.
Formatting fixes. Mostly long lines and
blank spaces at end of lines.
Contributer: Jack Carter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172882
91177308-0d34-0410-b5e6-
96231b3b80d8
Renato Golin [Sat, 19 Jan 2013 00:42:16 +0000 (00:42 +0000)]
Fix 80-col and early exit in cost model
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172877
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Sat, 19 Jan 2013 00:03:32 +0000 (00:03 +0000)]
Remove some register allocation order dependencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172874
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Kaylor [Fri, 18 Jan 2013 23:40:42 +0000 (23:40 +0000)]
Fixing behavior of ELFObjectFile::getSymbolFileOffset().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172872
91177308-0d34-0410-b5e6-
96231b3b80d8
David Greene [Fri, 18 Jan 2013 23:22:52 +0000 (23:22 +0000)]
Pass NO_MISSING_FIELD_INITIALIZERS to Compiler Flags
configure checks whether -Wno-missing-field-initializers is a valid
compiler flag but it was never actually used in Makefile.rules.
Enable it to avoid some ridiculous warnings from gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172870
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Fri, 18 Jan 2013 23:10:30 +0000 (23:10 +0000)]
On Sandybridge loading unaligned 256bits using two XMM loads (vmovups and vinsertf128) is faster than using a single vmovups instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172868
91177308-0d34-0410-b5e6-
96231b3b80d8
Jordan Rose [Fri, 18 Jan 2013 23:05:41 +0000 (23:05 +0000)]
Use hexDigitValue in LLLexer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172866
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Fri, 18 Jan 2013 23:02:45 +0000 (23:02 +0000)]
Improved comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172864
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Fri, 18 Jan 2013 23:00:33 +0000 (23:00 +0000)]
Fixed typo in comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172863
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Fri, 18 Jan 2013 22:11:33 +0000 (22:11 +0000)]
Split out DW_OP_addr for the split debug info DWARF5 proposal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172857
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 18 Jan 2013 21:56:07 +0000 (21:56 +0000)]
If the attributes don't exist, just bail for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172854
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 18 Jan 2013 21:53:16 +0000 (21:53 +0000)]
Use AttributeSet accessor methods instead of Attribute accessor methods.
Further encapsulation of the Attribute object. Don't allow direct access to the
Attribute object as an aggregate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172853
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 18 Jan 2013 21:50:24 +0000 (21:50 +0000)]
Remove unused parameter. Also use the AttributeSet query methods instead of the Attribute query methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172852
91177308-0d34-0410-b5e6-
96231b3b80d8
Jordan Rose [Fri, 18 Jan 2013 21:45:30 +0000 (21:45 +0000)]
Add llvm::hexDigitValue to convert single characters to hex.
This is duplicated in a couple places in the codebase. Adopt this in APFloat.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172851
91177308-0d34-0410-b5e6-
96231b3b80d8
Jack Carter [Fri, 18 Jan 2013 21:20:38 +0000 (21:20 +0000)]
This is a resubmittal. For some reason it broke the bots yesterday
but I cannot reproduce the problem and have scrubed my sources and
even tested with llvm-lit -v --vg.
Support for Mips register information sections.
Mips ELF object files have a section that is dedicated
to register use info. Some of this information such as
the assumed Global Pointer value is used by the linker
in relocation resolution.
The register info file is .reginfo in o32 and .MIPS.options
in 64 and n32 abi files.
This patch contains the changes needed to create the sections,
but leaves the actual register accounting for a future patch.
Contributer: Jack Carter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172847
91177308-0d34-0410-b5e6-
96231b3b80d8
Tom Stellard [Fri, 18 Jan 2013 21:15:53 +0000 (21:15 +0000)]
R600: Proper insert S_WAITCNT instructions
Some instructions like memory reads/writes are executed
asynchronously, so we need to insert S_WAITCNT instructions
to block before accessing their results. Previously we have
just inserted S_WAITCNT instructions after each async
instruction, this patch fixes this and adds a prober
insertion pass.
Patch by: Christian König
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172846
91177308-0d34-0410-b5e6-
96231b3b80d8
Tom Stellard [Fri, 18 Jan 2013 21:15:50 +0000 (21:15 +0000)]
R600: Optimize and cleanup KILL on SI
We shouldn't insert KILL optimization if we don't have a
kill instruction at all.
Patch by: Christian König
Tested-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Signed-off-by: Christian König <deathsimple@vodafone.de>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172845
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 18 Jan 2013 21:11:39 +0000 (21:11 +0000)]
Push some more methods down to hide the use of the Attribute class.
Because the Attribute class is going to stop representing a collection of
attributes, limit the use of it as an aggregate in favor of using AttributeSet.
This replaces some of the uses for querying the function attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172844
91177308-0d34-0410-b5e6-
96231b3b80d8
Jack Carter [Fri, 18 Jan 2013 20:15:06 +0000 (20:15 +0000)]
This is a resubmittal. For some reason it broke the bots yesterday
but I cannot reproduce the problem and have scrubed my sources and
even tested with llvm-lit -v --vg.
Removal of redundant code and formatting fixes.
Contributers: Jack Carter/Vladimir Medic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172842
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 18 Jan 2013 20:08:09 +0000 (20:08 +0000)]
[Linker] Zap a dead typedef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172841
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 18 Jan 2013 19:45:22 +0000 (19:45 +0000)]
Silence GCC warning about dropping off a non-void function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172839
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 18 Jan 2013 19:37:11 +0000 (19:37 +0000)]
[Linker] Kill Linker::LoadObject which is dead, and drop the BitReader dependency again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172838
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 18 Jan 2013 19:37:00 +0000 (19:37 +0000)]
[MC/Mach-O] Implement integrated assembler support for linker options.
- Also, fixup syntax errors in LangRef and missing newline in the MCAsmStreamer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172837
91177308-0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Fri, 18 Jan 2013 19:27:43 +0000 (19:27 +0000)]
Documentation: remove all mentions of DejaGNU and Tcl
We don't have DejaGNU tests now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172836
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Bendersky [Fri, 18 Jan 2013 19:01:34 +0000 (19:01 +0000)]
Streamline the mentions of grep and FileCheck in TestingGuide.rst
grep is now only mentioned once in a sentence that explicitly says it's
deprecated. For FileCheck, there's no reason to repeat part of the
documentation that exists in CommandGuide/FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172835
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 18 Jan 2013 15:03:03 +0000 (15:03 +0000)]
The IR linker still depends on the bitcode reader.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172824
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Fri, 18 Jan 2013 14:52:02 +0000 (14:52 +0000)]
llvm/test/CodeGen/X86/Atomics-64.ll: Tweak for 2nd RUN not to overwrite %t. It sometimes causes spurious failure on lit win32.
Feel free to prune or suppress each output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172823
91177308-0d34-0410-b5e6-
96231b3b80d8
Alexey Samsonov [Fri, 18 Jan 2013 12:49:06 +0000 (12:49 +0000)]
80 columns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172813
91177308-0d34-0410-b5e6-
96231b3b80d8
Will Dietz [Fri, 18 Jan 2013 11:29:21 +0000 (11:29 +0000)]
Move Blacklist.h to include/ to enable use from clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172806
91177308-0d34-0410-b5e6-
96231b3b80d8
Manuel Klimek [Fri, 18 Jan 2013 10:18:50 +0000 (10:18 +0000)]
Add basic command line parsing to TestMain.
Summary:
This allows unit tests for components that use Support/Debug.h to print
debug information from test runs by specifying -debug when running the
test.
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D301
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172801
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Fri, 18 Jan 2013 08:41:28 +0000 (08:41 +0000)]
Calculate vector element size more directly for VINSERTF128/VEXTRACTF128 immediate handling. Also use MVT since this only called on legal types during pattern matching.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172797
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Fri, 18 Jan 2013 07:27:20 +0000 (07:27 +0000)]
Minor formatting fix. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172795
91177308-0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Fri, 18 Jan 2013 06:57:01 +0000 (06:57 +0000)]
Remove support for Tcl test format since nobody uses it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172794
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Fri, 18 Jan 2013 06:50:59 +0000 (06:50 +0000)]
Spelling fix: extened->extended. Trailing whitespace in same function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172793
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Fri, 18 Jan 2013 06:44:29 +0000 (06:44 +0000)]
Make more use of is128BitVector/is256BitVector in place of getSizeInBits() == 128/256.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172792
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Fri, 18 Jan 2013 05:30:07 +0000 (05:30 +0000)]
Check for less than 0 in shuffle mask instead of -1. It's more consistent with other code related to shuffles and easier to implement in compiled code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172788
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Fri, 18 Jan 2013 05:09:16 +0000 (05:09 +0000)]
Remove trailing whitespace. Remove new lines between closing brace and 'else'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172784
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Fri, 18 Jan 2013 03:08:39 +0000 (03:08 +0000)]
Fixed 80+ violation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172782
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 18 Jan 2013 01:26:07 +0000 (01:26 +0000)]
[MC/Mach-O] Add support for linker options in Mach-O files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172779
91177308-0d34-0410-b5e6-
96231b3b80d8