oota-llvm.git
11 years agordar://12329730 (defect 2)
Shuxin Yang [Mon, 26 Nov 2012 21:44:25 +0000 (21:44 +0000)]
rdar://12329730 (defect 2)

Enhancement to InstCombine. Try to catch this opportunity:

 ---------------------------------------------------------------
 ((X^C1) >> C2) ^ C3  => (X>>C2) ^ ((C1>>C2)^C3)
  where the subexpression "X ^ C1" has more than one uses, and
  "(X^C1) >> C2" has single use.
 ----------------------------------------------------------------

 Reviewed by Nadav (with minor change per his request).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168615 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove unneeded #includes.
Jakub Staszak [Mon, 26 Nov 2012 21:04:19 +0000 (21:04 +0000)]
Remove unneeded #includes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168608 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix a comment bug in toascii simplifier
Meador Inge [Mon, 26 Nov 2012 20:37:23 +0000 (20:37 +0000)]
Fix a comment bug in toascii simplifier

When I migrated the toascii simplifier in r168580 Benjamin Kramer noticed
a bug in one of the comments that I migrated.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168605 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoinstcombine: Migrate printf optimizations
Meador Inge [Mon, 26 Nov 2012 20:37:20 +0000 (20:37 +0000)]
instcombine: Migrate printf optimizations

This patch migrates the printf optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168604 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMove the code that uses SCEVs prior to creating the new loops.
Nadav Rotem [Mon, 26 Nov 2012 19:51:46 +0000 (19:51 +0000)]
Move the code that uses SCEVs prior to creating the new loops.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168601 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoNormalize splat 256bit vectors with 8 elements.
Jakub Staszak [Mon, 26 Nov 2012 19:24:31 +0000 (19:24 +0000)]
Normalize splat 256bit vectors with 8 elements.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168600 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoDecouple MCInstBuilder from the streamer per Eli's request.
Benjamin Kramer [Mon, 26 Nov 2012 18:05:52 +0000 (18:05 +0000)]
Decouple MCInstBuilder from the streamer per Eli's request.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168597 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove stray trailing backslash
Matt Beaumont-Gay [Mon, 26 Nov 2012 16:27:22 +0000 (16:27 +0000)]
Remove stray trailing backslash

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168592 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agotsan: fix lint warnings
Dmitry Vyukov [Mon, 26 Nov 2012 14:55:26 +0000 (14:55 +0000)]
tsan: fix lint warnings

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168590 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRewrite test to not use a FileCheck variable and redefine it on the same line.
Eli Bendersky [Mon, 26 Nov 2012 14:09:46 +0000 (14:09 +0000)]
Rewrite test to not use a FileCheck variable and redefine it on the same line.

In preparation for the FileCheck functionality change which will allow using
a variable later on the same line.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168588 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd MCInstBuilder, a utility class to simplify MCInst creation similar to MachineInst...
Benjamin Kramer [Mon, 26 Nov 2012 13:34:22 +0000 (13:34 +0000)]
Add MCInstBuilder, a utility class to simplify MCInst creation similar to MachineInstrBuilder.

Simplify some repetitive code with it. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168587 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[tsan] add fail order to compare_exchange
Dmitry Vyukov [Mon, 26 Nov 2012 11:36:19 +0000 (11:36 +0000)]
[tsan] add fail order to compare_exchange

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168586 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix a PassManager pointer use-after-free bug.
Zhou Sheng [Mon, 26 Nov 2012 05:45:53 +0000 (05:45 +0000)]
Fix a PassManager pointer use-after-free bug.
The bug can be triggered when we require LoopInfo analysis ahead of DominatorTree construction in a Module Pass. The cause is that the LoopInfo analysis itself also invokes DominatorTree construction, therefore, when PassManager schedules LoopInfo, it will add DominatorTree first. Then after that, when the PassManger turns to schedule DominatorTree invoked by the above ModulePass, it finds there is already a DominatorTree, so it delete the redundant one. However, somehow it still try to access that pass pointer after free as code pasted below, which results in segment fault.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168581 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoinstcombine: Migrate toascii optimizations
Meador Inge [Mon, 26 Nov 2012 03:38:52 +0000 (03:38 +0000)]
instcombine: Migrate toascii optimizations

