Nadav Rotem [Mon, 21 Jan 2013 17:59:18 +0000 (17:59 +0000)]
Fix a comment. Induction vars dont need to start at zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173061
91177308-0d34-0410-b5e6-
96231b3b80d8
Tom Stellard [Mon, 21 Jan 2013 15:40:48 +0000 (15:40 +0000)]
R600/SI: Use unnormalized coordinates for sampling with the RECT target.
Patch by: Michel Dänzer
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173053
91177308-0d34-0410-b5e6-
96231b3b80d8
Tom Stellard [Mon, 21 Jan 2013 15:40:47 +0000 (15:40 +0000)]
R600/SI: Take target parameter for sample intrinsics.
Patch by: Michel Dänzer
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173052
91177308-0d34-0410-b5e6-
96231b3b80d8
Tom Stellard [Mon, 21 Jan 2013 15:40:46 +0000 (15:40 +0000)]
R600/SI: Derive all sample intrinsics from a single class.
Patch by: Michel Dänzer
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173051
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Mon, 21 Jan 2013 14:06:48 +0000 (14:06 +0000)]
R600/SILowerControlFlow.cpp: Fix a warning. [-Wunused-variable]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173040
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Mon, 21 Jan 2013 13:04:33 +0000 (13:04 +0000)]
Switch CodeMetrics itself over to use TTI to determine if an instruction
is free. The whole CodeMetrics API should probably be reworked more, but
this is enough to allow deleting the duplicate code there for computing
whether an instruction is free.
All of the passes using this have been updated to pull in TTI and hand
it to the CodeMetrics stuff. Further, a dead CodeMetrics API
(analyzeFunction) is nuked for lack of users.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173036
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Mon, 21 Jan 2013 12:14:42 +0000 (12:14 +0000)]
Fix indentation and formatting.
This change brought to by clang-format. =]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173034
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Mon, 21 Jan 2013 12:09:41 +0000 (12:09 +0000)]
Sink InlineCost.cpp into IPA -- it is now officially an interprocedural
analysis. How cute that it wasn't previously. ;]
Part of this confusion stems from the flattened header file tree. Thanks
to Benjamin for pointing out the goof on IRC, and we're considering
un-flattening the headers, so speak now if that would bug you.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173033
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Mon, 21 Jan 2013 12:05:16 +0000 (12:05 +0000)]
Move the inline cost analysis's primary cost query to TTI instead of the
old CodeMetrics system. TTI has the specific advantage of being
extensible and customizable by targets to reflect target-specific cost
metrics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173032
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Mon, 21 Jan 2013 11:55:09 +0000 (11:55 +0000)]
Now that the inline cost analysis is a pass, we can easily have it
depend on and use other analyses (as long as they're either immutable
passes or CGSCC passes of course -- nothing in the pass manager has been
fixed here). Leverage this to thread TargetTransformInfo down through
the inline cost analysis.
No functionality changed here, this just threads things through.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173031
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Mon, 21 Jan 2013 11:39:18 +0000 (11:39 +0000)]
Make the inline cost a proper analysis pass. This remains essentially
a dynamic analysis done on each call to the routine. However, now it can
use the standard pass infrastructure to reference other analyses,
instead of a silly setter method. This will become more interesting as
I teach it about more analysis passes.
This updates the two inliner passes to use the inline cost analysis.
Doing so highlights how utterly redundant these two passes are. Either
we should find a cheaper way to do always inlining, or we should merge
the two and just fiddle with the thresholds to get the desired behavior.
I'm leaning increasingly toward the latter as it would also remove the
Inliner sub-class split.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173030
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Mon, 21 Jan 2013 11:39:16 +0000 (11:39 +0000)]
Formatting and comment fixes to the always inliner.
Formatting fixes brought to you by clang-format.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173029
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Mon, 21 Jan 2013 11:39:14 +0000 (11:39 +0000)]
Clean up the formatting and doxygen for the simple inliner a bit. No
functionality changed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173028
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Mon, 21 Jan 2013 11:39:12 +0000 (11:39 +0000)]
Fix an old-style doxygen comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173027
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Mon, 21 Jan 2013 10:08:42 +0000 (10:08 +0000)]
Cleanup the formatting of this header. This removes the namespace indent
and reformats a few constructors using clang-format. Only whitespace
changes here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173018
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Mon, 21 Jan 2013 08:13:04 +0000 (08:13 +0000)]
Revert "[Object] .bss sections have no content. PR15005."
This reverts commit r173007.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173012
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Mon, 21 Jan 2013 07:25:16 +0000 (07:25 +0000)]
Use <0 checks in place of ==-1 because it results in simpler code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173010
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Mon, 21 Jan 2013 07:19:54 +0000 (07:19 +0000)]
Use MVT instead of EVT in LowerVECTOR_SHUFFLEtoBlend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173009
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Mon, 21 Jan 2013 06:57:59 +0000 (06:57 +0000)]
Remove trailing whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173008
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Mon, 21 Jan 2013 06:46:11 +0000 (06:46 +0000)]
[Object] .bss sections have no content. PR15005.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173007
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Mon, 21 Jan 2013 06:21:54 +0000 (06:21 +0000)]
Fix some 80 column violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173006
91177308-0d34-0410-b5e6-
96231b3b80d8
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