platform/upstream/llvm.git
11 years agoAdd start of user documentation for NVPTX
Justin Holewinski [Sat, 30 Mar 2013 16:41:14 +0000 (16:41 +0000)]
Add start of user documentation for NVPTX

Summary: This is the beginning of user documentation for the NVPTX back-end.  I want to ensure I am integrating this properly into the rest of the LLVM documentation.

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

llvm-svn: 178428

11 years agoChange '@SECREL' suffix to GAS-compatible '@SECREL32'.
Benjamin Kramer [Sat, 30 Mar 2013 16:21:50 +0000 (16:21 +0000)]
Change '@SECREL' suffix to GAS-compatible '@SECREL32'.

'@SECREL' is what is used by the Microsoft assembler, but GNU as expects '@SECREL32'.
With the patch, the MC-generated code works fine in combination with a recent GNU as (2.23.51.20120920 here).

Patch by David Nadlinger!
Differential Revision: http://llvm-reviews.chandlerc.com/D429

llvm-svn: 178427

11 years ago[docs] llvmbugs is not the place for patches.
Sean Silva [Sat, 30 Mar 2013 15:33:02 +0000 (15:33 +0000)]
[docs] llvmbugs is not the place for patches.

llvm-svn: 178426

11 years ago[docs] Annotate mailing lists with their "name".
Sean Silva [Sat, 30 Mar 2013 15:33:01 +0000 (15:33 +0000)]
[docs] Annotate mailing lists with their "name".

Nobody says "the developer's list" or "commits archive"; they always say
"llvmdev" or "llvm-commits". It makes sense for our documentation to
at least make that association explicitly.

llvm-svn: 178425

11 years ago[docs] Reorganize mailing lists.
Sean Silva [Sat, 30 Mar 2013 15:32:54 +0000 (15:32 +0000)]
[docs] Reorganize mailing lists.

Order them roughly by "which one should a newbie join first".

llvm-svn: 178424

11 years ago[docs] Pull IRC and Mailing Lists under a new "Community" heading.
Sean Silva [Sat, 30 Mar 2013 15:32:51 +0000 (15:32 +0000)]
[docs] Pull IRC and Mailing Lists under a new "Community" heading.

llvm-svn: 178423

11 years ago[docs] The GEP FAQ is not "design and overview"
Sean Silva [Sat, 30 Mar 2013 15:32:50 +0000 (15:32 +0000)]
[docs] The GEP FAQ is not "design and overview"

llvm-svn: 178422

11 years ago[docs] Put DeveloperPolicy under "Development Process Documentation"
Sean Silva [Sat, 30 Mar 2013 15:32:47 +0000 (15:32 +0000)]
[docs] Put DeveloperPolicy under "Development Process Documentation"

llvm-svn: 178421

11 years agoPut private class into an anonmyous namespace.
Benjamin Kramer [Sat, 30 Mar 2013 15:23:08 +0000 (15:23 +0000)]
Put private class into an anonmyous namespace.

llvm-svn: 178420

11 years agoRemove old NVPTX cpus and add new NVPTX cpus
Justin Holewinski [Sat, 30 Mar 2013 14:38:26 +0000 (14:38 +0000)]
Remove old NVPTX cpus and add new NVPTX cpus

llvm-svn: 178419

11 years agoUse kernel metadata to differentiate between kernel and device
Justin Holewinski [Sat, 30 Mar 2013 14:38:24 +0000 (14:38 +0000)]
Use kernel metadata to differentiate between kernel and device
functions for the NVPTX target.

llvm-svn: 178418

11 years ago[NVPTX] Remove support for SM < 2.0. This was never fully supported anyway.
Justin Holewinski [Sat, 30 Mar 2013 14:29:30 +0000 (14:29 +0000)]
[NVPTX] Remove support for SM < 2.0.  This was never fully supported anyway.

llvm-svn: 178417

11 years ago[NVPTX] Add NVVMReflect pass to allow compile-time selection of
Justin Holewinski [Sat, 30 Mar 2013 14:29:25 +0000 (14:29 +0000)]
[NVPTX] Add NVVMReflect pass to allow compile-time selection of
specific code paths.

This allows us to write code like:

  if (__nvvm_reflect("FOO"))
    // Do something
  else
    // Do something else

and compile into a library, then give "FOO" a value at kernel
compile-time so the check becomes a no-op.

llvm-svn: 178416

11 years ago[NVPTX] Run clang-format on all NVPTX sources.
Justin Holewinski [Sat, 30 Mar 2013 14:29:21 +0000 (14:29 +0000)]
[NVPTX] Run clang-format on all NVPTX sources.