This patch migrates the toascii optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168580 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoinstcombine: Migrate isascii optimizations
Meador Inge [Mon, 26 Nov 2012 03:10:07 +0000 (03:10 +0000)]
instcombine: Migrate isascii optimizations

This patch migrates the isascii optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168579 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoinstcombine: Migrate isdigit optimizations
Meador Inge [Mon, 26 Nov 2012 02:31:59 +0000 (02:31 +0000)]
instcombine: Migrate isdigit optimizations

This patch migrates the isdigit optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168578 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemoving SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
Joe Abbey [Mon, 26 Nov 2012 02:02:08 +0000 (02:02 +0000)]
Removing SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG

Adding CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
       C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG

This is to handle the wackiness on a Mac host where cmake detects:

CMAKE_CXX_COMPILER == "/usr/bin/c++"
CMAKE_C_COMPILER == "/usr/bin/gcc"

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168577 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix gcc's -Wunused-but-set-variable warnings.
Rafael Espindola [Mon, 26 Nov 2012 00:56:44 +0000 (00:56 +0000)]
Fix gcc's -Wunused-but-set-variable warnings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168576 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix bogus comment; no functional change.
Meador Inge [Mon, 26 Nov 2012 00:25:33 +0000 (00:25 +0000)]
Fix bogus comment;  no functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168575 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoinstcombine: Migrate *abs optimizations
Meador Inge [Mon, 26 Nov 2012 00:24:07 +0000 (00:24 +0000)]
instcombine: Migrate *abs optimizations

This patch migrates the *abs optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168574 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoinstcombine: Migrate ffs* optimizations
Meador Inge [Sun, 25 Nov 2012 20:45:27 +0000 (20:45 +0000)]
instcombine: Migrate ffs* optimizations

