Commit Graph

177572 Commits

Author SHA1 Message Date
Simon Atanasyan 08c165ba37 [Driver][Mips] Check rejecting of invalid MIPS ABI names in the test.
No functional changes.

llvm-svn: 212022
2014-06-30 08:09:54 +00:00
Scott Douglass d4421d2f47 undo test commit (whitespace only)
llvm-svn: 212021
2014-06-30 08:09:35 +00:00
Scott Douglass 7bd3b18871 test commit (whitespace only)
llvm-svn: 212020
2014-06-30 08:07:32 +00:00
Erik Eckstein 5b18a09748 test commit: add a comment line in GVN test file
llvm-svn: 212019
2014-06-30 07:19:02 +00:00
Alexey Bataev 6de13e86e9 Disable CodeGen/captured-statements-nested.c
llvm-svn: 212018
2014-06-30 05:07:42 +00:00
Marshall Clow 3484495b3d Add checking for the complexity guarantees in the standard
llvm-svn: 212017
2014-06-30 05:04:20 +00:00
Alexey Bataev 83222d6109 Fixed CodeGen/captured-statements-nested.c test
llvm-svn: 212016
2014-06-30 05:02:50 +00:00
Todd Fiala 3dc2fb2fc0 Factored out Linux proc file reading into separate class.
Both NativeProcessLinux (in llgs branch) and Linux Host.cpp had similar code to handle /proc 
file reading.  I factored that out into a new Linux-specific ProcFileReader class and added a method
that the llgs branch will use for line-by-line parsing.

This change also adds numerous Linux-specific files to Xcode that were missing from the Xcode
project files.

Related to https://github.com/tfiala/lldb/issues/27

llvm-svn: 212015
2014-06-30 04:14:13 +00:00
Alexey Bataev 8dfca43296 Disable CodeGen/captured-statements-nested.c
llvm-svn: 212014
2014-06-30 03:30:41 +00:00
Alexey Bataev 18da16cab5 Temp XFAIL CodeGen/captured-statements-nested.c to fix the test
llvm-svn: 212013
2014-06-30 03:14:43 +00:00
Saleem Abdulrasool e3c3fe53eb X86: fix comment
Fix a comment typo `DbgLocLImport` instead of `DLLImport`.

llvm-svn: 212012
2014-06-30 03:11:18 +00:00
Saleem Abdulrasool 4a1e409a4d ARM: use symbolic name for constant
This just changes the constant value to the symbolic name corresponding to it.
NFC.

llvm-svn: 212011
2014-06-30 03:11:14 +00:00
Alexey Bataev aca7fcf276 Using of variable length arrays in captured statements and OpenMP constructs.
Differential Revision: http://reviews.llvm.org/D4067

llvm-svn: 212010
2014-06-30 02:55:54 +00:00
Saleem Abdulrasool e5c4e9f370 test: move test from CodeGen to Sema
Move test from CodeGen to Sema to more accurately reflect what is being tested
as pointed out by Alp.

llvm-svn: 212009
2014-06-30 02:14:37 +00:00
Alp Toker f082e73696 Remove some incorrect test suppressions
These don't actually require any registered backend to run.

This commit tests the water with a handful of fixes for what is a more
widespread problem.

llvm-svn: 212008
2014-06-30 01:34:09 +00:00
Alp Toker 7b463d5a07 CodeGenAction::ExecuteAction(): check for invalid LLVM source locations
Add sign checks to deal with the fact that IR parser line/column pairs are
signed integers and sometimes invalid.

The crash path is potentially triggered by corrupt '.bc' files in practice,
though I don't have a binary input test case that can be checked-in right now.