Hopefully this resolves any outstanding style issues and gives us
an automated way of ensuring we conform to the style guidelines.

llvm-svn: 178415

11 years agoAdd support for gcc-compatible -mfprnd -mno-fprnd PPC options
Hal Finkel [Sat, 30 Mar 2013 13:47:44 +0000 (13:47 +0000)]
Add support for gcc-compatible -mfprnd -mno-fprnd PPC options

gcc provides -mfprnd and -mno-fprnd for controlling the fprnd target
feature; support these options as well.

llvm-svn: 178414

11 years agoObject: Turn a couple of degenerate for loops into while loops.
Benjamin Kramer [Sat, 30 Mar 2013 13:07:51 +0000 (13:07 +0000)]
Object: Turn a couple of degenerate for loops into while loops.

No functionality change.

llvm-svn: 178413

11 years agoSema: Don't crash when trying to emit a precedence warning on postinc/decrement.
Benjamin Kramer [Sat, 30 Mar 2013 11:56:00 +0000 (11:56 +0000)]
Sema: Don't crash when trying to emit a precedence warning on postinc/decrement.

Post-Inc can occur as a binary call (the infamous dummy int argument), but it's
not really a binary operator.

Fixes PR15628.

llvm-svn: 178412

11 years agoElide all artificial copy constructors, because
Sean Callanan [Sat, 30 Mar 2013 03:06:45 +0000 (03:06 +0000)]
Elide all artificial copy constructors, because
they are probably trivial.  This means that we
don't confuse Clang about whether a class is
trivially copy constructible.  It can figure
that out itself as long as we don't explicitly
feed it the constructors.

If the class is trivially copy-constructible,
this can change the ABI that Clang uses to call
functions that return that class (e.g., by making
the object be returned in a register), so this
is quite important for correctness.

<rdar://problem/13457741>

llvm-svn: 178411

11 years agoFixed the way ClangASTImporter deports types from
Sean Callanan [Sat, 30 Mar 2013 02:31:21 +0000 (02:31 +0000)]
Fixed the way ClangASTImporter deports types from
ASTContexts that will not stay around.  Before, we
did this in a very half-hearted way.  Now we maintain
work queues of all Decls that need to be completed
before the source ASTContext can go away; we then
expunge their origins completely.

<rdar://problem/13511875>

llvm-svn: 178410

11 years agoImplement XOR reassociation. It is based on following rules:
Shuxin Yang [Sat, 30 Mar 2013 02:15:01 +0000 (02:15 +0000)]
Implement XOR reassociation. It is based on following rules:

  rule 1: (x | c1) ^ c2 => (x & ~c1) ^ (c1^c2),
     only useful when c1=c2
  rule 2: (x & c1) ^ (x & c2) = (x & (c1^c2))
  rule 3: (x | c1) ^ (x | c2) = (x & c3) ^ c3 where c3 = c1 ^ c2
  rule 4: (x | c1) ^ (x & c2) => (x & c3) ^ c1, where c3 = ~c1 ^ c2

 It reduces an application's size (in terms of # of instructions) by 8.9%.
 Reviwed by Pete Cooper. Thanks a lot!

 rdar://13212115

llvm-svn: 178409

11 years ago[mips] Add patterns for DSP indexed load instructions.
Akira Hatanaka [Sat, 30 Mar 2013 02:14:45 +0000 (02:14 +0000)]
[mips] Add patterns for DSP indexed load instructions.

llvm-svn: 178408

11 years ago[mips] Define reg+imm load/store pattern templates.
Akira Hatanaka [Sat, 30 Mar 2013 02:01:48 +0000 (02:01 +0000)]
[mips] Define reg+imm load/store pattern templates.

llvm-svn: 178407

11 years ago[mips] Fix DSP instructions to have explicit accumulator register operands.
Akira Hatanaka [Sat, 30 Mar 2013 01:58:00 +0000 (01:58 +0000)]
[mips] Fix DSP instructions to have explicit accumulator register operands.

Check that instruction selection can select multiply-add/sub DSP instructions
from a pattern that doesn't have intrinsics.

llvm-svn: 178406

11 years agoRemove unused variables.
Akira Hatanaka [Sat, 30 Mar 2013 01:46:28 +0000 (01:46 +0000)]
Remove unused variables.

llvm-svn: 178405