This patch migrates the ffs* optimizations from the simplify-libcalls
pass into the instcombine library call simplifier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168571 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMove the max vector width to a constant parameter. No functionality change.
Nadav Rotem [Sun, 25 Nov 2012 16:48:08 +0000 (16:48 +0000)]
Move the max vector width to a constant parameter. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168570 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix the document style.
Nadav Rotem [Sun, 25 Nov 2012 16:39:01 +0000 (16:39 +0000)]
Fix the document style.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168569 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRefactor the ptr runtime check generation code. No functionality change.
Nadav Rotem [Sun, 25 Nov 2012 16:27:16 +0000 (16:27 +0000)]
Refactor the ptr runtime check generation code. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168568 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoCode Custodian:
Joe Abbey [Sun, 25 Nov 2012 15:23:39 +0000 (15:23 +0000)]
Code Custodian:
  - Widespread trailing space removal
  - A dash of OCD spacing to block align enums
  - joined a line that probably needed 80 cols a while back

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168566 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd support for .cfi_register now that it is easy to extent the representation
Rafael Espindola [Sun, 25 Nov 2012 15:14:49 +0000 (15:14 +0000)]
Add support for .cfi_register now that it is easy to extent the representation
to support it. Original patch with the parsing and plumbing by the PaX team and
Roman Divacky. I added the bits in MCDwarf.cpp and the test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168565 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMove semantics are great, don't destroy the optimization opportunity with trivial...
Benjamin Kramer [Sun, 25 Nov 2012 11:52:03 +0000 (11:52 +0000)]
Move semantics are great, don't destroy the optimization opportunity with trivial copy ctors.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168561 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRename method. No functionality change.
Nadav Rotem [Sun, 25 Nov 2012 09:13:57 +0000 (09:13 +0000)]
Rename method. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168560 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoThe induction-pointer work is inspired by a research paper. This commit adds a reference.
Nadav Rotem [Sun, 25 Nov 2012 09:09:26 +0000 (09:09 +0000)]
The induction-pointer work is inspired by a research paper. This commit adds a reference.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168559 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd support for pointer induction variables even when there is no integer induction...
Nadav Rotem [Sun, 25 Nov 2012 08:41:35 +0000 (08:41 +0000)]
Add support for pointer induction variables even when there is no integer induction variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168558 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRefactor to make helper method static.
Craig Topper [Sun, 25 Nov 2012 08:08:58 +0000 (08:08 +0000)]
Refactor to make helper method static.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168557 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFurther cleanups. Thanks for Sean Silva for noticing it.
Rafael Espindola [Sun, 25 Nov 2012 02:50:32 +0000 (02:50 +0000)]
Further cleanups. Thanks for Sean Silva for noticing it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168556 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd an extra slash so doxygen comments will be properly recognized.
Craig Topper [Sun, 25 Nov 2012 00:59:59 +0000 (00:59 +0000)]
Add an extra slash so doxygen comments will be properly recognized.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168554 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove duplicate check of LimitFloatPrecision. It was already checked earlier before...
Craig Topper [Sun, 25 Nov 2012 00:48:58 +0000 (00:48 +0000)]
Remove duplicate check of LimitFloatPrecision. It was already checked earlier before IsExp10 could be set to true.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168553 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFactor common code out of individual if blocks into common tail.
Craig Topper [Sun, 25 Nov 2012 00:15:07 +0000 (00:15 +0000)]
Factor common code out of individual if blocks into common tail.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168551 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove redundant calls to getCurDebugLoc in visitIntrinsicCall. It's already called...
Craig Topper [Sat, 24 Nov 2012 23:05:23 +0000 (23:05 +0000)]
Remove redundant calls to getCurDebugLoc in visitIntrinsicCall. It's already called at the start of the function and captured in a local variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168548 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRefactor a bit to make some helper methods static.
Craig Topper [Sat, 24 Nov 2012 18:52:06 +0000 (18:52 +0000)]
Refactor a bit to make some helper methods static.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168546 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agolibLTO: Add a utility method to initialize the disassemblers.
Benjamin Kramer [Sat, 24 Nov 2012 16:59:10 +0000 (16:59 +0000)]
libLTO: Add a utility method to initialize the disassemblers.

