Bill Wendling
024e24d7f3
Print out the target-independent attributes in a comment before the function definition.
...
llvm-svn: 179622
2013-04-16 20:55:47 +00:00
Richard Osborne
3bc2e6cf63
[XCore] Extend test to check positve offsets are folded into addresses.
...
llvm-svn: 179621
2013-04-16 20:05:52 +00:00
Richard Osborne
d8d60d4b61
[XCore] Give test more generic name.
...
I intend to extend the test with more offset folding checks
llvm-svn: 179620
2013-04-16 19:56:55 +00:00
Richard Osborne
53ec25c8fa
[XCore] Convert a couple of tests to FileCheck.
...
llvm-svn: 179619
2013-04-16 19:41:19 +00:00
Chad Rosier
9a757bb4ea
Remove unused variable from previous refactor.
...
llvm-svn: 179611
2013-04-16 18:20:10 +00:00
Chad Rosier
128e5ae5af
[ms-inline asm] Refactor. No functional change intended.
...
llvm-svn: 179610
2013-04-16 18:15:40 +00:00
Chad Rosier
0aff0eaab6
[ms-inline asm] Remove some dead code.
...
llvm-svn: 179607
2013-04-16 17:27:40 +00:00
Eli Bendersky
6bcfbc1d6e
Cleanup naming: DataLayout s/TD/DL/
...
llvm-svn: 179601
2013-04-16 15:41:18 +00:00
Logan Chien
dd22a5184e
Fix build failure introduced in 179591 when assertions are disabled.
...
llvm-svn: 179593
2013-04-16 14:02:30 +00:00
Logan Chien
6f13ff357d
Implement ARM unwind opcode assembler.
...
llvm-svn: 179591
2013-04-16 12:02:21 +00:00
Alexey Samsonov
8fcb809efb
llvm-objdump: Don't print contents of BSS sections: it makes no sense and crashes llvm-objdump on relocated objects with large bss
...
llvm-svn: 179589
2013-04-16 10:53:11 +00:00
Hans Wennborg
6c6c92e0af
Add four new functions and one new enum to the C API:
...
LLVMGetThreadLocalMode - exposes GlobalVariable::getThreadLocalMode
LLVMSetThreadLocalMode - exposes GlobalVariable::setThreadLocalMode
LLVMIsExternallyInitialized - exposes GlobalVariable::isExternallyInitialized
LLVMSetExternallyInitialized - exposes GlobalVariable::setExternallyInitialized
LLVMThreadLocalMode - maps to GlobalVariable::ThreadLocalMode
Patch by Moritz Maxeiner!
llvm-svn: 179588
2013-04-16 08:58:59 +00:00
Hans Wennborg
9311589e8d
simplifycfg: Fix integer overflow converting switch into icmp.
...
If a switch instruction has a case for every possible value of its type,
with the same successor, SimplifyCFG would replace it with an icmp ult,
but the computation of the bound overflows in that case, which inverts
the test.
Patch by Jed Davis!
llvm-svn: 179587
2013-04-16 08:35:36 +00:00
Jakob Stoklund Olesen
b4edc00933
Add 64-bit multiply and divide instructions for SPARC v9.
...
llvm-svn: 179582
2013-04-16 02:57:02 +00:00
Jim Grosbach
10785fcd52
ARM: Add VACLT and VACLE assembly aliases.
...
These are aliases for VACGT and VACGE, respectively, with the source
operands reversed.
rdar://13638090
llvm-svn: 179575
2013-04-15 22:42:50 +00:00
Bill Wendling
97863d4274
We are not able to bitcast a pointer to an integral value.
...
Two return types are not equivalent if one is a pointer and the other is an
integral. This is because we cannot bitcast a pointer to an integral value.
PR15185
llvm-svn: 179569
2013-04-15 22:33:50 +00:00
Jack Carter
6a3d1c59be
Mips assembler: Explicit floating point condition register recognition.
...
This patch allows the assembler to recognize $fcc0
as a valid register for conditional move instructions.
Corresponding test cases have been added.
Contributer: Vladimir Medic
llvm-svn: 179567
2013-04-15 22:21:55 +00:00
Nadav Rotem
cd793c55bf
Fix a grammar mistake, and add a line about the two phases that the BB/SLP vectorizers have (top-down and bottom-up).
...
llvm-svn: 179566
2013-04-15 22:21:25 +00:00
Nadav Rotem
7d5c664728
Fix the internal link.
...
llvm-svn: 179565
2013-04-15 22:11:07 +00:00
Nadav Rotem
bd23c18b1d
Update the release notes about the vectorizers.
...
llvm-svn: 179564
2013-04-15 22:10:39 +00:00
Nadav Rotem
40ad92b46d
SLPVectorizer: Make it a function pass and add code for hoisting the vector-gather sequence out of loops.
...
llvm-svn: 179562
2013-04-15 22:00:26 +00:00
Rafael Espindola
0c8ccca49b
Fix silly typo that broke big endian hosts.
...
llvm-svn: 179551
2013-04-15 20:13:59 +00:00
Rafael Espindola
9cf2c1eeb5
Fix endianness on some MSVC versions.
...
Looks like it was evaluating undef == undef to true.
llvm-svn: 179549
2013-04-15 19:28:45 +00:00
Tom Stellard
bd67f8cd81
R600/SI: Emit config values in register value pairs.
...
Instead of emitting config values in a predefined order, the code
emitter will now emit a 32-bit register index followed by the 32-bit
config value.
llvm-svn: 179546
2013-04-15 17:51:35 +00:00
Tom Stellard
a44e2e18a1
R600/SI: Emit configuration value in the .AMDGPU.config ELF section
...
llvm-svn: 179545
2013-04-15 17:51:30 +00:00
Tom Stellard
cb4468b00a
R600: Emit ELF formatted code rather than raw ISA.
...
llvm-svn: 179544
2013-04-15 17:51:21 +00:00
Jim Grosbach
1b2d956f84
Fix a typo in comment.
...
llvm-svn: 179542
2013-04-15 17:40:48 +00:00
Jim Grosbach
3c2cf9b6eb
Simplify the MCInst operator iterator declaration.
...
llvm-svn: 179541
2013-04-15 17:40:45 +00:00
John Criswell
f101677b3e
Grammar and punctuation fixes.
...
No content changes.
llvm-svn: 179540
2013-04-15 17:38:06 +00:00
Rafael Espindola
9b255d0066
Try to fix the mingw builds.
...
llvm-svn: 179536
2013-04-15 16:46:43 +00:00
Arnold Schwaighofer
a9354729cb
Fix bit size of v64i8 and v32i16 vector types.
...
Patch by Cameron McInally <cameron.mcinally@nyu.edu>.
llvm-svn: 179535
2013-04-15 16:11:25 +00:00
Rafael Espindola
75e5e1335a
Remove getters now that we can specialize structs on the host endianness.
...
llvm-svn: 179534
2013-04-15 16:08:02 +00:00
Tim Northover
b5dc8bb136
Avoid outputting temporary test file into source tree.
...
llvm-svn: 179532
2013-04-15 15:49:13 +00:00
Rafael Espindola
485be5761d
Remove unused function.
...
llvm-svn: 179530
2013-04-15 15:13:10 +00:00
Rafael Espindola
55f068deb0
Make the host endianness check an integer constant expression.
...
I will remove the isBigEndianHost function once I update clang.
The ifdef logic is designed to
* not use configure/cmake to avoid breaking -arch i686 -arch ppc.
* default to little endian
* be as small as possible
It looks like sys/endian.h is the preferred header on most modern BSD systems,
but it is better to change this in a followup patch as machine/endian.h is
available on FreeBSD, OpenBSD, NetBSD and OS X.
llvm-svn: 179527
2013-04-15 14:44:24 +00:00
Andy Gibbs
0e5a87325f
Replace uses of the deprecated std::auto_ptr with OwningPtr.
...
This is a rework of the broken parts in r179373 which were subsequently reverted in r179374 due to incompatibility with C++98 compilers. This version should be ok under C++98.
llvm-svn: 179520
2013-04-15 12:06:32 +00:00
Tim Northover
f8e799781e
Enable all targets by default on Visual Studio.
...
llvm-svn: 179518
2013-04-15 11:53:05 +00:00
Eric Christopher
2f014c4d8d
Revert "Recommit r179497 after fixing uninitialized variable." until
...
I can fix the testcases here:
http://lab.llvm.org:8011/builders/clang-native-arm-cortex-a9/builds/6952
This reverts commit r179512 due to testcases specifying triples
that they didn't actually mean and causing failures on other platforms.
llvm-svn: 179513
2013-04-15 07:31:37 +00:00
Eric Christopher
d78f751bfe
Recommit r179497 after fixing uninitialized variable.
...
llvm-svn: 179512
2013-04-15 07:07:21 +00:00
Nadav Rotem
0e89041496
Document our desire to enable the loop vectorizer on -Os in future releases.
...
llvm-svn: 179511
2013-04-15 05:56:55 +00:00
Nadav Rotem
9ab9988081
Docs: merge the description of the BB and SLP vectorizers and document the -fslp-vectorize-aggressive flag.
...
llvm-svn: 179510
2013-04-15 05:53:23 +00:00
Nadav Rotem
9360cf35a9
Add an option -vectorize-slp-aggressive for running the BB vectorizer. Make -fslp-vectorize run the slp-vectorizer.
...
llvm-svn: 179508
2013-04-15 05:39:58 +00:00
Nadav Rotem
4628b1562a
Rename the slp-vectorizer clang/llvm flags. No functionality change.
...
llvm-svn: 179505
2013-04-15 04:54:42 +00:00
Nadav Rotem
7ab2574900
SLPVectorizer: Add support for vectorizing trees that start at compare instructions.
...
llvm-svn: 179504
2013-04-15 04:25:27 +00:00
Jia Liu
09426bc1e1
fix include path in doc Extending LLVM
...
llvm-svn: 179503
2013-04-15 03:26:13 +00:00
Hal Finkel
75ee7f1dca
Mark all PPC comparison instructions as not having side effects
...
Now that the CR spilling issues have been resolved, we can remove the
unmodeled-side-effect attributes from the comparison instructions (and also
mark them as isCompare). By allowing these, by default, to have unmodeled side
effects, we were hiding problems with CR spilling; but everything seems much
happier now.
llvm-svn: 179502
2013-04-15 02:37:46 +00:00
Hal Finkel
371be65604
Fix PPC64 CR spill location for callee-saved registers
...
This fixes an ABI bug for non-Darwin PPC64. For the callee-saved condition
registers, the spill location is specified relative to the stack pointer (SP +
8). However, this is not relative to the SP after the new stack frame is
established, but instead relative to the caller's stack pointer (it is stored
into the linkage area of the parent's stack frame).
So, like with the link register, we don't directly spill the CRs with other
callee-saved registers, but just mark them to be spilled during prologue
generation.
In practice, this reverts r179457 for PPC64 (but leaves it in place for PPC32).
llvm-svn: 179500
2013-04-15 02:07:05 +00:00
Eric Christopher
d4e829416f
Revert "Remove some unused triple and data layout."
...
This reverts commit r179497 and the accompanying commit as it broke random platforms that aren't osx.
llvm-svn: 179499
2013-04-14 23:35:36 +00:00
Eric Christopher
ba040e7f36
Remove some unused triple and data layout.
...
llvm-svn: 179498
2013-04-14 23:32:44 +00:00
Eric Christopher
e186ac3fd1
If we've specified a triple on the command line then go ahead
...
and use that as the default triple for the module and target
data layout.
llvm-svn: 179497
2013-04-14 23:32:40 +00:00