Commit Graph

163380 Commits

Author SHA1 Message Date
Kostya Serebryany b2eb3d3177 [asan] remove one test from SizedStackTest which relied on a now-wrong assumption that the left stack redzone is >= 32 bytes (PR18195)
llvm-svn: 196900
2013-12-10 09:49:31 +00:00
Rui Ueyama 0bf1381902 Add explicit keyword.
llvm-svn: 196898
2013-12-10 09:12:07 +00:00
Rui Ueyama 3619f00ad5 [PECOFF] Make more member functions non-virtual.
llvm-svn: 196897
2013-12-10 09:02:00 +00:00
Rui Ueyama 9c922dd6ae [PECOFF] Optimize the writer a bit by removing a loop.
llvm-svn: 196896
2013-12-10 08:59:12 +00:00
Rui Ueyama d9d4be6993 [PECOFF] Refactor COFF section header creation.
Code to create COFF section header was scattered across many member functions
of SectionChunk. Consolidate it to a member function of SectionHeaderTableChunk.

llvm-svn: 196895
2013-12-10 08:39:06 +00:00
Timur Iskhodzhanov 89a346c2a1 [ASan] Fix StackTrace::SlowUnwindStack on Windows
llvm-svn: 196894
2013-12-10 08:30:39 +00:00
Richard Smith 8e6afd4785 Regenerate DR status page.
llvm-svn: 196893
2013-12-10 08:26:19 +00:00
Richard Smith ab44d5badf Implement DR1460: fix handling of default initializers in unions; don't allow
more than one such initializer in a union, make mem-initializers override
default initializers for other union members, handle anonymous unions with
anonymous struct members better. Fix a couple of semi-related bugs exposed by
the tests for same.

llvm-svn: 196892
2013-12-10 08:25:00 +00:00
Rui Ueyama 27964e663b Add more const qualifiers.
llvm-svn: 196891
2013-12-10 07:15:57 +00:00
Rui Ueyama 17e663154a Remove data members used for relocations
... because they are used only in the function for relocations.

llvm-svn: 196890
2013-12-10 06:54:13 +00:00
Kevin Qin 43385c7065 [AArch64 NEON] Replace fpimm with fpz32 for floating compare with zero.
This is a small change to be strict. Just want get pattern safer.

llvm-svn: 196889
2013-12-10 06:51:07 +00:00
Kevin Qin fb79d7f843 [AArch64 NEON] Support poly128_t and implement relevant intrinsic.
llvm-svn: 196888
2013-12-10 06:49:01 +00:00
Kevin Qin 04396d1e69 [AArch64 NEON] Support poly128_t and implement relevant intrinsic.
llvm-svn: 196887
2013-12-10 06:48:35 +00:00
Rui Ueyama 906d93432e Skip the body of a loop as early as possible.
llvm-svn: 196884
2013-12-10 06:32:21 +00:00
Rui Ueyama c53b3b0809 Style fixes. No functionality change.
llvm-svn: 196883
2013-12-10 06:19:09 +00:00
NAKAMURA Takumi 7ce0fe015e GCOV.cpp: Use PRIu64 instead of %lu.
llvm-svn: 196882
2013-12-10 05:39:40 +00:00
NAKAMURA Takumi 396d4d3c7e Add proper dependencies to LLVMBuild.txt in llvm/lib.
I'll prune redundant deps in LLVMBuild.txt, later.

llvm-svn: 196881
2013-12-10 05:39:34 +00:00
NAKAMURA Takumi e3afe2ef62 Whitespaces.
llvm-svn: 196880
2013-12-10 05:39:12 +00:00
Reid Kleckner 0a9509f080 Revert "Fix miscompile of MS inline assembly with stack realignment"
This reverts commit r196876.  Its tests failed on the bots, so I'll
figure it out tomorrow.

llvm-svn: 196879
2013-12-10 05:31:27 +00:00
Rui Ueyama 2f47acfd6a Make anonymous namespace as small as possible.
Use of static is recommended by the style guide.