Necessary to give disassembler users (like darwin's otool) a possibility to
dlopen libLTO and still initialize the required LLVM bits. This used to go
through libMCDisassembler but that's a gross layering violation, the MC layer
can't pull in functions from the targets. Adding a function to libLTO is a bit
of a hack but not worse than exposing other disassembler bits from libLTO.

Fixes PR14362.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168545 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoPPC: Reinstate the fatal error when trying to emit a macho file.
Benjamin Kramer [Sat, 24 Nov 2012 15:23:49 +0000 (15:23 +0000)]
PPC: Reinstate the fatal error when trying to emit a macho file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168543 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoARM: Share applyFixup between ELF and Darwin.
Benjamin Kramer [Sat, 24 Nov 2012 14:36:43 +0000 (14:36 +0000)]
ARM: Share applyFixup between ELF and Darwin.

The implementations already diverged a bit, merge them back together.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168542 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoPPC: MCize most of the darwin PIC emission.
Benjamin Kramer [Sat, 24 Nov 2012 13:18:25 +0000 (13:18 +0000)]
PPC: MCize most of the darwin PIC emission.

The last remaining bit is "bcl 20, 31, AnonSymbol", which I couldn't find the
instruction definition for. Only whitespace changes in assembly output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168541 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoPPC: Share applyFixup between ELF and Darwin.
Benjamin Kramer [Sat, 24 Nov 2012 13:18:17 +0000 (13:18 +0000)]
PPC: Share applyFixup between ELF and Darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168540 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoPPC: Simplify code with Twines.
Benjamin Kramer [Sat, 24 Nov 2012 13:18:11 +0000 (13:18 +0000)]
PPC: Simplify code with Twines.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168539 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFactor some common code out of individual if blocks.
Craig Topper [Sat, 24 Nov 2012 08:22:37 +0000 (08:22 +0000)]
Factor some common code out of individual if blocks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168538 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoChange the representation of MCCFIInstruction.
Rafael Espindola [Sat, 24 Nov 2012 04:33:48 +0000 (04:33 +0000)]
Change the representation of MCCFIInstruction.

We now store the Register and Offset directly. MachineLocation is gone (from
this file)!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168536 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoGive each MCCFIInstruction its own opcode.
Rafael Espindola [Sat, 24 Nov 2012 03:10:54 +0000 (03:10 +0000)]
Give each MCCFIInstruction its own opcode.
This untangles the switch cases of the old Move and RelMove opcodes a bit
and makes it clear how to add new instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168534 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMove a bit of duplicated code into a helper function.
Rafael Espindola [Sat, 24 Nov 2012 02:18:49 +0000 (02:18 +0000)]
Move a bit of duplicated code into a helper function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168533 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRefactor how MCCFIInstructions are created.
Rafael Espindola [Sat, 24 Nov 2012 02:01:08 +0000 (02:01 +0000)]
Refactor how MCCFIInstructions are created.

Give MCCFIInstruction a single, private constructor and add helper static
methods that create each type of cfi instruction. This is is preparation
for changing its representation. The representation with a pair
MachineLocations older than MC and has been abused quiet a bit to support
more cfi instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168532 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoCodeGenPrepare: Move ret duplication out of the instruction iteration loop.
Benjamin Kramer [Fri, 23 Nov 2012 19:17:06 +0000 (19:17 +0000)]
CodeGenPrepare: Move ret duplication out of the instruction iteration loop.

It can delete the block, and the loop continues on free'd memory.
No change in output. Found by valgrind.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168525 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRefactor a bit to make some helper functions static.
Craig Topper [Fri, 23 Nov 2012 18:38:31 +0000 (18:38 +0000)]
Refactor a bit to make some helper functions static.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168524 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd a -disable-cfi option to llvm-mc. This is useful for debugging as
Rafael Espindola [Fri, 23 Nov 2012 17:37:34 +0000 (17:37 +0000)]
Add a -disable-cfi option to llvm-mc. This is useful for debugging as
it will expand any .cfi_* directives in the input assembly.

Unfortunately this cannot replace elf-dump in tests as the asm streamer
cannot relax the line advance opcodes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168522 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoImplement .cfi_undefined. Based on a patch from PaX team, updated by
Rafael Espindola [Fri, 23 Nov 2012 16:59:41 +0000 (16:59 +0000)]
Implement .cfi_undefined. Based on a patch from PaX team, updated by
Roman Divacky. I just added the testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168520 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoDisallow the undocumented practice of starting the datalayout string with '-'.
Patrik Hägglund [Fri, 23 Nov 2012 14:51:42 +0000 (14:51 +0000)]
Disallow the undocumented practice of starting the datalayout string with '-'.

Update some test cases accordingly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168516 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoUpdate call to the new syntax.
Bill Wendling [Fri, 23 Nov 2012 11:05:35 +0000 (11:05 +0000)]
Update call to the new syntax.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168512 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove unused parameter Penalty from the BoundsChecking pass.
Joey Gouly [Fri, 23 Nov 2012 10:47:35 +0000 (10:47 +0000)]
Remove unused parameter Penalty from the BoundsChecking pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168511 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoCleanup: Simplify loop end logic in computeRegisterProperties().
Patrik Hägglund [Fri, 23 Nov 2012 08:35:04 +0000 (08:35 +0000)]
Cleanup: Simplify loop end logic in computeRegisterProperties().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168507 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdded me as the owner of the Sparc backend
Venkatraman Govindaraju [Thu, 22 Nov 2012 22:14:48 +0000 (22:14 +0000)]
Added me as the owner of the Sparc backend

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168504 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMark me as the owner of the gold plugin.
Rafael Espindola [Thu, 22 Nov 2012 16:43:44 +0000 (16:43 +0000)]
Mark me as the owner of the gold plugin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168502 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd more functions to the target library information.
Meador Inge [Thu, 22 Nov 2012 15:36:42 +0000 (15:36 +0000)]
Add more functions to the target library information.

I discovered a few more missing functions while migrating optimizations
from the simplify-libcalls pass to the instcombine (I already added some
in r167659).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168501 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agollvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp: Prune AddressSanitizerCreat...
NAKAMURA Takumi [Thu, 22 Nov 2012 14:18:25 +0000 (14:18 +0000)]
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp: Prune AddressSanitizerCreateGlobalRedzonesPass::ID. [-Wunused-variable]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168499 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix 80-col violation
Eli Bendersky [Thu, 22 Nov 2012 14:10:40 +0000 (14:10 +0000)]
Fix 80-col violation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168498 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoIntelJITEventsWrapper.h: Prune two members, FinalizeThreadFunc and FinalizeProcessFun...
NAKAMURA Takumi [Thu, 22 Nov 2012 13:18:37 +0000 (13:18 +0000)]
IntelJITEventsWrapper.h: Prune two members, FinalizeThreadFunc and FinalizeProcessFunc, for now. [-Wunused-private-field]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168495 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoDocumentation: convert SourceLevelDebugging.html to reST
Dmitri Gribenko [Thu, 22 Nov 2012 11:56:02 +0000 (11:56 +0000)]
Documentation: convert SourceLevelDebugging.html to reST

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168493 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove 'sretpromotion' pass from the documentation. This pass is long
Chandler Carruth [Thu, 22 Nov 2012 11:17:08 +0000 (11:17 +0000)]
Remove 'sretpromotion' pass from the documentation. This pass is long
dead.

Patch by Stephan Falke.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168492 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoGeneralize matching of add_executable to add_XXX_executable.
Ted Kremenek [Thu, 22 Nov 2012 07:48:52 +0000 (07:48 +0000)]
Generalize matching of add_executable to add_XXX_executable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168490 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agollvm.fmuladd.* lowering should be checking isOperationLegalOrCustom, rather than
Lang Hames [Thu, 22 Nov 2012 03:31:45 +0000 (03:31 +0000)]
llvm.fmuladd.* lowering should be checking isOperationLegalOrCustom, rather than
isOperationLegal. Thanks to Craig Topper for pointing this out.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168485 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[asan] rip off the creation of global redzones from the main AddressSanitizer class...
Kostya Serebryany [Thu, 22 Nov 2012 03:18:50 +0000 (03:18 +0000)]
[asan] rip off the creation of global redzones from the main AddressSanitizer class into a separate class. The intent is to make it a separate ModulePass in the following commmits

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168484 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoPull some code out into functions to make rearranging them a bit easier.
Eric Christopher [Thu, 22 Nov 2012 00:59:49 +0000 (00:59 +0000)]
Pull some code out into functions to make rearranging them a bit easier.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168481 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoCorrects a problem where we reply exclusively of GEPs to drive
Preston Briggs [Wed, 21 Nov 2012 23:50:04 +0000 (23:50 +0000)]
Corrects a problem where we reply exclusively of GEPs to drive
analysis.  Better is to look for cases with useful GEPs and use them
when possible.  When a pair of useful GEPs is not available, use the
raw SCEVs directly. This approach supports better analysis of pointer
dereferencing.

In parallel, all the test cases are updated appropriately.
Cases where we have a store to *B++ can now be analyzed!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168474 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMips direct object xgot support
Jack Carter [Wed, 21 Nov 2012 23:38:59 +0000 (23:38 +0000)]
Mips direct object xgot support

This patch provides support for the MIPS relocations:

    *)  R_MIPS_GOT_HI16
    *)  R_MIPS_GOT_LO16
    *)  R_MIPS_CALL_HI16
    *)  R_MIPS_CALL_LO16

