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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Jakub Staszak [Tue, 20 Nov 2012 23:32:32 +0000 (23:32 +0000)]
Add obvious constantness.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168396
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 20 Nov 2012 23:30:11 +0000 (23:30 +0000)]
Remove constness from this, it modifies the output stream as does
everything else underneath.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168395
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Bendersky [Tue, 20 Nov 2012 22:57:02 +0000 (22:57 +0000)]
Add the -no-show-raw-insn option to llvm-objdump, thus making it a bit more
conformant to binutils objdump.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168393
91177308-0d34-0410-b5e6-
96231b3b80d8
Sebastian Pop [Tue, 20 Nov 2012 22:28:04 +0000 (22:28 +0000)]
removes a few "const" qualifiers
so that I can (someday) call SE->getSCEV without complaint.
No semantic change intended.
Patch from Preston Briggs <preston.briggs@gmail.com>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168391
91177308-0d34-0410-b5e6-
96231b3b80d8
Anders Waldenborg [Tue, 20 Nov 2012 22:27:55 +0000 (22:27 +0000)]
[python] fix get_library()
Before this fix, the LLVM Python bindings on SVN trunk always fail with:
Exception: LLVM shared library not found!
since it's still looking for a library named "LLVM-3.1svn".
Besides updating the LLVM version in the library name,
this patch also changes llvm.get_library() to make it possible to run
the unit tests without installing the LLVM shared library into a
default linker search path.
e.g. after this patch, running the llvm/python unit tests with:
LD_LIBRARY_PATH=../build/Debug+Asserts/lib nosetests -v bindings/python/llvm/tests/
would work on Linux.
Patch from Scott Tsai (with some minor modifications)
Patch also acked by Gregory Szorc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168390
91177308-0d34-0410-b5e6-
96231b3b80d8
Jyotsna Verma [Tue, 20 Nov 2012 22:14:23 +0000 (22:14 +0000)]
Removing some unused instruction definitions from the Hexagon backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168388
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 20 Nov 2012 22:14:13 +0000 (22:14 +0000)]
Remove unused function argument, add a bit to the comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168387
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 20 Nov 2012 20:34:47 +0000 (20:34 +0000)]
Formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168384
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 20 Nov 2012 20:34:44 +0000 (20:34 +0000)]
Whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168383
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Bendersky [Tue, 20 Nov 2012 19:37:58 +0000 (19:37 +0000)]
Some sphinx-ing and consistency fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168380
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 20 Nov 2012 18:37:40 +0000 (18:37 +0000)]
Remove some dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168374
91177308-0d34-0410-b5e6-
96231b3b80d8
Joe Abbey [Tue, 20 Nov 2012 18:14:15 +0000 (18:14 +0000)]
Better 80cols... *sigh*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168373
91177308-0d34-0410-b5e6-
96231b3b80d8
Joe Abbey [Tue, 20 Nov 2012 17:51:08 +0000 (17:51 +0000)]
Fixing a broken link.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168372
91177308-0d34-0410-b5e6-
96231b3b80d8
Kostya Serebryany [Tue, 20 Nov 2012 14:16:08 +0000 (14:16 +0000)]
[asan] use names of globals instead of an external set to distinguish the globals generated by asan
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168368
91177308-0d34-0410-b5e6-
96231b3b80d8
Kostya Serebryany [Tue, 20 Nov 2012 13:11:32 +0000 (13:11 +0000)]
[asan] don't instrument linker-initialized globals even with external linkage in -asan-initialization-order mode
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168367
91177308-0d34-0410-b5e6-
96231b3b80d8
Kostya Serebryany [Tue, 20 Nov 2012 13:00:01 +0000 (13:00 +0000)]
[asan] make sure that linker-initialized globals (non-extern) are not instrumented even in -asan-initialization-order mode. This time with a test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168366
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Tue, 20 Nov 2012 12:36:27 +0000 (12:36 +0000)]
docs: Fix highlighting.
.git/config was marked as "bash" instead of "ini".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168365
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Tue, 20 Nov 2012 10:49:01 +0000 (10:49 +0000)]
llvm/test/ExecutionEngine/MCJIT/lit.local.cfg: ppc32-elf is not ready.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168364
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Tue, 20 Nov 2012 10:23:50 +0000 (10:23 +0000)]
Fix a place where the declaration didn't use LLVM_ENABLE_DUMP but the
definition did.
The last part of PR14324.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168363
91177308-0d34-0410-b5e6-
96231b3b80d8