llvm-svn: 196877
2013-12-10 05:15:38 +00:00
Reid Kleckner 7f10a8cd45 Fix miscompile of MS inline assembly with stack realignment
For stack frames requiring realignment, three pointers may be needed:
- ebp to address incoming arguments
- esi (could be any callee-saved register) to address locals
- esp to address outgoing arguments

We would use esi unconditionally without verifying that it did not
conflict with inline assembly.

This change doesn't do the verification, it simply emits a fatal error
on functions that use stack realignment, dynamic SP adjustments, and
inline assembly.

Because stack realignment is common on Windows, we also no longer assume
that MS inline assembly clobbers esp.  Instead, we analyze the inline
instructions for implicit definitions and check if esp is there.  If so,
we require the use of a base pointer and consider it in the condition
above.

Mostly fixes PR16830, but we could try harder to find a non-conflicting
base pointer.

Reviewers: sunfish

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

llvm-svn: 196876
2013-12-10 05:12:23 +00:00
Chandler Carruth 3f697191bb Revert a final patch that was committed without the author contributing
it to the LLVM project through the appropriate channels.

This reverts:
r195837: "[Sanitizer] Add rudimentary support for using libbacktrace in ..."

llvm-svn: 196875
2013-12-10 04:40:39 +00:00
Andrew Trick 32591d3111 Fix a crash that occurs when PWD is invalid.
MCJIT needs to be able to run in hostile environments, even when PWD
is invalid. There's no need to crash MCJIT in this case.

The obvious fix is to simply leave MCContext's CompilationDir empty
when PWD can't be determined. This way, MCJIT clients,
and other clients that link with LLVM don’t need a valid working directory.

If we do want to guarantee valid CompilationDir, that should be done
only for clients of getCompilationDir(). This is as simple as checking
for an empty string.

The only current use of getCompilationDir is EmitGenDwarfInfo, which
won’t conceivably run with an invalid working dir. However, in the
purely hypothetically and untestable case that this happens, the
AT_comp_dir will be omitted from the compilation_unit DIE.

llvm-svn: 196874
2013-12-10 04:39:09 +00:00
Andrew Trick 1c6a4c3d61 whitespace
llvm-svn: 196873
2013-12-10 04:39:05 +00:00
Rui Ueyama 5ae0e5bffc Add const qualifiers.
llvm-svn: 196867
2013-12-10 03:57:59 +00:00
Rui Ueyama e46a06361c [PECOFF] Make some member functions non-virtual.
These member functions are not overriden and not intended to be, so adding
virtual does not make sense.

llvm-svn: 196866
2013-12-10 03:17:51 +00:00
NAKAMURA Takumi 9cb6264908 Revert r196859, "Use llvm::sys::path::append to concatenate paths", to appease FileManager.
llvm-svn: 196865
2013-12-10 02:36:28 +00:00
NAKAMURA Takumi ebde2aef9f [CMake] clang/lib: Prune redundant dependencies.
llvm-svn: 196864
2013-12-10 02:36:22 +00:00
John Thompson e744d2b92d Fix assertion error.
llvm-svn: 196863
2013-12-10 02:26:44 +00:00
Dmitri Gribenko d2589607e8 Try to fix the test for Windows paths after r196859
llvm-svn: 196862
2013-12-10 02:00:48 +00:00
Warren Hunt 1603e52700 [ms-abi] 64-bit fixes for r196549
In order to address latent bugs that were easier to expose in 64-bit 
mode, we move the application of __declspec(align) to before the layout 
of vbases rather than after.