These are used for large GOT instruction sequences.

Contributer: Jack Carter

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168471 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix a typo in FileCheck.rst
Eli Bendersky [Wed, 21 Nov 2012 22:40:52 +0000 (22:40 +0000)]
Fix a typo in FileCheck.rst

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168466 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[mips] Generate big GOT code.
Akira Hatanaka [Wed, 21 Nov 2012 20:40:38 +0000 (20:40 +0000)]
[mips] Generate big GOT code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168460 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdding tests for the Intel JIT event listener's MCJIT support.
Andrew Kaylor [Wed, 21 Nov 2012 20:38:26 +0000 (20:38 +0000)]
Adding tests for the Intel JIT event listener's MCJIT support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168459 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[mips] Simplify lowering functions in MipsISelLowering.cpp by using the helper
Akira Hatanaka [Wed, 21 Nov 2012 20:30:40 +0000 (20:30 +0000)]
[mips] Simplify lowering functions in MipsISelLowering.cpp by using the helper
functions added in r168456.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168458 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[mips] Add helper functions that create nodes for computing address.
Akira Hatanaka [Wed, 21 Nov 2012 20:26:38 +0000 (20:26 +0000)]
[mips] Add helper functions that create nodes for computing address.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168456 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[mips] Add command line option "-mxgot".
Akira Hatanaka [Wed, 21 Nov 2012 20:21:11 +0000 (20:21 +0000)]
[mips] Add command line option "-mxgot".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168455 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[mips] When a node which loads from a GOT is created, pass a MachinePointerInfo
Akira Hatanaka [Wed, 21 Nov 2012 20:16:34 +0000 (20:16 +0000)]
[mips] When a node which loads from a GOT is created, pass a MachinePointerInfo
referring to a GOT entry.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168453 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd new predicates for the immediate operands.
Jyotsna Verma [Wed, 21 Nov 2012 20:05:09 +0000 (20:05 +0000)]
Add new predicates for the immediate operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168451 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[mips] Add target operand flag enums for big GOT relocations.
Akira Hatanaka [Wed, 21 Nov 2012 19:59:51 +0000 (19:59 +0000)]
[mips] Add target operand flag enums for big GOT relocations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168450 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoUse one common 'let' expression to set PrintMethod for all immediate operands.
Jyotsna Verma [Wed, 21 Nov 2012 19:53:42 +0000 (19:53 +0000)]
Use one common 'let' expression to set PrintMethod for all immediate operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168449 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd relocations used for mips big GOT.
Akira Hatanaka [Wed, 21 Nov 2012 19:50:22 +0000 (19:50 +0000)]
Add relocations used for mips big GOT.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168448 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agotest commit: added a few comments
Preston Briggs [Wed, 21 Nov 2012 18:53:19 +0000 (18:53 +0000)]
test commit: added a few comments

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168445 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoImplementing basic function-level profiling support in IntelJITEventListener.
Andrew Kaylor [Wed, 21 Nov 2012 18:50:33 +0000 (18:50 +0000)]
Implementing basic function-level profiling support in IntelJITEventListener.