11 years ago[mips] Move the code which does dag-combine for multiply-add/sub nodes to
Akira Hatanaka [Sat, 30 Mar 2013 01:42:24 +0000 (01:42 +0000)]
[mips] Move the code which does dag-combine for multiply-add/sub nodes to
derived class MipsSETargetLowering.

We shouldn't be generating madd/msub nodes if target is Mips16, since Mips16
doesn't have support for multipy-add/sub instructions.

llvm-svn: 178404

11 years ago[mips] Fix definitions of multiply, multiply-add/sub and divide instructions.
Akira Hatanaka [Sat, 30 Mar 2013 01:36:35 +0000 (01:36 +0000)]
[mips] Fix definitions of multiply, multiply-add/sub and divide instructions.

The new instructions have explicit register output operands and use table-gen
patterns instead of C++ code to do instruction selection.

Mips16's instructions are unaffected by this change.

llvm-svn: 178403

11 years ago[analyzer] Restructure ExprEngine::VisitCXXNewExpr to do a bit less work.
Jordan Rose [Sat, 30 Mar 2013 01:31:48 +0000 (01:31 +0000)]
[analyzer] Restructure ExprEngine::VisitCXXNewExpr to do a bit less work.

No functionality change.

llvm-svn: 178402

11 years ago[analyzer] Handle caching out while evaluating a C++ new expression.
Jordan Rose [Sat, 30 Mar 2013 01:31:42 +0000 (01:31 +0000)]
[analyzer] Handle caching out while evaluating a C++ new expression.

Evaluating a C++ new expression now includes generating an intermediate
ExplodedNode, and this node could very well represent a previously-
reachable state in the ExplodedGraph. If so, we can short-circuit the
rest of the evaluation.

Caught by the assertion a few lines later.

<rdar://problem/13510065>

llvm-svn: 178401

11 years ago[analyzer] Add debug helper LocationContext::dumpStack().
Jordan Rose [Sat, 30 Mar 2013 01:31:35 +0000 (01:31 +0000)]
[analyzer] Add debug helper LocationContext::dumpStack().

Sample output:
  #0 void construct(pointer __p, llvm::ImutAVLTree<llvm::ImutContainerInfo<clang::ento::BugType *> > *const &__val)
  #1 void push_back(const value_type &__x)
  #2 void destroy()
  #3 void release()
  #4 void ~ImmutableSet()

llvm-svn: 178400

11 years agoDisable warnings from Clang correctly, by directly
Sean Callanan [Sat, 30 Mar 2013 01:26:06 +0000 (01:26 +0000)]
Disable warnings from Clang correctly, by directly
manipulating the diagnostics engine.

<rdar://problem/13508470>

llvm-svn: 178399

11 years ago[analyzer] Garbage removed
Anton Yartsev [Sat, 30 Mar 2013 01:24:21 +0000 (01:24 +0000)]
[analyzer] Garbage removed

llvm-svn: 178398

11 years ago[analyzer] Test added
Anton Yartsev [Sat, 30 Mar 2013 01:22:45 +0000 (01:22 +0000)]
[analyzer] Test added

llvm-svn: 178397

11 years ago[mips] Remove function getFPBranchCodeFromCond. Rename invertFPCondCodeAdd.
Akira Hatanaka [Sat, 30 Mar 2013 01:16:38 +0000 (01:16 +0000)]
[mips] Remove function getFPBranchCodeFromCond. Rename invertFPCondCodeAdd.

llvm-svn: 178396

11 years agoFix indentation.
Akira Hatanaka [Sat, 30 Mar 2013 01:15:17 +0000 (01:15 +0000)]
Fix indentation.

llvm-svn: 178395

11 years ago[mips] Add mips-specific nodes which will be used to select multiply and divide
Akira Hatanaka [Sat, 30 Mar 2013 01:14:04 +0000 (01:14 +0000)]
[mips] Add mips-specific nodes which will be used to select multiply and divide
instructions.

llvm-svn: 178394

11 years ago[mips] Implement getRepRegClassFor in MipsSETargetLowering. This function is
Akira Hatanaka [Sat, 30 Mar 2013 01:12:05 +0000 (01:12 +0000)]
[mips] Implement getRepRegClassFor in MipsSETargetLowering. This function is
called in several places in ScheduleDAGRRList.cpp.

llvm-svn: 178393

11 years ago[mips] Fix MipsSEInstrInfo::copyPhysReg, loadRegFromStack and storeRegToStack
Akira Hatanaka [Sat, 30 Mar 2013 01:08:05 +0000 (01:08 +0000)]
[mips] Fix MipsSEInstrInfo::copyPhysReg, loadRegFromStack and storeRegToStack
to handle accumulator registers.

