Commit Graph

156555 Commits

Author SHA1 Message Date
Hal Finkel 7d0867f48c Disable loop vectorizer unrolling when no unrolling requested
In addition to the regular loop unrolling transformation, the loop vectorizer
can also unroll loops. If no unrolling has specifically been requested (by
-fno-unroll-loops), and the loop vectorizer will be used, then add the backend
option to (also) prevent the loop vectorizer from unrolling loops.

I confirmed with Nadav (off list) that disabling vectorizer loop unrolling when
-fno-unroll-loops is provided is the desired behavior.

llvm-svn: 189440
2013-08-28 04:40:22 +00:00
Eric Christopher 62caa709fe Remove support for the .debug_inlined section. No known software
in use supports it.

llvm-svn: 189439
2013-08-28 04:04:28 +00:00
Craig Topper d80c17e060 Merge diagnostic group tables to reduce data size and relocation entries.
The individual group and subgroups tables are now two large tables. The option table stores an index into these two tables instead of pointers. This reduces the size of the options tabe since it doesn't need to store pointers. It also reduces the number of relocations needed.

My build shows this reducing DiagnosticsIDs.o and the clang binary by ~20.5K. It also removes ~400 relocation entries from DiagnosticIDs.o.

llvm-svn: 189438
2013-08-28 04:02:50 +00:00
NAKAMURA Takumi 19675898da X86JITInfo.cpp: Apply x64 version of X86CompilationCallback() to Cygwin64.
For now, (defined(X86_64_JIT) && defined(__CYGWIN__)) satisfies Cygwin64.

llvm-svn: 189437
2013-08-28 03:04:09 +00:00
NAKAMURA Takumi 9ea7c6d463 X86Subtarget.h: Recognize x86_64-cygwin.
In the LLVM side, x86_64-cygwin is almost as same as x86_64-mingw32.

llvm-svn: 189436
2013-08-28 03:04:02 +00:00
Hans Wennborg 3accde52db cmake: install a cl.exe binary in the tools/msbuild-bin dir
llvm-svn: 189435
2013-08-28 01:58:44 +00:00
Hans Wennborg d2cbe22b4a cmake: Add msbuild integration to the install
This adds the msbuild integration files to the install, provides batch scripts
for (un)installing it in a convenient way, and hooks up the nsis installer to
run those scripts.

Differential Revision: http://llvm-reviews.chandlerc.com/D1537

llvm-svn: 189434
2013-08-28 01:19:26 +00:00
Argyrios Kyrtzidis aae63a0ce6 [BumpPtrAllocator] Move DefaultSlabAllocator to a member of BumpPtrAllocator, instead of a static variable.
The problem with having DefaultSlabAllocator being a global static is that it is undefined if BumpPtrAllocator
will be usable during global initialization because it is not guaranteed that DefaultSlabAllocator will be
initialized before BumpPtrAllocator is created and used.

llvm-svn: 189433
2013-08-28 01:02:21 +00:00
Akira Hatanaka 9bfa2e2e7f [mips] Use ptr_rc to simplify definitions of base+index load/store instructions.
Also, fix predicates.

llvm-svn: 189432
2013-08-28 00:55:15 +00:00
Akira Hatanaka 37e9b0dbb2 [mips] Clean up definitions of move word from/to coprocessor instructions.
No functionality change.

llvm-svn: 189431
2013-08-28 00:42:50 +00:00
Akira Hatanaka 62005d69a7 [mips] Set isAllocatable and CoveredBySubRegs.
llvm-svn: 189430
2013-08-28 00:34:17 +00:00
David Majnemer 3425710cca Some of this test doesn't want -std=c++11
Sorry for the churn.

llvm-svn: 189429
2013-08-28 00:13:42 +00:00
Eric Christopher e9fd605b41 Add a TODO here.
llvm-svn: 189428
2013-08-28 00:13:08 +00:00
Eric Christopher d033d6fb88 Add support for DW_FORM_dataN and DW_FORM_udata to the DIE hashing
algorithm. Update the split dwarf hashing testcase accordingly - this
should be the last time that the hash of an empty file changes.

llvm-svn: 189427
2013-08-28 00:10:38 +00:00
Ted Kremenek 2894000b48 Revert "Use CMAKE_RUNTIME_OUTPUT_DIRECTORY instead of LLVM_BINARY_DIR for installing Clang headers."
This appears to be breaking the buildbots.

llvm-svn: 189426
2013-08-28 00:07:08 +00:00
David Majnemer af8795d46d This test now needs C++11
llvm-svn: 189425
2013-08-28 00:03:12 +00:00
Rui Ueyama c3779ff83b Revert "Option parsing: support case-insensitive option matching." as it broke Windows buildbot.
This reverts r189416.

llvm-svn: 189424
2013-08-28 00:02:06 +00:00
Rui Ueyama c4d793f2ad Remove an option starting an uppercase character so that the test does not depends on sort order.
llvm-svn: 189423
2013-08-28 00:01:57 +00:00
David Majnemer 03f4ab7531 AST: Don't treat a TemplateExpansion as a Template
Summary:
Instead of calling getAsTemplate(), call
getAsTemplateOrTemplatePattern() because it handles the
TemplateExpansion case too.