(Unfortunately the backend itself crashes on various ill-formed '.bc' inputs so
this bandage isn't as helpful as it appears yet.)

llvm-svn: 212007
2014-06-30 01:33:59 +00:00
Alp Toker 034bbd5db7 Extract an isReservedName() function
We'll want to share the implementation if anything else decides to check
for reserved names in future, so make this little snippet of code more
discoverable.

Also remove the __va_list_tag and __builtin_va_list special-case
checks. They're leftovers from before when the reserved name logic was
added.

No change in functionality.

llvm-svn: 212006
2014-06-30 01:33:53 +00:00
Todd Fiala 6d6b55d153 Pull ProcessInfo and ProcessLaunchInfo out of Target/Process.
Elevate ProcessInfo and ProcessLaunchInfo into their own headers.
llgs will be using ProcessLaunchInfo but doesn't need to pull in
the rest of Process.h.

This also moves a bunch of implementation details from the header
declarations into ProcessInfo.cpp and ProcessLaunchInfo.cpp.

Tested on Ubuntu 14.04 Cmake and MacOSX Xcode.

Related to https://github.com/tfiala/lldb/issues/26.

llvm-svn: 212005
2014-06-30 00:30:53 +00:00
Saleem Abdulrasool 521cec84ac Basic: correct the va_list type on Windows on ARM
Windows on ARM defines va_list as a typedef for char *.  Although the semantics
of argument passing for variadic functions matches AAPCS VFP, the wrapped
struct __va_list type is unused.  This makes the intrinsic definition for
va_list match that of Visual Studio.

llvm-svn: 212004
2014-06-29 23:05:41 +00:00
Chandler Carruth 095b696b50 Fix a stray semi-colon. (Found by a pedantic warning)
llvm-svn: 212003
2014-06-29 22:42:51 +00:00
Alexander Kornienko 276fc642d3 Another attempt to add a clang-tidy check for flagging C-style casts.
Summary:
The first version failed the SubstNonTypeTempateParmExpr-related test
on some buildbots. This one uses the new substNonTypeTempateParmExpr matcher to
filter out implicit C-style casts.

This patch depends on D4327.

Reviewers: djasper

Reviewed By: djasper

Subscribers: aemerson, cfe-commits

Differential Revision: http://reviews.llvm.org/D4328

llvm-svn: 212002
2014-06-29 22:19:53 +00:00
Alexander Kornienko 9e41b5cc12 Add a matcher for SubstNonTypeTemplateParmExpr.
Reviewers: klimek, djasper

Reviewed By: djasper

Subscribers: klimek, aemerson, cfe-commits

Differential Revision: http://reviews.llvm.org/D4327

llvm-svn: 212001
2014-06-29 22:18:53 +00:00
Saleem Abdulrasool 67b548154e CodeGen: rename Win64 ExceptionHandling to WinEH
This exception format is not specific to Windows x64.  A similar approach is
taken on nearly all architectures.  Generalise the name to reflect reality.
This will eventually be used for Windows on ARM data emission as well.

Switch the enum and namespace into an enum class.

llvm-svn: 212000
2014-06-29 21:43:47 +00:00
Simon Atanasyan f94e7d74f7 [Mips] Fix MIPS ABI name in the test. The name "64" is accepted by both gcc
and Clang drivers but internally LLVM/Clang use the name "n64".

llvm-svn: 211999
2014-06-29 16:51:16 +00:00
NAKAMURA Takumi 557fb62e80 Revert r211866, r211895 and r211995, "Driver: use GNU::Link for the Generic_GCC toolchain". It broke users of Generic_GCC, cygwin and mingw32.
It reverts commits as follows:
  r211866: "Driver: use GNU::Link for the Generic_GCC toolchain"
  r211895: "Replace GetProgramPath("ld") with GetLinkerPath()."
  r211995: "Driver: add a cygwin linker tool"

llvm-svn: 211998
2014-06-29 16:00:11 +00:00
NAKAMURA Takumi 6189422f08 LibclangTest.cpp: s/uint/unsigned/. I think 'uint' is not a standard type.
llvm-svn: 211997
2014-06-29 11:07:48 +00:00
NAKAMURA Takumi 0b371ebd79 clang/test/CodeGenCXX/windows-itanium-exceptions.cpp: Add REQUIRES:asserts for now.
llvm-svn: 211996
2014-06-29 11:03:28 +00:00
Saleem Abdulrasool a4a474b859 Driver: add a cygwin linker tool
This adds a linker tool for the Windows cygwin environment.  This linker
invocation is significantly different from the generic ld invocation.  It
requires additional parameters as well as does not accept some normal
parameters.  This should fix self-hosting on Cygwin.

llvm-svn: 211995
2014-06-29 06:11:14 +00:00
Saleem Abdulrasool 7206a52522 MC: rename EmitWin64EH routines
Rename the routines to reflect the reality that they are more related to call
frame information than to Win64 EH. Although EH is implemented in an intertwined
manner by augmenting with an exception handler and an associated parameter, the
majority of these routines emit information required to unwind the frames. This
also helps identify that these routines are generic for most windows platforms
(they apply equally to nearly all architectures except x86) although the
encoding of the information is architecture dependent.

Unwinding data is emitted via EmitWinCFI* and exception handling information via
EmitWinEH*.

llvm-svn: 211994
2014-06-29 01:52:01 +00:00
Craig Topper 66e588be09 Add ops() method to SDNode that returns an ArrayRef<SDUse>. Use it to simplify some code.
llvm-svn: 211993
2014-06-29 00:40:57 +00:00
Saleem Abdulrasool a666910c42 test: add a test for windows itanium exceptions
Some time ago, I noticed that try would get resolved incorrectly for Windows
Itanium targets.  Add an explicit test to exsure that exceptions are handled
correctly for Windows Itanium environments.

llvm-svn: 211992
2014-06-28 23:34:15 +00:00
Saleem Abdulrasool 24bd7da2d2 Basic: fix handling for Windows Itanium environment
This corrects the handling for i686-windows-itanium.  This environment is nearly
identical to Windows MSVC, except it uses the itanium ABI for C++.

llvm-svn: 211991
2014-06-28 23:34:11 +00:00
Saleem Abdulrasool d1ee08e7cd Basic: whitespace cleanup
Remove unnecessary separation of anonymous namespace.  NFC.

llvm-svn: 211990
2014-06-28 23:34:07 +00:00
Richard Trieu c1888e0c6e Extend -Wtautological-undefined-compare and -Wundefined-bool-conversion to
trigger on taking the address of a reference that is returned from a function
call.

llvm-svn: 211989
2014-06-28 23:25:37 +00:00
Craig Topper e3d2ecbe86 Import MutableArrayRef into clang namespace.
llvm-svn: 211988
2014-06-28 23:22:33 +00:00
Craig Topper 00bbdcf9b3 Remove llvm:: from uses of ArrayRef.
llvm-svn: 211987
2014-06-28 23:22:23 +00:00
Rafael Espindola 05cef84640 Use a range loop. No functionality change.
llvm-svn: 211986
2014-06-28 18:44:59 +00:00
Rafael Espindola 75556bc01b Simplify code a bit, no functionality change.
llvm-svn: 211985
2014-06-28 17:46:19 +00:00
Simon Atanasyan 98ba8a657d [Driver][Mips] Fix else-after-return.
No functional changes.

llvm-svn: 211984
2014-06-28 15:56:08 +00:00
Simon Atanasyan 755d7f9c28 [Driver][Mips] Remove redundant brackets.
No functional changes.

llvm-svn: 211983
2014-06-28 15:56:03 +00:00
Simon Atanasyan 9601e6bfaa [Driver][Mips] Remove redundant abstract/override function.
No functional changes.

llvm-svn: 211982
2014-06-28 15:55:55 +00:00
Tobias Grosser 083d3d3cb3 [C++11] Use more range based fors
llvm-svn: 211981
2014-06-28 08:59:45 +00:00
Tobias Grosser bc4ef90802 Remove redundant code and use C++ range fors
llvm-svn: 211980
2014-06-28 08:59:38 +00:00
Alp Toker f76e6d8e6b Get arm_acle tests from r211962 working
llvm-svn: 211979
2014-06-28 06:51:27 +00:00
Alp Toker c890aa5190 Fix build following r211956
RuntimeDyld now uses MCInst::dump_pretty() which introduces a dependency on
'MC'.

llvm-svn: 211978
2014-06-28 06:31:47 +00:00
David Majnemer 329b5602d7 Verifier: Update assert message to reflect LangRef
No functionality change, just correcting the assertion message.

llvm-svn: 211977
2014-06-28 06:24:49 +00:00
Chandler Carruth bd0717d7cc [x86] Fix a bug in the v8i16 shuffling exposed by the new splat-like
lowering for v16i8.

ASan and some bots caught this bug with existing test cases. Fixing it
even fixed a miscompile with one of the test cases. I'm still a bit
suspicious of this test case as I've not taken a proper amount of time
to think about it, but the fix here is strict goodness.

llvm-svn: 211976
2014-06-28 05:46:28 +00:00
Chandler Carruth d5821f36d9 Fix this test to not write to the source tree, and instead to write to
a temporary file. This fixes the test in cases where the source tree is
mounted read-only.

llvm-svn: 211975
2014-06-28 05:18:49 +00:00
Chandler Carruth 887c2c3482 [x86] Add handling for splat-like widenings of v16i8 shuffles.
These show up really frequently, not the least with actual splats. =] We
lowered these quite badly before. The new code path tries to widen i8
shuffles to i16 shuffles in a splat-like way. There are still some
inefficiencies in our i16 splat logic though, so we aren't really done
here.

Also, for certain patterns (bit of a gather-and-splat) we still
generate pretty silly code, and I've left a fixme for addressing it.
However, I'm not actually worried about this code pattern as much. The
old shuffle lowering generates a 29 instruction monstrosity for it that
should execute much more slowly.

llvm-svn: 211974
2014-06-28 05:16:40 +00:00
David Majnemer 72304efabc This file wasn't supposed to be checked in
This was generated while trying to debug a test, it shouldn't have been
checked in.

Thanks to Alexander Kornienko for spotting this.

llvm-svn: 211973
2014-06-28 01:56:50 +00:00