llvm-svn: 178392

11 years ago[mips] Expand pseudo load, store and copy instructions right before
Akira Hatanaka [Sat, 30 Mar 2013 01:04:11 +0000 (01:04 +0000)]
[mips] Expand pseudo load, store and copy instructions right before
callee-saved scan.

The code makes use of register's scavenger's capability to spill multiple
registers.

llvm-svn: 178391

11 years ago[mips] Define pseudo instructions for spilling and copying accumulator
Akira Hatanaka [Sat, 30 Mar 2013 00:54:52 +0000 (00:54 +0000)]
[mips] Define pseudo instructions for spilling and copying accumulator
registers.

llvm-svn: 178390

11 years agoFixing Python commands test cases to work even after removing Printf
Enrico Granata [Sat, 30 Mar 2013 00:53:13 +0000 (00:53 +0000)]
Fixing Python commands test cases to work even after removing Printf
(and using the new syntax for printing :-)

llvm-svn: 178389

11 years ago[analyzer] Enabled unix.Malloc checker.
Anton Yartsev [Sat, 30 Mar 2013 00:50:37 +0000 (00:50 +0000)]
[analyzer] Enabled unix.Malloc checker.
+ Refactoring.

llvm-svn: 178388

11 years ago[analyzer] Tests for intersections with other checkers from MallocChecker.cpp factore...
Anton Yartsev [Sat, 30 Mar 2013 00:43:02 +0000 (00:43 +0000)]
[analyzer] Tests for intersections with other checkers from MallocChecker.cpp factored out to  NewDelete-intersections.mm

llvm-svn: 178387

11 years agoUse SmallVectorImpl instead of SmallVector at the uses.
Eric Christopher [Fri, 29 Mar 2013 23:34:06 +0000 (23:34 +0000)]
Use SmallVectorImpl instead of SmallVector at the uses.

llvm-svn: 178386

11 years agoRun the ObjCARCContract pass for LTO. <rdar://problem/13538084>
Bob Wilson [Fri, 29 Mar 2013 23:28:55 +0000 (23:28 +0000)]
Run the ObjCARCContract pass for LTO. <rdar://problem/13538084>

llvm-svn: 178385

11 years ago<rdar://problem/13131838>
Greg Clayton [Fri, 29 Mar 2013 23:18:38 +0000 (23:18 +0000)]
<rdar://problem/13131838>

Platform select documents a -S option but doesn't accept it, now it does.

llvm-svn: 178384

11 years agogeneralize testcase
Adrian Prantl [Fri, 29 Mar 2013 23:15:55 +0000 (23:15 +0000)]
generalize testcase

llvm-svn: 178383

11 years agoUpdated test0 of retain-not-declared.ll to reflect the fact that objc-arc-expand...
Michael Gottesman [Fri, 29 Mar 2013 22:44:59 +0000 (22:44 +0000)]
Updated test0 of retain-not-declared.ll to reflect the fact that objc-arc-expand runs before objc-arc/objc-arc-contract.

Specifically, objc-arc-expand will make sure that the
objc_retainAutoreleasedReturnValue, objc_autoreleaseReturnValue, and ret
will all have %call as an argument.

llvm-svn: 178382

11 years ago[analyzer] Address Jordan’s review of r178309 - do not register an extra visitor...
Anna Zaks [Fri, 29 Mar 2013 22:32:38 +0000 (22:32 +0000)]
[analyzer] Address Jordan’s review of r178309 - do not register an extra visitor for nil receiver

We can check if the receiver is nil in the node that corresponds to the StmtPoint of the message send.
At that point, the receiver is guaranteed to be live. We will find at least one unreclaimed node due to
my previous commit (look for StmtPoint instead of PostStmt) and the fact that the nil receiver nodes are tagged.

+ a couple of extra tests.

llvm-svn: 178381

11 years ago[analyzer] Look for a StmtPoint node instead of PostStmt in trackNullOrUndefValue.
Anna Zaks [Fri, 29 Mar 2013 22:32:34 +0000 (22:32 +0000)]
[analyzer] Look for a StmtPoint node instead of PostStmt in trackNullOrUndefValue.

trackNullOrUndefValue tries to find the first node that matches the statement it is tracking.
Since we collect PostStmt nodes (in node reclamation), none of those might be on the
current path, so relax the search to look for any StmtPoint.

llvm-svn: 178380

11 years ago[libclang] Add test case for r178374.
Argyrios Kyrtzidis [Fri, 29 Mar 2013 22:16:32 +0000 (22:16 +0000)]
[libclang] Add test case for r178374.