Tests to follow in another patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168444 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd support for varargs functions for msp430.
Anton Korobeynikov [Wed, 21 Nov 2012 17:28:27 +0000 (17:28 +0000)]
Add support for varargs functions for msp430.
Patch by Job Noorman!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168440 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd support for byval args. Patch by Job Noorman!
Anton Korobeynikov [Wed, 21 Nov 2012 17:23:03 +0000 (17:23 +0000)]
Add support for byval args. Patch by Job Noorman!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168439 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFinish the renaming.
Rafael Espindola [Wed, 21 Nov 2012 16:56:33 +0000 (16:56 +0000)]
Finish the renaming.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168437 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRenamed HexagonImmediates.td -> HexagonOperands.td.
Jyotsna Verma [Wed, 21 Nov 2012 16:28:18 +0000 (16:28 +0000)]
Renamed HexagonImmediates.td -> HexagonOperands.td.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168434 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agollvm/test/Transforms/InstCombine/sdiv-1.ll: FileCheck-ize.
NAKAMURA Takumi [Wed, 21 Nov 2012 14:46:18 +0000 (14:46 +0000)]
llvm/test/Transforms/InstCombine/sdiv-1.ll: FileCheck-ize.

"not grep '-715827882'" performed as below...bad...

Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168430 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoUsing "not grep" is brittle as the test passes if llvm-as fails.
Rafael Espindola [Wed, 21 Nov 2012 14:17:23 +0000 (14:17 +0000)]
Using "not grep" is brittle as the test passes if llvm-as fails.
Fix the testcase to be valid IL and uses FileCheck.
Thanks to NAKAMURA Takumi for noticing it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168427 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoPR14055: Implement support for sub-vector operations in SROA.
Chandler Carruth [Wed, 21 Nov 2012 08:16:30 +0000 (08:16 +0000)]
PR14055: Implement support for sub-vector operations in SROA.