llvm-svn: 196861
2013-12-10 01:44:39 +00:00
NAKAMURA Takumi 78f534d689 [CMake] clang-tools-extra: Update dependencies.
llvm-svn: 196860
2013-12-10 01:41:10 +00:00
Dmitri Gribenko 76857f82ba Use llvm::sys::path::append to concatenate paths
llvm-svn: 196859
2013-12-10 01:36:10 +00:00
Nadav Rotem 6eee080450 Fix PR18162 - Incorrect assertion assumed that the SDValue resno is zero.
llvm-svn: 196858
2013-12-10 01:13:59 +00:00
Eric Christopher 32813752e3 Update testcase for previous commit.
llvm-svn: 196857
2013-12-10 01:12:16 +00:00
Yuchen Wu 8c6bb5f4d4 llvm-cov: Added -a option for block data.
Similar to gcov, llvm-cov will now print out the block count at the end
of each block. Multiple blocks can end on the same line.

One computational difference is by using -a, llvm-cov will no longer
simply add the block counts together to form a line count. Instead, it
will take the maximum of the block counts on that line. This has a
similar effect to what gcov does, but generates more correct counts in
certain scenarios.

Also updated tests.

llvm-svn: 196856
2013-12-10 01:02:07 +00:00
Rafael Espindola 66747221e8 Take into consideration calling convention when processing specializations.
This fixes pr18141.

llvm-svn: 196855
2013-12-10 00:59:31 +00:00
David Peixotto 1a74b6e118 Fix via-file-asm test failure on windows
The windows target does not support using an external assembler so
the test case was failing with this error:

error: there is no external assembler that can be used on this platform

The test was updated to always explicitly pass a target that has
both an interal and external assembler.

llvm-svn: 196854
2013-12-10 00:54:30 +00:00
Rui Ueyama c12f2a1121 Revert "Remove makeArrayRef() calls."
This reverts commit r196475 because it made the build to fail with
GCC 4.7/4.8/4.9. Reported by Mikael Lyngvig.

llvm-svn: 196853
2013-12-10 00:42:52 +00:00
David Majnemer cd053cd5ed Sema: Enforce C++11 pointer-to-member template arguments should rules
The standard is pretty clear on what it allows inside of template
arguments for non-type template parameters of pointer-to-member.

They must be of the form &qualified-id and cannot come from sources like
constexpr VarDecls or things of that nature.

This fixes PR18192.

llvm-svn: 196852
2013-12-10 00:40:58 +00:00
Eric Christopher 5090d57c24 Disable emitting DW_AT_GNU_ranges_base until we actually use it.
llvm-svn: 196851
2013-12-10 00:40:03 +00:00
Rafael Espindola 1d224bd65f Add comments documenting the ARM datalayout string.
llvm-svn: 196850
2013-12-10 00:37:37 +00:00
Eric Christopher b95d857350 We never emit info into the macro info section, stop emitting an
empty one.

llvm-svn: 196849
2013-12-10 00:26:10 +00:00
Eric Christopher 4df1160536 80-col.
llvm-svn: 196848
2013-12-10 00:26:06 +00:00
Rafael Espindola 74d682b443 Simplify further.
Thanks to Jim Grosbach for noticing it.

llvm-svn: 196846
2013-12-10 00:15:35 +00:00
Justin Bogner a41a7b3ee5 Transforms: Don't create bad branch weights when folding a switch
This avoids creating branch weight metadata of length one when we fold
cases into the default of a switch instruction, which was triggering
an assert.

llvm-svn: 196845
2013-12-10 00:13:41 +00:00
Eric Christopher 4287a49913 Rename CompileUnit->DwarfCompileUnit and TypeUnit->DwarfTypeUnit for
clarity. No functional change.

llvm-svn: 196844
2013-12-09 23:57:44 +00:00
Rafael Espindola 964bf07fb8 Refactor the construction of the DataLayout string on ARM.
llvm-svn: 196843
2013-12-09 23:56:41 +00:00
Reid Kleckner 7e6f36e29f Fix return of empty range in MSAsmStmt::children
llvm-svn: 196839
2013-12-09 23:34:56 +00:00
Eric Christopher a5a7942297 Rename Unit->DwarfUnit to match the file name and make it a bit less
ambiguous. Reformat to match.

llvm-svn: 196838
2013-12-09 23:32:48 +00:00