This fixes PR16997.

Reviewers: doug.gregor, rsmith

Reviewed By: rsmith

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1512

llvm-svn: 189422
2013-08-28 00:00:27 +00:00
David Blaikie ebe87e1cfa Revert "PR14569: Omit debug info for thunks"
This reverts commit r189320.

Alexey Samsonov and Dmitry Vyukov presented some arguments for keeping
these around - though it still seems like those tasks could be solved by
a tool just using the symbol table. In a very small number of cases,
thunks may be inlined & debug info might be able to save profilers &
similar tools from misclassifying those cases as part of the caller.

The extra changes here plumb through the VarDecl for various cases to
CodeGenFunction - this provides better fidelity through a few APIs but
generally just causes the CGF::StartFunction to fallback to using the
name of the IR function as the name in the debug info.

The changes to debug-info-global-ctor-dtor.cpp seem like goodness. The
two names that go missing (in favor of only emitting those names as
linkage names) are names that can be demangled - emitting them only as
the linkage name should encourage tools to do just that.

Again, thanks to Dinesh Dwivedi for investigation/work on this issue.

llvm-svn: 189421
2013-08-27 23:57:18 +00:00
Fariborz Jahanian 7ca1d30e49 ObjectiveC migrator: minor refactoring of my last
cf annotation patch.

llvm-svn: 189420
2013-08-27 23:56:54 +00:00
Eric Christopher 9d1daa87e7 Use DW_FORM_sdata for signed constant values and udata on occasion
when we can. Migrate from using blocks when we're adding just a
single attribute and floating point values are an unsigned, not signed,
bag of bits.

Update all test cases accordingly.

llvm-svn: 189419
2013-08-27 23:49:04 +00:00
Eric Christopher 63eaed0341 Move some debug testcases to the debug info directory.
llvm-svn: 189418
2013-08-27 23:48:57 +00:00
Rui Ueyama b5292e6295 Modify test to adopt r189416.
r189416 changed the order of command line options shown in help message,
so the test needs adjusting.

llvm-svn: 189417
2013-08-27 23:48:49 +00:00
Rui Ueyama 7159bd9dcb Option parsing: support case-insensitive option matching.
Link.exe's command line options are case-insensitive. This patch
adds a new attribute to OptTable to let the option parser to compare
options, ignoring case.

Command lines are generally case-insensitive on Windows. CL.exe is an
exception. So this new attribute should be useful for other commands
running on Windows.

Differential Revision: http://llvm-reviews.chandlerc.com/D1485

llvm-svn: 189416
2013-08-27 23:47:01 +00:00
Argyrios Kyrtzidis dba67a226f [CMake] Put back the add_llvm_external_project() calls for specific projects.
This allows setting-up the LLVM_EXTERNAL_* CMake variables that some people are using,
e.g. to set the source directory of the project in a different place.

llvm-svn: 189415
2013-08-27 23:27:56 +00:00
Ted Kremenek ae2c8776d0 Use CMAKE_RUNTIME_OUTPUT_DIRECTORY instead of LLVM_BINARY_DIR for installing Clang headers.
llvm-svn: 189414
2013-08-27 23:20:26 +00:00
Rui Ueyama a372a9b503 Use do-while instead of a magic number. No functionality change.
llvm-svn: 189413
2013-08-27 23:10:26 +00:00
Reid Kleckner 78af0708b7 Delete CC_Default and use the target default CC everywhere
Summary:
Makes functions with implicit calling convention compatible with
function types with a matching explicit calling convention.  This fixes
things like calls to qsort(), which has an explicit __cdecl attribute on
the comparator in Windows headers.

Clang will now infer the calling convention from the declarator.  There
are two cases when the CC must be adjusted during redeclaration:
1. When defining a non-inline static method.
2. When redeclaring a function with an implicit or mismatched
convention.

Fixes PR13457, and allows clang to compile CommandLine.cpp for the
Microsoft C++ ABI.

Excellent test cases provided by Alexander Zinenko!

Reviewers: rsmith

Differential Revision: http://llvm-reviews.chandlerc.com/D1231

llvm-svn: 189412
2013-08-27 23:08:25 +00:00
Reid Kleckner 8f4524a728 Add xml files for msbuild integration
These files are intended to live in the msbuild toolset directory, which
is somewhere like:

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\
  v4.0\Platforms\Win32\PlatformToolsets\llvm

More work is needed to install them as part of the NSIS installer.

Patch by Warren Hunt!

llvm-svn: 189411
2013-08-27 23:07:17 +00:00
Manman Ren 547467b82d DIBuilder: take an optional StringRef to pass in unique identifier.
createClassType, createStructType, createUnionType, createEnumerationType,
and createForwardDecl will take an optional StringRef to pass in
the unique identifier.

llvm-svn: 189410
2013-08-27 23:06:40 +00:00
Fariborz Jahanian 63ffce2001 ObjectiveC migrator: Do not add explicit cf annotation for
cf functions which are CF_IMPLICIT_BRIDGING_ENABLED.
Add cf annotation to those not CF_IMPLICIT_BRIDGING_ENABLED
to reduce bridge casts.