llvm-svn: 178378

11 years agoSmallVector and SmallPtrSet allocations now power-of-two aligned.
Jean-Luc Duprat [Fri, 29 Mar 2013 22:07:12 +0000 (22:07 +0000)]
SmallVector and SmallPtrSet allocations now power-of-two aligned.
This time tested on both OSX and Linux.

llvm-svn: 178377

11 years ago[docs] The STL "binary search" has a non-obvious name.
Sean Silva [Fri, 29 Mar 2013 21:57:47 +0000 (21:57 +0000)]
[docs] The STL "binary search" has a non-obvious name.

std::lower_bound is the canonical "binary search" in the STL
(std::binary_search generally is not what you want). The name actually
makes a lot of sense (and also has a beautiful symmetry with the
std::upper_bound algorithm). The name is nonetheless non-obvious.

Also, remove mention of "radix search". It's not even clear how that
would work in the context of a sorted vector. AFAIK "radix search" only
makes sense when you have a trie-like data structure.

llvm-svn: 178376

11 years agoExclude the X86/complex-fca.ll test at it probably wasn't supposed to work on Windows
Timur Iskhodzhanov [Fri, 29 Mar 2013 21:54:00 +0000 (21:54 +0000)]
Exclude the X86/complex-fca.ll test at it probably wasn't supposed to work on Windows

llvm-svn: 178375

11 years agoWhen looking for overridden ObjC methods, don't ignore 'hidden' ones.
Argyrios Kyrtzidis [Fri, 29 Mar 2013 21:51:48 +0000 (21:51 +0000)]
When looking for overridden ObjC methods, don't ignore 'hidden' ones.

When using modules we should not ignore overridden methods from
categories that are hidden because the module is not visible.
This will give more consistent results (when imports change) and it's more
correct since the methods are indeed overridden even if they are not "visible"
for lookup purposes.

rdar://13350796

llvm-svn: 178374

11 years ago[libclang] If libclang logging is enabled, print all compiler diagnostics to stderr...
Argyrios Kyrtzidis [Fri, 29 Mar 2013 21:51:44 +0000 (21:51 +0000)]
[libclang] If libclang logging is enabled, print all compiler diagnostics to stderr instead of capturing them.

llvm-svn: 178373

11 years ago[cmake] Add clang-headers as a dependency of libclang and if we have to copy them
Argyrios Kyrtzidis [Fri, 29 Mar 2013 21:51:40 +0000 (21:51 +0000)]
[cmake] Add clang-headers as a dependency of libclang and if we have to copy them
for the IDE case, also create a symlink inside the libclang.dylib directory.

llvm-svn: 178372

11 years agoSema: Warn on sizeof on binary ops on decayed arrays.
Benjamin Kramer [Fri, 29 Mar 2013 21:43:21 +0000 (21:43 +0000)]
Sema: Warn on sizeof on binary ops on decayed arrays.

The array will decay into a pointer, creating an unexpected result.
sizeof(array + int) is an easy to make typo for sizeof(array) + int.

This was motivated by a NetBSD security bug, used sizeof(key - r) instead of
sizeof(key) - r, reducing entropy in a random number generator.
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/kern/subr_cprng.c.diff?r1=1.14&r2=1.15&only_with_tag=MAIN&f=h

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

llvm-svn: 178371

11 years agoTest case was forming the wrong limits when size_t != unsigned long.
Howard Hinnant [Fri, 29 Mar 2013 21:22:22 +0000 (21:22 +0000)]
Test case was forming the wrong limits when size_t != unsigned long.

llvm-svn: 178370

11 years agoAdd clang.arc.used to ModuleHasARC so ARC always runs if said call is present in...
Michael Gottesman [Fri, 29 Mar 2013 21:15:23 +0000 (21:15 +0000)]
Add clang.arc.used to ModuleHasARC so ARC always runs if said call is present in a module.

clang.arc.used is an interesting call for ARC since ObjCARCContract
needs to run to remove said intrinsic to avoid a linker error (since the
call does not exist).

llvm-svn: 178369

11 years agoHexagon: Add emitFrameIndexDebugValue function to emit debug information.
Jyotsna Verma [Fri, 29 Mar 2013 21:09:53 +0000 (21:09 +0000)]
Hexagon: Add emitFrameIndexDebugValue function to emit debug information.

llvm-svn: 178368

11 years ago1 breakpoint is a breakpoint not a breakpoints.
Jim Ingham [Fri, 29 Mar 2013 21:01:03 +0000 (21:01 +0000)]
1 breakpoint is a breakpoint not a breakpoints.