Now if we can transform an alloca into a single vector value, but it has
subvector, non-element accesses, we form the appropriate shufflevectors
to allow SROA to proceed. This fixes PR14055 which pointed out a very
common pattern that SROA couldn't handle -- mixed vec3 and vec4
operations on a single alloca.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168418 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix execution domain for packed FMA4 instructions.
Craig Topper [Wed, 21 Nov 2012 08:08:21 +0000 (08:08 +0000)]
Fix execution domain for packed FMA4 instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168417 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMark ISD::FMA as Legal instead of custom for x86 with FMA3/FMA4. Needed so that llvm...
Craig Topper [Wed, 21 Nov 2012 05:36:24 +0000 (05:36 +0000)]
Mark ISD::FMA as Legal instead of custom for x86 with FMA3/FMA4. Needed so that llvm.muladd can be converted to ISD::FMA for fp_contract.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168413 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMake calcLiveInMask method static.
Jakub Staszak [Wed, 21 Nov 2012 00:59:34 +0000 (00:59 +0000)]
Make calcLiveInMask method static.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168409 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMake isScratchReg and isFPCopy methods static.
Jakub Staszak [Wed, 21 Nov 2012 00:50:57 +0000 (00:50 +0000)]
Make isScratchReg and isFPCopy methods static.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168407 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoWhitespace.
Eric Christopher [Wed, 21 Nov 2012 00:34:38 +0000 (00:34 +0000)]
Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168402 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoUpdate for some of the coding standard before rearranging functions
Eric Christopher [Wed, 21 Nov 2012 00:34:35 +0000 (00:34 +0000)]
Update for some of the coding standard before rearranging functions
around.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168401 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoUpdate some comments.
Eric Christopher [Wed, 21 Nov 2012 00:17:49 +0000 (00:17 +0000)]
Update some comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168400 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoUpdate and add some comments.
Eric Christopher [Wed, 21 Nov 2012 00:03:31 +0000 (00:03 +0000)]
Update and add some comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168399 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoWhitespace.
Eric Christopher [Wed, 21 Nov 2012 00:03:28 +0000 (00:03 +0000)]
Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168398 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd a tests for the new -no-show-raw-insn option of llvm-objdump.
Eli Bendersky [Tue, 20 Nov 2012 23:44:22 +0000 (23:44 +0000)]
Add a tests for the new -no-show-raw-insn option of llvm-objdump.

This also initiates a test/tools directory where tools-specific tests can be
placed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168397 91177308-0d34-0410-b5e6-96231b3b80d8