Rafael Espindola
ff233c9e5c
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
2012-11-24 04:33:48 +00:00
Rafael Espindola
7f74d2c2c1
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
2012-11-24 03:10:54 +00:00
Rafael Espindola
529a01df02
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
2012-11-24 02:18:49 +00:00
Rafael Espindola
28c9ea3c13
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
2012-11-24 02:01:08 +00:00
Benjamin Kramer
4ccb49a838
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
2012-11-23 19:17:06 +00:00
Craig Topper
5d1e089eaa
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
2012-11-23 18:38:31 +00:00
Rafael Espindola
985884caf9
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
2012-11-23 17:37:34 +00:00
Rafael Espindola
c8fec7e21f
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
2012-11-23 16:59:41 +00:00
Patrik Hägglund
834518f1ce
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
2012-11-23 14:51:42 +00:00
Bill Wendling
b46702c800
Update call to the new syntax.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168512 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-23 11:05:35 +00:00
Joey Gouly
f284aefa11
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
2012-11-23 10:47:35 +00:00
Patrik Hägglund
d5f03186e5
Cleanup: Simplify loop end logic in computeRegisterProperties().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168507 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-23 08:35:04 +00:00
Venkatraman Govindaraju
e84b47e41c
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
2012-11-22 22:14:48 +00:00
Rafael Espindola
99ba589434
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
2012-11-22 16:43:44 +00:00
Meador Inge
6098c6b56b
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
2012-11-22 15:36:42 +00:00
NAKAMURA Takumi
d59c07255e
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
2012-11-22 14:18:25 +00:00
Eli Bendersky
9f696c8157
Fix 80-col violation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168498 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-22 14:10:40 +00:00
NAKAMURA Takumi
f6dae76bb9
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
2012-11-22 13:18:37 +00:00
Dmitri Gribenko
bbef5ead4c
Documentation: convert SourceLevelDebugging.html to reST
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168493 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-22 11:56:02 +00:00
Chandler Carruth
7a3b7e5efc
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
2012-11-22 11:17:08 +00:00
Ted Kremenek
7462c12855
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
2012-11-22 07:48:52 +00:00
Lang Hames
b47ec4087c
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
2012-11-22 03:31:45 +00:00
Kostya Serebryany
b9a12ea0fd
[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
2012-11-22 03:18:50 +00:00
Eric Christopher
4117bec41b
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
2012-11-22 00:59:49 +00:00
Preston Briggs
72a2c0622a
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
2012-11-21 23:50:04 +00:00
Jack Carter
198ad916d7
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
2012-11-21 23:38:59 +00:00
Eli Bendersky
17ced4521f
Fix a typo in FileCheck.rst
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168466 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-21 22:40:52 +00:00
Akira Hatanaka
f09a03776d
[mips] Generate big GOT code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168460 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-21 20:40:38 +00:00
Andrew Kaylor
238f34a706
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
2012-11-21 20:38:26 +00:00
Akira Hatanaka
d43e06de59
[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
2012-11-21 20:30:40 +00:00
Akira Hatanaka
6b28b80791
[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
2012-11-21 20:26:38 +00:00
Akira Hatanaka
81784cb374
[mips] Add command line option "-mxgot".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168455 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-21 20:21:11 +00:00
Akira Hatanaka
59be760f61
[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
2012-11-21 20:16:34 +00:00
Jyotsna Verma
b546d5a30d
Add new predicates for the immediate operands.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168451 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-21 20:05:09 +00:00
Akira Hatanaka
26e6ad7b29
[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
2012-11-21 19:59:51 +00:00
Jyotsna Verma
81081b16ef
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
2012-11-21 19:53:42 +00:00
Akira Hatanaka
e390434251
Add relocations used for mips big GOT.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168448 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-21 19:50:22 +00:00
Preston Briggs
d6f048959a
test commit: added a few comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168445 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-21 18:53:19 +00:00
Andrew Kaylor
34519fc11d
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
2012-11-21 18:50:33 +00:00
Anton Korobeynikov
0ae6124034
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
2012-11-21 17:28:27 +00:00
Anton Korobeynikov
6cbeb4d839
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
2012-11-21 17:23:03 +00:00
Rafael Espindola
6ee1e0867d
Finish the renaming.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168437 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-21 16:56:33 +00:00
Jyotsna Verma
24d5025d8d
Renamed HexagonImmediates.td -> HexagonOperands.td.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168434 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-21 16:28:18 +00:00
NAKAMURA Takumi
4bf4c738e8
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
2012-11-21 14:46:18 +00:00
Rafael Espindola
811a837609
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
2012-11-21 14:17:23 +00:00
Chandler Carruth
07df765e65
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
2012-11-21 08:16:30 +00:00
Craig Topper
9648782552
Fix execution domain for packed FMA4 instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168417 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-21 08:08:21 +00:00
Craig Topper
3dcefc864e
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
2012-11-21 05:36:24 +00:00
Jakub Staszak
e845cedf4d
Make calcLiveInMask method static.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168409 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-21 00:59:34 +00:00
Jakub Staszak
6f05f21857
Make isScratchReg and isFPCopy methods static.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168407 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-21 00:50:57 +00:00