rdar://problem/13536544

llvm-svn: 178367

11 years agoUse 12 as the magic number for our abbreviation data and our
Eric Christopher [Fri, 29 Mar 2013 20:23:06 +0000 (20:23 +0000)]
Use 12 as the magic number for our abbreviation data and our
die values. A lot of DIEs have 10 attributes in C++ code (example
clang), none had more than 12. Seems like a good default.

llvm-svn: 178366

11 years agoMove the construction of the skeleton compile unit after the
Eric Christopher [Fri, 29 Mar 2013 20:23:02 +0000 (20:23 +0000)]
Move the construction of the skeleton compile unit after the
entire original compile unit has been constructed.

llvm-svn: 178365

11 years agomove testcase into appropriate X86 subdirectory.
Adrian Prantl [Fri, 29 Mar 2013 20:14:08 +0000 (20:14 +0000)]
move testcase into appropriate X86 subdirectory.

llvm-svn: 178364

11 years agoFixed a crash if the Objective-C runtime module
Sean Callanan [Fri, 29 Mar 2013 19:46:09 +0000 (19:46 +0000)]
Fixed a crash if the Objective-C runtime module
wasn't loaded into the underlying process or
couldn't be found.

<rdar://problem/13533671>

llvm-svn: 178363

11 years agoImplement FRINT lowering on PPC using frin
Hal Finkel [Fri, 29 Mar 2013 19:41:55 +0000 (19:41 +0000)]
Implement FRINT lowering on PPC using frin

Like nearbyint, rint can be implemented on PPC using the frin instruction. The
complication comes from the fact that rint needs to set the FE_INEXACT flag
when the result does not equal the input value (and frin does not do that). As
a result, we use a custom inserter which, after the rounding, compares the
rounded value with the original, and if they differ, explicitly sets the XX bit
in the FPSCR register (which corresponds to FE_INEXACT).

Once LLVM has better modeling of the floating-point environment we should be
able to (often) eliminate this extra complexity.

llvm-svn: 178362

11 years agoBugfix/Followup for r177086.
Adrian Prantl [Fri, 29 Mar 2013 19:20:35 +0000 (19:20 +0000)]
Bugfix/Followup for r177086.
* Store the .block_descriptor (instead of self) in the alloca so we
  can guarantee that all captured variables are available at -O0.
* Add the missing OpDeref for the alloca.
rdar://problem/12767564

llvm-svn: 178361

11 years agoImprovement on r177086.
Adrian Prantl [Fri, 29 Mar 2013 19:20:29 +0000 (19:20 +0000)]
Improvement on r177086.
* Let DIType for block-captured self to point to the completed cached
  interface type.
rdar://problem/12767564

llvm-svn: 178360

11 years ago[mips] Define a function which returns the GPR register class.
Akira Hatanaka [Fri, 29 Mar 2013 19:17:42 +0000 (19:17 +0000)]
[mips] Define a function which returns the GPR register class.

llvm-svn: 178359

11 years agoHexagon: Set Hexagon tool-chain when configured as OSless target.
Jyotsna Verma [Fri, 29 Mar 2013 19:09:20 +0000 (19:09 +0000)]
Hexagon: Set Hexagon tool-chain when configured as OSless target.

llvm-svn: 178358

11 years agoFix TableGen subtarget-emitter to handle A9/Swift.
Andrew Trick [Fri, 29 Mar 2013 19:08:31 +0000 (19:08 +0000)]
Fix TableGen subtarget-emitter to handle A9/Swift.

A9 uses itinerary classes, Swift uses RW lists. This tripped some
verification when we're expanding variants. I had to refine the
verification a bit.

llvm-svn: 178357

11 years agoBuild fixes for STLPort + GCC
Matt Arsenault [Fri, 29 Mar 2013 18:48:45 +0000 (18:48 +0000)]
Build fixes for STLPort + GCC

llvm-svn: 178356

11 years agoFix loop style
Matt Arsenault [Fri, 29 Mar 2013 18:48:42 +0000 (18:48 +0000)]
Fix loop style

llvm-svn: 178355

11 years agoBruce Mitchener, Jr.: Port to emscripten. Fixes http://llvm.org/bugs/show_bug.cgi...
Howard Hinnant [Fri, 29 Mar 2013 18:27:28 +0000 (18:27 +0000)]
Bruce Mitchener, Jr.: Port to emscripten.  Fixes llvm.org/bugs/show_bug.cgi?id=15624.