llvm-svn: 189409
2013-08-27 22:42:30 +00:00
Peter Collingbourne 28a10aff48 DataFlowSanitizer: Implement trampolines for function pointers passed to custom functions.
Differential Revision: http://llvm-reviews.chandlerc.com/D1503

llvm-svn: 189408
2013-08-27 22:09:06 +00:00
David Majnemer aa34d79ab5 [ms-inline asm] Support offsets after segment registers
Summary: MASM let's you do stuff like 'MOV FS:20, EAX' and 'MOV EAX, FS:20'

Reviewers: craig.topper, rnk

Reviewed By: rnk

CC: llvm-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1470

llvm-svn: 189407
2013-08-27 21:56:17 +00:00
Jordan Rose 5ae3a670c3 CMake: Fix standalone Clang build, take two.
This time, use a variable that's defined consistently in standalone and
non-standalone builds.

llvm-svn: 189406
2013-08-27 21:52:04 +00:00
Daniel Malea bb247fb58a Fix 'platform shell' command for Linux host and remote lldb-platform connections
- add default timeout of 10s (unil qPlatform_RunCommand supports timeout packets and CommandObjectPlatform is updated to read a timeout flag/setting)
- add a few tests for platform shell

llvm-svn: 189405
2013-08-27 21:01:01 +00:00
Daniel Malea 4244cbd9be Enable Host::LaunchProcess on Linux
- move LaunchProcessPosixSpawn() and Host::LaunchProcess() from freebsd host plugin to common (linux/freebsd section)
- modify MonitorChildProcessThreadFunction to use pid_t from sys/types.h to avoid Linux/FreeBSD/Mac warnings when calling waitpid()

llvm-svn: 189404
2013-08-27 20:58:59 +00:00
Ted Kremenek e4a0cac4a8 Revert "[CMake] Use CLANG_BINARY_DIR instead of LLVM_BINARY_DIR as installation path for Clang headers."
This was breaking some tests.  Will investigate.

llvm-svn: 189403
2013-08-27 20:46:01 +00:00
Ted Kremenek 8ff42222ba [CMake] Use CLANG_BINARY_DIR instead of LLVM_BINARY_DIR as installation path for Clang headers.
llvm-svn: 189402
2013-08-27 20:41:18 +00:00
Marshall Clow 90a4dad9da Marked #2163 as complete in previous commit instead of #2162. Corrected.
llvm-svn: 189401
2013-08-27 20:25:06 +00:00
Joerg Sonnenberger b822af4721 Given target assembler parsers a chance to handle variant expressions
first. Use this to turn the PPC modifiers into PPC specific expressions,
allowing them to work on constants.

llvm-svn: 189400
2013-08-27 20:23:19 +00:00
Marshall Clow 06fbed03fc LWG Issue 2162: mark allocator_traits::maxsize as noexcept
llvm-svn: 189399
2013-08-27 20:22:15 +00:00
Marshall Clow 7988106b21 LWG issues 2174/5/6 - mark wstring_convert::converted as noexcept, and make (some of) the constructors for wstring_convert and wbuffer_convert as explicit. Add configuration macro _LIBCPP_EXPLICIT_AFTER_CXX11
llvm-svn: 189398
2013-08-27 20:18:59 +00:00
Greg Clayton df96dd754e Moved the static s_regex into a function body to allow it to be lazily initialized when/if it is ever used. We try to avoid global constructors when building shared libraries on Darwin.
llvm-svn: 189397
2013-08-27 19:53:47 +00:00
Jack Carter 4e07b95daf Changed comment
llvm-svn: 189396
2013-08-27 19:45:28 +00:00
Roman Divacky 718fb1cdf9 Make the information about disabled ARCMT/Rewriter/StaticAnalyzer available
to lit and use this info to disable Analysis/FixIt/Rewriter/Analysis tests
when those are not compiled into clang.

llvm-svn: 189395
2013-08-27 19:27:35 +00:00
Roman Divacky c987111b82 Translate ENABLE_CLANG_{ARCMT,REWRITER,STATIC_ANALYZER} when generating
lit.site.cfg.

llvm-svn: 189394
2013-08-27 19:25:01 +00:00
Michael Sartain 338803fa23 warning cleanup (use LLDB_INVALID_HOST_THREAD instead of NULL)
llvm-svn: 189393
2013-08-27 18:59:54 +00:00
Daniel Malea 60caaae9a7 Fix warnings about redefined macros at the end of File.cpp
- removed needless defines that snuck in as part of the lldb-platform-work merge

llvm-svn: 189392
2013-08-27 18:56:27 +00:00
Nadav Rotem 6b41f7cc4c Refactor 'vectorizeLoop' no functionality change.
This patch merges LoopVectorize of InnerLoopVectorizer and InnerLoopUnroller by adding checks for VF=1. This helps in erasing the Unroller code that is almost identical to the InnerLoopVectorizer code.

llvm-svn: 189391
2013-08-27 18:52:47 +00:00