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.
llvm-svn: 173012
Alexey Samsonov [Mon, 21 Jan 2013 08:12:20 +0000 (08:12 +0000)]
CMake: add functions creating universal runtime libraries for several architectures on OS X and use them in ASan and UBSan build rules
llvm-svn: 173011
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.
llvm-svn: 173010
Craig Topper [Mon, 21 Jan 2013 07:19:54 +0000 (07:19 +0000)]
Use MVT instead of EVT in LowerVECTOR_SHUFFLEtoBlend.
llvm-svn: 173009
Craig Topper [Mon, 21 Jan 2013 06:57:59 +0000 (06:57 +0000)]
Remove trailing whitespace.
llvm-svn: 173008
Michael J. Spencer [Mon, 21 Jan 2013 06:46:11 +0000 (06:46 +0000)]
[Object] .bss sections have no content. PR15005.
llvm-svn: 173007
Craig Topper [Mon, 21 Jan 2013 06:21:54 +0000 (06:21 +0000)]
Fix some 80 column violations.
llvm-svn: 173006
Craig Topper [Mon, 21 Jan 2013 06:13:28 +0000 (06:13 +0000)]
Make helper method static.
llvm-svn: 173005
Michael J. Spencer [Mon, 21 Jan 2013 05:39:07 +0000 (05:39 +0000)]
[Support] Make test C++03.
llvm-svn: 173004
David Blaikie [Mon, 21 Jan 2013 04:37:12 +0000 (04:37 +0000)]
PR14472: Preserve qualifiers while unwrapping types for debug info
Looks like r161368 fixed this for one case but not all. This change generalizes
the solution over all the unwrapping cases. Now that preserving the qualifiers
is done independent of the particular type being unwrapped I won't bother
adding test cases for each one but at least demonstrate that this change was
necessary & sufficient to fix the bug.
llvm-svn: 173002
Chandler Carruth [Mon, 21 Jan 2013 02:17:36 +0000 (02:17 +0000)]
Remove the comma from the last enumerator to fix -pedantic warnings.
llvm-svn: 172999
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.
llvm-svn: 172998
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
llvm-svn: 172997
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?
llvm-svn: 172996
Craig Topper [Sun, 20 Jan 2013 21:50:27 +0000 (21:50 +0000)]
Convert more EVT's to MVT's in the lowering methods.
llvm-svn: 172995
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.
llvm-svn: 172994
Michael J. Spencer [Sun, 20 Jan 2013 21:27:05 +0000 (21:27 +0000)]
[Core] Use LLVM's ErrorOr<T>.
llvm-svn: 172993
Renato Golin [Sun, 20 Jan 2013 20:57:20 +0000 (20:57 +0000)]
Revert CostTable algorithm, will re-write
llvm-svn: 172992
Michael J. Spencer [Sun, 20 Jan 2013 20:32:30 +0000 (20:32 +0000)]
[Support] Port ErrorOr<T> from lld to C++03.
llvm-svn: 172991
Benjamin Kramer [Sun, 20 Jan 2013 20:29:52 +0000 (20:29 +0000)]
LoopVectorize: Fix a C++11 incompatibility.
llvm-svn: 172990
Benjamin Kramer [Sun, 20 Jan 2013 19:29:01 +0000 (19:29 +0000)]
Prune unused diagnostics.
Courtesy of utils/find-unused-diagnostics.sh.
llvm-svn: 172988
Richard Osborne [Sun, 20 Jan 2013 18:51:15 +0000 (18:51 +0000)]
Add instruction encodings / disassembly support for l2rus instructions.
llvm-svn: 172987
Richard Osborne [Sun, 20 Jan 2013 18:37:49 +0000 (18:37 +0000)]
Add instruction encodings / disassembly support for l3r instructions.
llvm-svn: 172986
Richard Osborne [Sun, 20 Jan 2013 17:22:43 +0000 (17:22 +0000)]
Add instruction encodings / disassembler support for 2rus instructions.
llvm-svn: 172985
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.
llvm-svn: 172984
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
llvm-svn: 172983
NAKAMURA Takumi [Sun, 20 Jan 2013 15:30:41 +0000 (15:30 +0000)]
clang/utils/valgrind/x86_64-pc-linux-gnu_gcc-4.3.3.supp: Add /usr/bin/cmp.
FIXME: It could be removed if;
- check-all included llvm/valgrind/supp, too.
- clang-vg didn't use "check-all".
llvm-svn: 172982
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.
llvm-svn: 172981
NAKAMURA Takumi [Sun, 20 Jan 2013 14:53:49 +0000 (14:53 +0000)]
Add bitreader to LINK_COMPONENTS in users of libclang, c-arcmt-test and c-index-test.
They don't link cygclang.dll, but libclang.a on cygwin.
llvm-svn: 172980
Alexey Samsonov [Sun, 20 Jan 2013 14:36:12 +0000 (14:36 +0000)]
CMake: Add add_compiler_rt_osx_object_library to create universal libraries on Mac
llvm-svn: 172979
Alexey Samsonov [Sun, 20 Jan 2013 14:14:13 +0000 (14:14 +0000)]
CMake: use add_compiler_rt_static_runtime to build TSan and MSan runtimes. No functionality change.
llvm-svn: 172978
Alexey Samsonov [Sun, 20 Jan 2013 13:58:10 +0000 (13:58 +0000)]
CMake: Add add_compiler_rt_static_runtime function and use it to build generic compiler-rt libraries
llvm-svn: 172977
Alexey Samsonov [Sun, 20 Jan 2013 13:41:26 +0000 (13:41 +0000)]
Temporary disable test added in r172828 as it seems to be flaky on the buildbots
llvm-svn: 172976
Alexey Samsonov [Sun, 20 Jan 2013 13:22:06 +0000 (13:22 +0000)]
Fixup for r172828: use InternalScopedBuffer in favor of large stack buffers
llvm-svn: 172975
Alexey Samsonov [Sun, 20 Jan 2013 13:12:12 +0000 (13:12 +0000)]
Add top-level Clang flag -f(no-)sanitize-address-zero-base-shadow that makes AddressSanitizer use bottom of the address space for the shadow memory. On Linux it can be used with -fPIE/-pie to improve performance.
llvm-svn: 172974
Guy Benyei [Sun, 20 Jan 2013 12:31:11 +0000 (12:31 +0000)]
Implement OpenCL event_t as Clang builtin type, including event_t related OpenCL restrictions (OpenCL 1.2 spec 6.9)
llvm-svn: 172973
Michael J. Spencer [Sun, 20 Jan 2013 10:39:17 +0000 (10:39 +0000)]
[docs] Document lld's usage of C++11 features.
llvm-svn: 172972
Nadav Rotem [Sun, 20 Jan 2013 09:39:17 +0000 (09:39 +0000)]
Fix a build error.
llvm-svn: 172971
Michael J. Spencer [Sun, 20 Jan 2013 09:38:14 +0000 (09:38 +0000)]
[docs] Update IRC information.
llvm-svn: 172970
Craig Topper [Sun, 20 Jan 2013 09:02:22 +0000 (09:02 +0000)]
Make LowerVSETCC a static function and use MVT instead of EVT.
llvm-svn: 172969
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.
llvm-svn: 172968
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.
llvm-svn: 172967
Nadav Rotem [Sun, 20 Jan 2013 07:01:04 +0000 (07:01 +0000)]
Update the gcc-loops benchmark
llvm-svn: 172966
Nadav Rotem [Sun, 20 Jan 2013 06:52:47 +0000 (06:52 +0000)]
Update the linpack benchmark with different array sizes.
llvm-svn: 172965
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.
llvm-svn: 172964
Nadav Rotem [Sun, 20 Jan 2013 05:20:56 +0000 (05:20 +0000)]
Change the cpu type in the test.
llvm-svn: 172963
Michael Gottesman [Sun, 20 Jan 2013 05:12:35 +0000 (05:12 +0000)]
More copy editing.
llvm-svn: 172962
Michael Gottesman [Sun, 20 Jan 2013 05:03:42 +0000 (05:03 +0000)]
Doxygenified and copy edited BasicBlock.h.
llvm-svn: 172961
Michael Gottesman [Sun, 20 Jan 2013 05:03:39 +0000 (05:03 +0000)]
Doxygenified Argument.h and performed some copy editing of the documentation.
llvm-svn: 172960
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.
llvm-svn: 172959
Michael Gottesman [Sun, 20 Jan 2013 04:19:39 +0000 (04:19 +0000)]
Corrected assert messages for CreateZExtOrTrunc/CreateSExtOrTrunc.
llvm-svn: 172958
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.
llvm-svn: 172957
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.
llvm-svn: 172956
Sean Silva [Sun, 20 Jan 2013 03:32:55 +0000 (03:32 +0000)]
ReleaseNotes: note Sphinx migration.
llvm-svn: 172955
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).
llvm-svn: 172954
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.
llvm-svn: 172953
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.
llvm-svn: 172952
Chris Lattner [Sun, 20 Jan 2013 02:38:54 +0000 (02:38 +0000)]
update to use the new BitcodeCursor readRecord that takes a StringRef blob parameter,
and adopt "advance" in more places.
llvm-svn: 172951
Sean Silva [Sun, 20 Jan 2013 02:19:42 +0000 (02:19 +0000)]
docs: Use proper markup.
These are really definition lists.
llvm-svn: 172950
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).
llvm-svn: 172949
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.
llvm-svn: 172947
Chris Lattner [Sun, 20 Jan 2013 02:12:39 +0000 (02:12 +0000)]
add an option to not auto-process abbreviations in advance()
llvm-svn: 172946
Sean Silva [Sun, 20 Jan 2013 01:58:28 +0000 (01:58 +0000)]
Nuke SetUpBuildDumpLog.
Also, it was the only reason that `argc` and `argv` were being passed
into createDiagnostics, so remove those parameters and clean up callers.
llvm-svn: 172945
Sean Silva [Sun, 20 Jan 2013 01:58:26 +0000 (01:58 +0000)]
Fix what appears to be a copy-paste error.
This looks like it was copied from SetUpBuildDumpLog, which dumps to the
file `DiagOpts->DumpBuildInformation`. There is another member
`DiagOpts->DiagnosticLogFile` which appears to be unused. The fact that
this feature doesn't even print to the output file specified on the
command line makes me think that it should be ripped out.
llvm-svn: 172944
David Blaikie [Sun, 20 Jan 2013 01:19:17 +0000 (01:19 +0000)]
The last of PR14471: Debug info support for inline in-class initializer for float static members
llvm-svn: 172942
David Blaikie [Sun, 20 Jan 2013 01:18:01 +0000 (01:18 +0000)]
The last of PR14471 - emission of constant floats
llvm-svn: 172941
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.
llvm-svn: 172940
Michael Gottesman [Sun, 20 Jan 2013 01:04:14 +0000 (01:04 +0000)]
Fixed trailing whitespace.
llvm-svn: 172939
Chris Lattner [Sun, 20 Jan 2013 00:57:52 +0000 (00:57 +0000)]
add back a #include needed on some builders.
llvm-svn: 172938
Chris Lattner [Sun, 20 Jan 2013 00:56:42 +0000 (00:56 +0000)]
finish converting the normal cases in ASTReader to use the new BitstreamCursor APIs.
llvm-svn: 172937
Craig Topper [Sun, 20 Jan 2013 00:50:58 +0000 (00:50 +0000)]
Make some helper methods static.
llvm-svn: 172936
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.
llvm-svn: 172935
Tobias Grosser [Sun, 20 Jan 2013 00:42:16 +0000 (00:42 +0000)]
[cindex.py]: Use spaces instead of tabs
The tabs slipped in accidentally.
llvm-svn: 172934
Craig Topper [Sun, 20 Jan 2013 00:38:18 +0000 (00:38 +0000)]
Use MVT instead of EVT in more instruction lowering code.
llvm-svn: 172933
Chris Lattner [Sun, 20 Jan 2013 00:00:22 +0000 (00:00 +0000)]
convert some more stuff over to use new cursor APIs.
llvm-svn: 172932
Chris Lattner [Sun, 20 Jan 2013 00:00:00 +0000 (00:00 +0000)]
move some private methods out of line, add a skipRecord() method.
llvm-svn: 172931
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.
llvm-svn: 172930
Chris Lattner [Sat, 19 Jan 2013 23:31:15 +0000 (23:31 +0000)]
add some optional flags to affect the way advance works.
llvm-svn: 172928
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.
llvm-svn: 172927
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.
llvm-svn: 172926
Dmitri Gribenko [Sat, 19 Jan 2013 22:11:28 +0000 (22:11 +0000)]
Actually update the test, fixup for r172923
llvm-svn: 172925
Dmitri Gribenko [Sat, 19 Jan 2013 22:06:05 +0000 (22:06 +0000)]
Use llvm::hexDigitValue in comment lexer
llvm-svn: 172924
Dmitri Gribenko [Sat, 19 Jan 2013 22:04:44 +0000 (22:04 +0000)]
Comment parsing: add more tests for html character references
llvm-svn: 172923
Chris Lattner [Sat, 19 Jan 2013 21:39:22 +0000 (21:39 +0000)]
switch a bunch of ASTReader to use the new BitstreamCursor::advance* methods,
which hide a bunch of private details of the cursor from clients and simplify
their code. More to come.
llvm-svn: 172922
Chris Lattner [Sat, 19 Jan 2013 21:37:14 +0000 (21:37 +0000)]
fix method name.
llvm-svn: 172921
Chris Lattner [Sat, 19 Jan 2013 21:35:35 +0000 (21:35 +0000)]
random tidying
llvm-svn: 172920
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.
llvm-svn: 172919
Dmitri Gribenko [Sat, 19 Jan 2013 20:35:18 +0000 (20:35 +0000)]
Documentation: remove more mentions of Tcl
Followup for r172836
llvm-svn: 172918
Dmitri Gribenko [Sat, 19 Jan 2013 20:34:20 +0000 (20:34 +0000)]
Documentation: replace some non-ASCII characters by equivalent markup
llvm-svn: 172917
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.
llvm-svn: 172916
Jordan Rose [Sat, 19 Jan 2013 19:52:57 +0000 (19:52 +0000)]
[analyzer] Don't show "Entered 'foo'" if 'foo' is implicit.
Before:
Calling implicit default constructor for 'Foo' (where Foo is constructed)
Entered call from 'test' (at "=default" or 'Foo' declaration)
Calling default constructor for 'Bar' (at "=default" or 'Foo' declaration)
After:
Calling implicit default constructor for 'Foo' (where Foo is constructed)
Calling default constructor for 'Bar' (at "=default" or 'Foo' declaration)
This only affects the plist diagnostics; this note is never shown in the
other diagnostics.
llvm-svn: 172915
David Blaikie [Sat, 19 Jan 2013 19:20:56 +0000 (19:20 +0000)]
Emit the function type of member function pointer types the same as member functions.
Adding the pseudo first parameter to a member function pointer's function type
and mark it as artificial.
Combined with a fix to GDB ( http://sourceware.org/bugzilla/show_bug.cgi?id=14998 )
this fixes gdb.cp/member-ptr.exp with Clang.
llvm-svn: 172911
Benjamin Kramer [Sat, 19 Jan 2013 19:10:12 +0000 (19:10 +0000)]
libclangSerialization also depends on the bitreader.
llvm-svn: 172910
Chris Lattner [Sat, 19 Jan 2013 18:47:35 +0000 (18:47 +0000)]
update header comment.
llvm-svn: 172909
Chris Lattner [Sat, 19 Jan 2013 18:45:35 +0000 (18:45 +0000)]
these need the bitcode reader as well.
llvm-svn: 172908
Chris Lattner [Sat, 19 Jan 2013 18:30:39 +0000 (18:30 +0000)]
fix the unit tests too.
llvm-svn: 172907
Chris Lattner [Sat, 19 Jan 2013 18:28:24 +0000 (18:28 +0000)]
these now depend on the bitcode reader too.
llvm-svn: 172906
Chris Lattner [Sat, 19 Jan 2013 18:24:13 +0000 (18:24 +0000)]
this depends on the bitcode reader, since it is using it.
llvm-svn: 172905
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.
llvm-svn: 172904
Tobias Grosser [Sat, 19 Jan 2013 14:17:52 +0000 (14:17 +0000)]
cmake: Install all polly include files
Contributed-by: Richard Membarth <richard.membarth@informatik.uni-erlangen.de>
llvm-svn: 172903