llvm-svn: 178354

11 years agoSplit the llvm/tools/clang/test/CodeGenObjC/debug-info-blocks.m testcase into a CFE...
Adrian Prantl [Fri, 29 Mar 2013 18:08:14 +0000 (18:08 +0000)]
Split the llvm/tools/clang/test/CodeGenObjC/debug-info-blocks.m testcase into a CFE and LLVM part.
rdar://problem/12767564

llvm-svn: 178353

11 years agoUpdated the code signing docs.
Greg Clayton [Fri, 29 Mar 2013 17:53:55 +0000 (17:53 +0000)]
Updated the code signing docs.

llvm-svn: 178352

11 years agoRemove sign-compare warning on systems that still use 32 bit time_ts.
Benjamin Kramer [Fri, 29 Mar 2013 17:39:43 +0000 (17:39 +0000)]
Remove sign-compare warning on systems that still use 32 bit time_ts.

llvm-svn: 178351

11 years agoThe 3rd test in shrink_to_fit.pass.cpp can't possibly pass if exceptions are disabled...
Howard Hinnant [Fri, 29 Mar 2013 17:20:04 +0000 (17:20 +0000)]
The 3rd test in shrink_to_fit.pass.cpp can't possibly pass if exceptions are disabled, so #ifdef'ing out the test.

llvm-svn: 178350

11 years agoRemove the old CodePlacementOpt pass.
Benjamin Kramer [Fri, 29 Mar 2013 17:14:24 +0000 (17:14 +0000)]
Remove the old CodePlacementOpt pass.

It was superseded by MachineBlockPlacement and disabled by default since LLVM 3.1.

llvm-svn: 178349

11 years ago<rdar://problem/12022060>
Greg Clayton [Fri, 29 Mar 2013 17:03:23 +0000 (17:03 +0000)]
<rdar://problem/12022060>

Enable tab completion for regular expression commands.

llvm-svn: 178348

11 years agoFix a typo
Nadav Rotem [Fri, 29 Mar 2013 16:34:23 +0000 (16:34 +0000)]
Fix a typo

llvm-svn: 178346

11 years agoHexagon: Disable DwarfUsesInlineInfoSection flag.
Jyotsna Verma [Fri, 29 Mar 2013 15:46:12 +0000 (15:46 +0000)]
Hexagon: Disable DwarfUsesInlineInfoSection flag.

llvm-svn: 178345

11 years ago[tsan] restore performance critical inlining in tsan: remove static from ALWAYS_INLIN...
Kostya Serebryany [Fri, 29 Mar 2013 09:44:16 +0000 (09:44 +0000)]
[tsan] restore performance critical inlining in tsan: remove static from ALWAYS_INLINE, use ALWAYS_INLINE USED for critical functions.

llvm-svn: 178341

11 years ago[TSan] Build TSan runtime with -fPIE.
Alexander Potapenko [Fri, 29 Mar 2013 09:44:11 +0000 (09:44 +0000)]
[TSan] Build TSan runtime with -fPIE.
This removes all register spills from the performance-critical __tsan_{read,write}{1,2,4,8} functions when the host compiler is GCC.

llvm-svn: 178340

11 years ago[libsanitizer] Put COMMON_CFLAGS/COMMON_CXXFLAGS before Tmp.CFLAGS to let the config...
Alexander Potapenko [Fri, 29 Mar 2013 09:41:10 +0000 (09:41 +0000)]
[libsanitizer] Put COMMON_CFLAGS/COMMON_CXXFLAGS before Tmp.CFLAGS to let the config-specific flags override common flags.

llvm-svn: 178339

11 years agoAdd PPC FP rounding instructions fri[mnpz]
Hal Finkel [Fri, 29 Mar 2013 08:57:48 +0000 (08:57 +0000)]
Add PPC FP rounding instructions fri[mnpz]

These instructions are available on the P5x (and later) and on the A2. They
implement the standard floating-point rounding operations (floor, trunc, etc.).
One caveat: frin (round to nearest) does not implement "ties to even", and so
is only enabled in fast-math mode.

llvm-svn: 178337

11 years ago[Sanitizer] Follow-up for r178238 - replace DCHECKs with regular CHECKs
Alexey Samsonov [Fri, 29 Mar 2013 08:03:01 +0000 (08:03 +0000)]
[Sanitizer] Follow-up for r178238 - replace DCHECKs with regular CHECKs

llvm-svn: 178336

11 years agoFix thinko (and the bots): We still want to warn in C.
Rafael Espindola [Fri, 29 Mar 2013 07:56:05 +0000 (07:56 +0000)]
Fix thinko (and the bots): We still want to warn in C.

llvm-svn: 178335

11 years agoRevert "Fix allocations of SmallVector and SmallPtrSet so they are more prone to"
Rafael Espindola [Fri, 29 Mar 2013 07:11:21 +0000 (07:11 +0000)]
Revert "Fix allocations of SmallVector and SmallPtrSet so they are more prone to"

This reverts commit 617330909f0c26a3f2ab8601a029b9bdca48aa61.

It broke the bots:

/home/clangbuild2/clang-ppc64-2/llvm.src/unittests/ADT/SmallVectorTest.cpp:150: PushPopTest
/home/clangbuild2/clang-ppc64-2/llvm.src/unittests/ADT/SmallVectorTest.cpp:118: Failure
Value of: v[i].getValue()
  Actual: 0
Expected: value
Which is: 2

llvm-svn: 178334

11 years agoDon't special case one line extern "C" decls.
Rafael Espindola [Fri, 29 Mar 2013 07:02:31 +0000 (07:02 +0000)]
Don't special case one line extern "C" decls.

We already avoided warning for

extern "C" const char *Version_string = "2.9";

now we also don't produce any warnings for

extern "C" {
  extern const char *Version_string2 = "2.9";
}

llvm-svn: 178333

11 years agoFix allocations of SmallVector and SmallPtrSet so they are more prone to
Jean-Luc Duprat [Fri, 29 Mar 2013 05:45:22 +0000 (05:45 +0000)]
Fix allocations of SmallVector and SmallPtrSet so they are more prone to
being power-of-two sized.

llvm-svn: 178332

11 years agoAdd RDSEED intrinsic support defined in AVX2 extension
Michael Liao [Fri, 29 Mar 2013 05:17:55 +0000 (05:17 +0000)]
Add RDSEED intrinsic support defined in AVX2 extension

llvm-svn: 178331

11 years agoAdd XTEST intrinsic defined in TSX extension
Michael Liao [Fri, 29 Mar 2013 05:14:06 +0000 (05:14 +0000)]
Add XTEST intrinsic defined in TSX extension

llvm-svn: 178330

11 years agoRemoved trailing whitespace.
Michael Gottesman [Fri, 29 Mar 2013 05:13:07 +0000 (05:13 +0000)]
Removed trailing whitespace.

llvm-svn: 178329

11 years ago[mips] Change type of accumulator registers to Untyped. Add two more accumulator
Akira Hatanaka [Fri, 29 Mar 2013 03:27:21 +0000 (03:27 +0000)]
[mips] Change type of accumulator registers to Untyped. Add two more accumulator
register classes for Mips64 and DSP-ASE.

No functionality changes.

llvm-svn: 178328

11 years ago[mips] Define overloaded versions of storeRegToStack and loadRegFromStack.
Akira Hatanaka [Fri, 29 Mar 2013 02:14:12 +0000 (02:14 +0000)]
[mips] Define overloaded versions of storeRegToStack and loadRegFromStack.

No functionality changes.

llvm-svn: 178327

11 years ago[mips] Add parameter Alignment to MipsFrameLowering's constructor.
Akira Hatanaka [Fri, 29 Mar 2013 01:51:04 +0000 (01:51 +0000)]
[mips] Add parameter Alignment to MipsFrameLowering's constructor.

No functionality changes.

llvm-svn: 178326

11 years agoRationalize how we do Halt-ing before Destroy and Detach.
Jim Ingham [Fri, 29 Mar 2013 01:18:12 +0000 (01:18 +0000)]
Rationalize how we do Halt-ing before Destroy and Detach.

<rdar://problem/13527167>

llvm-svn: 178325

11 years ago“process launch” should “detach” not “kill” if the current process was one we attache...
Jim Ingham [Fri, 29 Mar 2013 00:56:30 +0000 (00:56 +0000)]
“process launch” should “detach” not “kill” if the current process was one we attached to.
“process attach” should ask the same questions as process launch if there is a current process.
“process connect” then “process launch” or “process attach” should actually work.

<rdar://problem/13524210>
<rdar://problem/13524208>
<rdar://problem/13488919>

llvm-svn: 178324

11 years ago[ELF] Add dynamic hash table and get simple dynamic libraries working with Hexagon
Shankar Easwaran [Fri, 29 Mar 2013 00:53:25 +0000 (00:53 +0000)]
[ELF] Add dynamic hash table and get simple dynamic libraries working with Hexagon

llvm-svn: 178323