Renato Golin [Sun, 25 Aug 2013 13:01:50 +0000 (13:01 +0000)]
Tests for ARM aligned access + reserved R9
Patch by Jeroen Hofstee.
llvm-svn: 189190
Elena Demikhovsky [Sun, 25 Aug 2013 12:54:30 +0000 (12:54 +0000)]
AVX-512: added UNPACK instructions and tests for all-zero/all-ones vectors
llvm-svn: 189189
Chandler Carruth [Sun, 25 Aug 2013 10:46:39 +0000 (10:46 +0000)]
Fix a bug where we would corrupt the offset when evaluating
a non-constant GEP.
I don't have any test case that demonstrates this, Nadav (indirectly)
pointed this out in code review. I'm not sure how possible it is to
contrive a test case for the current users of this code that triggers
the bad issue sadly.
llvm-svn: 189188
David Majnemer [Sun, 25 Aug 2013 09:18:19 +0000 (09:18 +0000)]
AsmPrinter: Get rid of llvm$workaround$fake$stub$
We currently emit labels with the prefix Lllvm$workaround$fake$stub$ if
the target's MCAsmInfo has getLinkOnceDirective() mapped to something
interesting. This was apparently a work around introduced in r31033 for
binutils that we don't need anymore.
llvm-svn: 189187
Reed Kotler [Sun, 25 Aug 2013 02:40:25 +0000 (02:40 +0000)]
Start to add the LLVM builtins to the mips16 exclusion lists for fp.
I need to add the rest of these to the list or else to delay putting
out the actual stub until later in code generation when I know if
the external function ever got emitted
Resubmit this patch. The target triple needs to be added to the test so that
clang does not tell the backend the wrong target when the host is BSD. There
is a clang bug in here somewhere that I need to track down. At Mips this
has been filed internally as a bug.
llvm-svn: 189186
Michael Han [Sun, 25 Aug 2013 01:29:56 +0000 (01:29 +0000)]
Fix comment.
llvm-svn: 189185
Howard Hinnant [Sat, 24 Aug 2013 21:31:37 +0000 (21:31 +0000)]
G M: Improve support for compilers not supporting defaulted functions.
llvm-svn: 189184
Saleem Abdulrasool [Sat, 24 Aug 2013 20:35:16 +0000 (20:35 +0000)]
[Support] fix compile with -Werror
error: commas at the end of enumerator lists are a C++11 extension
[-Werror,-Wc++11-extensions]
llvm-svn: 189183
Craig Topper [Sat, 24 Aug 2013 20:31:14 +0000 (20:31 +0000)]
Add hasSideEffects/mayLoad/mayStore flags to the X86 moffs8/moffs16/moffs32/moffs64 versions of move.
llvm-svn: 189182
Saleem Abdulrasool [Sat, 24 Aug 2013 20:14:54 +0000 (20:14 +0000)]
[PECOFF] support additional subsystem identifiers
This completes the subsystem name parsing to support the identifiers that the
Microsoft link.exe linker supports. "windows" and "console" are left as the
first items as they are the expected common paths.
Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
llvm-svn: 189181
Saleem Abdulrasool [Sat, 24 Aug 2013 20:14:40 +0000 (20:14 +0000)]
[Support] add missing enumeration values
This adds additional missing Windows subsystem identifiers to the
IMAGE_SUBSYSTEM enumeration.
Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
llvm-svn: 189180
Matt Arsenault [Sat, 24 Aug 2013 19:55:38 +0000 (19:55 +0000)]
Check if in set on insertion instead of separately
llvm-svn: 189179
Craig Topper [Sat, 24 Aug 2013 19:50:11 +0000 (19:50 +0000)]
Remove trailing whitespace.
llvm-svn: 189178
Tobias Grosser [Sat, 24 Aug 2013 17:58:59 +0000 (17:58 +0000)]
Remove unneeded comma and update formatting
llvm-svn: 189177
Shuxin Yang [Sat, 24 Aug 2013 17:53:16 +0000 (17:53 +0000)]
Revert 189161
llvm-svn: 189176
Renato Golin [Sat, 24 Aug 2013 14:44:41 +0000 (14:44 +0000)]
Add gcc ARM flags -munaligned-access / -mno-unaligned-access
clang already had a mstrict-align which mentiones "Force all memory
accesses to be aligned (ARM only)". On gcc arm this is controlled by
-munaligned-access / -mno-unaligned-access. Add the gcc versions to
the frontend and make -mstrict-align and alias to -mno-unaligned-access
and only show it in clang -cc1 -help.
Since the default value for unaligned accesses / strict alignment
depends on the tripple, both the enable and disable flags are added.
If both are set, the no-unaligned-access is used.
Patch by Jeroen Hofstee.
llvm-svn: 189175
Renato Golin [Sat, 24 Aug 2013 14:44:35 +0000 (14:44 +0000)]
Add the -ffixed-r9 flag for ARM.
This patch adds the -ffixed-r9 flag to clang to instruct llvm to
globally preserve the contents of r9. The flag is added to the newly
created ARM specific group.
While at it, also place marm / mno-thumb in that group.
Patch by Jeroen Hofstee.
llvm-svn: 189174
Jakub Staszak [Sat, 24 Aug 2013 14:16:00 +0000 (14:16 +0000)]
Remove trailing spaces.
llvm-svn: 189173
Benjamin Kramer [Sat, 24 Aug 2013 13:22:59 +0000 (13:22 +0000)]
This wasn't headers, just missing namespaces.
/me bows head in shame.
llvm-svn: 189172
Benjamin Kramer [Sat, 24 Aug 2013 13:16:22 +0000 (13:16 +0000)]
Add missing includes.
llvm-svn: 189171
Benjamin Kramer [Sat, 24 Aug 2013 13:12:34 +0000 (13:12 +0000)]
Replace compLocDecl with less_first.
llvm-svn: 189170
Benjamin Kramer [Sat, 24 Aug 2013 12:54:27 +0000 (12:54 +0000)]
Add a function object to compare the first or second component of a std::pair.
Replace instances of this scattered around the code base.
llvm-svn: 189169
Benjamin Kramer [Sat, 24 Aug 2013 12:15:54 +0000 (12:15 +0000)]
Simplify code. No functionality change.
llvm-svn: 189168
Benjamin Kramer [Sat, 24 Aug 2013 11:55:49 +0000 (11:55 +0000)]
DwarfDebug: Delete orphaned children.
Leak found by valgrind.
llvm-svn: 189167
David Majnemer [Sat, 24 Aug 2013 09:24:26 +0000 (09:24 +0000)]
Fix test, make the template type a const pointer.
llvm-svn: 189166
David Majnemer [Sat, 24 Aug 2013 08:21:10 +0000 (08:21 +0000)]
DebugInfo: Emit info for constant expressions in template arguments
Summary:
This allows us to handle the general case where a non-type template
argument evaluates to a constant expression which isn't integral or a
declaration.
This fixes PR16939.
Reviewers: dblaikie, rsmith
Reviewed By: dblaikie
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1453
llvm-svn: 189165
Michael Gottesman [Sat, 24 Aug 2013 07:25:21 +0000 (07:25 +0000)]
[autotools->cmake] Enable generation of doxygen documentation via cmake.
I am going to add in a subsequent patch support for generating the llvm
manpage.
llvm-svn: 189164
Jason Molenda [Sat, 24 Aug 2013 03:42:38 +0000 (03:42 +0000)]
Add Host/common/ProcessRunLock.cpp to the xcode project file so TOT sources build with xcode again.
llvm-svn: 189163
Dmitri Gribenko [Sat, 24 Aug 2013 01:50:41 +0000 (01:50 +0000)]
Added const qualifier to StringRef::edit_distance member function
Patch by Ismail Pazarbasi.
llvm-svn: 189162
Reed Kotler [Sat, 24 Aug 2013 01:24:44 +0000 (01:24 +0000)]
Start to add the builtind to the mips16 exclusion lists for fp.
I need to add the rest of these to the list or else to delay putting
out the actual stub until later in code generation when I know if
the external function ever got emitted.
llvm-svn: 189161
Justin Holewinski [Sat, 24 Aug 2013 01:17:23 +0000 (01:17 +0000)]
[NVPTX] Re-enable assembly printing support for inline assembly
This support was removed by accident during the MC conversion
llvm-svn: 189160
Rui Ueyama [Sat, 24 Aug 2013 00:39:10 +0000 (00:39 +0000)]
Separates /fixed (no .reloc section) and /dynamicbase (enable ASLR)
in order to match link.exe's behaviour.
Patch by Ron Ofir.
llvm-svn: 189159
Manman Ren [Sat, 24 Aug 2013 00:32:12 +0000 (00:32 +0000)]
DebugInfoFinder: handle imported entities of a CU.
llvm-svn: 189158
Hans Wennborg [Sat, 24 Aug 2013 00:24:15 +0000 (00:24 +0000)]
CMake: Support the LLVM_INSTALL_TOOLCHAIN_ONLY flag
llvm-svn: 189157
Hans Wennborg [Sat, 24 Aug 2013 00:22:23 +0000 (00:22 +0000)]
CMake: support the LLVM_INSTALL_TOOLCHAIN_ONLY flag
Differential Revision: http://llvm-reviews.chandlerc.com/D1498
llvm-svn: 189156
Hans Wennborg [Sat, 24 Aug 2013 00:20:36 +0000 (00:20 +0000)]
CMake: Add LLVM_INSTALL_TOOLCHAIN_ONLY option.
Differential Revision: http://llvm-reviews.chandlerc.com/D1428
llvm-svn: 189155
Jason Molenda [Sat, 24 Aug 2013 00:16:19 +0000 (00:16 +0000)]
Don't recommend using bytearray(buf, 'ascii') for binary data read with
SBProcess::ReadMemory - it will fail for anything with the high bit set.
llvm-svn: 189154
Richard Smith [Fri, 23 Aug 2013 22:49:47 +0000 (22:49 +0000)]
Add a FIXME.
llvm-svn: 189153
Larisse Voufo [Fri, 23 Aug 2013 22:21:36 +0000 (22:21 +0000)]
A clean-up pass, exploring the unification of traversals of class, variable and function templates.
llvm-svn: 189152
Rui Ueyama [Fri, 23 Aug 2013 22:06:29 +0000 (22:06 +0000)]
Fixes an additional temporary string use.
Patch by Ron Ofir.
llvm-svn: 189151
Shuxin Yang [Fri, 23 Aug 2013 22:01:03 +0000 (22:01 +0000)]
Add note about following two commands are no longer equivalent.
- "clang -O3 -flto a.c -c", and
- "clang -emit-llvm a.c -c"
Thank Rafael for tips.
llvm-svn: 189150
Rafael Espindola [Fri, 23 Aug 2013 21:49:00 +0000 (21:49 +0000)]
Don't imply -flto with -O4.
We now saturate at -O3.
llvm-svn: 189149
Shuxin Yang [Fri, 23 Aug 2013 21:34:57 +0000 (21:34 +0000)]
Driver::IsUsingLTO() no longer return true when seeing -emit-llvm.
One step toward differentiating following two commands:
clang -O3 -flto a.c -c, and
clang -O3 -emit-llvm a.c
Thanks many awesome folks for clarifying things.
llvm-svn: 189148
Tim Northover [Fri, 23 Aug 2013 21:10:37 +0000 (21:10 +0000)]
Check for "asserts" rather than "debug" on test
The debug flag being checked for seems to be controlled by whether the
build is asserts/non-asserts rather than debug/non-debug. Mostly these
correlate, but not necessarily.
As far as I can tell with various combinations of debug/assetions this
change makes no difference on autotools builds, but fixes a check-all
failure with CMake.
llvm-svn: 189147
Rafael Espindola [Fri, 23 Aug 2013 20:49:02 +0000 (20:49 +0000)]
Update test to use rdrnd instead of rdrand.
llvm-svn: 189146
Rafael Espindola [Fri, 23 Aug 2013 20:46:35 +0000 (20:46 +0000)]
Update tests to use sse4.2 instead of sse42.
llvm-svn: 189145
Rafael Espindola [Fri, 23 Aug 2013 20:39:19 +0000 (20:39 +0000)]
Replace more uses of sse41 with sse4.1.
llc using the host cpu features and *waning* on unknown features is probably
not a good thing :-(
llvm-svn: 189144
Rafael Espindola [Fri, 23 Aug 2013 20:27:02 +0000 (20:27 +0000)]
Update a test that I missed in the previous commit.
llvm-svn: 189143
Rafael Espindola [Fri, 23 Aug 2013 20:21:37 +0000 (20:21 +0000)]
Update now that llvm uses the same feature names as the driver.
llvm-svn: 189142
Rafael Espindola [Fri, 23 Aug 2013 20:21:34 +0000 (20:21 +0000)]
Rename features to match what gcc and clang use.
There is no advantage in being different and using the same names simplifies
clang a bit.
llvm-svn: 189141
Howard Hinnant [Fri, 23 Aug 2013 20:10:18 +0000 (20:10 +0000)]
Rename _LIBCPP_DEBUG2 to _LIBCPP_DEBUG.
llvm-svn: 189140
Shankar Easwaran [Fri, 23 Aug 2013 20:03:35 +0000 (20:03 +0000)]
[lld][ELF] Dont ignore zero sized sections.
There may be relocations that may be pointing to the section
even if the section sizes are 0. We shouldnot ignore them
for that regard.
llvm-svn: 189139
Shankar Easwaran [Fri, 23 Aug 2013 20:03:31 +0000 (20:03 +0000)]
[lld][ELF][Cleanup] Section associated with the relocation traversed
There is no change in functionality, this uses the defined way to access
the relocation section that belongs to a particular section.
llvm-svn: 189138
Shankar Easwaran [Fri, 23 Aug 2013 20:03:28 +0000 (20:03 +0000)]
[lld][ELF] Rename typeTLV content type for ELF
typeTLV content type is used by Darwin to represent thread local
storage. A new contentType has to be made to represent ELF
thread local storage data. These have been set to
- typeThreadZeroFill (represents TBSS storage)
- typeThreadData (represents TDATA storage)
llvm-svn: 189137
Shankar Easwaran [Fri, 23 Aug 2013 20:03:21 +0000 (20:03 +0000)]
[lld] handle typeZeroFill atoms in ELF/Native/YAML
BSS atoms dont take any file space in the Input file. They are associated
with a contentType(typeZeroFill). Similiar zero fill types also exist which
have the same meaning in terms of occupying file space in the Input.
These atoms have to be handled seperately when writing to the
lld's intermediate file or the lld test infrastructure.
Also adds a test.
llvm-svn: 189136
Howard Hinnant [Fri, 23 Aug 2013 19:03:36 +0000 (19:03 +0000)]
Remove _LIBCPP_DEBUG. This was my first attempt at debug mode for libc++, and is now obsoleted by _LIBCPP_DEBUG2 (which isn't finished).
llvm-svn: 189135
Peter Collingbourne [Fri, 23 Aug 2013 18:45:22 +0000 (18:45 +0000)]
[dfsan] Integration test for the equal-labels case
llvm-svn: 189134
Peter Collingbourne [Fri, 23 Aug 2013 18:45:06 +0000 (18:45 +0000)]
DataFlowSanitizer: correctly combine labels in the case where they are equal.
llvm-svn: 189133
DeLesley Hutchins [Fri, 23 Aug 2013 18:40:39 +0000 (18:40 +0000)]
Consumed analysis: change class name in test cases.
The name of a class used in the testing files was updated to actually
be descriptive. Patch by chris.wailes@gmail.com.
llvm-svn: 189132
Manman Ren [Fri, 23 Aug 2013 18:36:18 +0000 (18:36 +0000)]
DebugInfoFinder: handle template params of a DISubprogram.
llvm-svn: 189131
Hans Wennborg [Fri, 23 Aug 2013 18:28:10 +0000 (18:28 +0000)]
CMake: don't install tablegen
Since it's an llvm-internal tool, we shouldn't install it.
(This depends on Clang r189127 and lld r189128.)
llvm-svn: 189130
Hans Wennborg [Fri, 23 Aug 2013 18:20:47 +0000 (18:20 +0000)]
Rename CMake variable; this fell out of r189127 somehow.
llvm-svn: 189129
Hans Wennborg [Fri, 23 Aug 2013 18:18:13 +0000 (18:18 +0000)]
CMake: Don't look for llvm-tblgen when building outside LLVM tree
Previously, the CMake build would look for llvm-tblgen to determine
if a directory is an LLVM build or install directory. Since we don't
want to include llvm-tblgen in the install, look for llvm-config instead,
and use that to find llvm-tblgen.
(This is the lld equivalent of Clang r189127.)
llvm-svn: 189128
Hans Wennborg [Fri, 23 Aug 2013 18:05:24 +0000 (18:05 +0000)]
CMake: Don't look for llvm-tblgen when building outside LLVM tree
Previously, the CMake build would look for llvm-tblgen to determine
if a directory is an LLVM build or install directory. Since we don't
want to include llvm-tblgen in the install, look for llvm-config instead,
and use that to find llvm-tblgen.
Differential Revision: http://llvm-reviews.chandlerc.com/D1483
llvm-svn: 189127
Dmitri Gribenko [Fri, 23 Aug 2013 18:03:40 +0000 (18:03 +0000)]
Comment parsing: fix a bug where a line with whitespace between two paragraphs
would cause us to concatenate these paragraphs into a single one.
The no-op whitespace churn in test/Index test happened because these tests
don't use the correct approach for testing and are more strict than required
for they are testing.
llvm-svn: 189126
Hans Wennborg [Fri, 23 Aug 2013 17:59:13 +0000 (17:59 +0000)]
CMake: build llvm-config on Windows.
It was previously not being built on Windows because the cmake file relied
on a sed script to generate a .in file that llvm-config needs.
By using cmake's configure_file function, we can get rid off the sed hack,
and also have this work on Windows.
Differential Revision: http://llvm-reviews.chandlerc.com/D1481
llvm-svn: 189125
Andrew Trick [Fri, 23 Aug 2013 17:48:53 +0000 (17:48 +0000)]
PrintVRegOrUnit
llvm-svn: 189124
Andrew Trick [Fri, 23 Aug 2013 17:48:51 +0000 (17:48 +0000)]
Rename to RegPressure API parameters RegUnits.
llvm-svn: 189123
Andrew Trick [Fri, 23 Aug 2013 17:48:48 +0000 (17:48 +0000)]
Simplify RegPressure helpers.
llvm-svn: 189122
Andrew Trick [Fri, 23 Aug 2013 17:48:46 +0000 (17:48 +0000)]
Add a convenient PSetIterator for visiting pressure sets affected by a register.
llvm-svn: 189121
Andrew Trick [Fri, 23 Aug 2013 17:48:43 +0000 (17:48 +0000)]
Adds cyclic critical path computation and heuristics, temporarily disabled.
Estimate the cyclic critical path within a single block loop. If the
acyclic critical path is longer, then the loop will exhaust OOO
resources after some number of iterations. If lag between the acyclic
critical path and cyclic critical path is longer the the time it takes
to issue those loop iterations, then aggressively schedule for
latency.
llvm-svn: 189120
Dmitri Gribenko [Fri, 23 Aug 2013 17:48:41 +0000 (17:48 +0000)]
Fix indentation
llvm-svn: 189119
Andrew Trick [Fri, 23 Aug 2013 17:48:39 +0000 (17:48 +0000)]
MI Sched: record local vreg uses.
This will be used to compute the cyclic critical path and to
update precomputed per-node pressure differences.
In the longer term, it could also be used to speed up LiveInterval
update by avoiding visiting all global vreg users.
llvm-svn: 189118
Andrew Trick [Fri, 23 Aug 2013 17:48:36 +0000 (17:48 +0000)]
Remove unused field.
llvm-svn: 189117
Andrew Trick [Fri, 23 Aug 2013 17:48:33 +0000 (17:48 +0000)]
mi-sched: Don't call MBB.size() in initSUnits. The driver already has instr count.
This fixes a pathological compile time problem with very large blocks
and lots of scheduling boundaries.
llvm-svn: 189116
Dmitri Gribenko [Fri, 23 Aug 2013 17:45:43 +0000 (17:45 +0000)]
Use CharInfo.h routines in TextComment::isWhitespaceNoCache
llvm-svn: 189115
Howard Hinnant [Fri, 23 Aug 2013 17:37:05 +0000 (17:37 +0000)]
Debug mode for string. This commit also marks the first time libc++ debug-mode has found a bug (found one in regex). Had to play with extern templates a bit to get this to work since string is heavily used within libc++.dylib.
llvm-svn: 189114
Jordan Rose [Fri, 23 Aug 2013 16:12:49 +0000 (16:12 +0000)]
Revise -Wnewline-eof test per feedback from Dmitri.
llvm-svn: 189113
Robert Wilhelm [Fri, 23 Aug 2013 16:11:15 +0000 (16:11 +0000)]
Use pop_back_val() instead of both back() and pop_back().
No functionality change intended.
llvm-svn: 189112
Jim Cownie [Fri, 23 Aug 2013 15:51:37 +0000 (15:51 +0000)]
Checking commit access; added one space
llvm-svn: 189111
Jordan Rose [Fri, 23 Aug 2013 15:42:01 +0000 (15:42 +0000)]
Respect -Wnewline-eof even in C++11 mode.
If the user has requested this warning, we should emit it, even if it's not
an extension in the current language mode. However, being an extension is
more important, so prefer the pedantic warning or the pedantic-compatibility
warning if those are enabled.
<rdar://problem/
12922063>
llvm-svn: 189110
Joey Gouly [Fri, 23 Aug 2013 15:20:56 +0000 (15:20 +0000)]
[ARM] Fix another ARM FastISel -verify-machineinstrs issue.
llvm-svn: 189109
Daniel Jasper [Fri, 23 Aug 2013 15:14:03 +0000 (15:14 +0000)]
clang-format: Fix indentation relative to unary expressions.
This should be done, only if we are still in the unary expression's
scope.
Before:
bool aaaa = !
aaaaaaaa( // break
aaaaaaaaaaa);
*aaaaaa = aaaaaaa( // break
aaaaaaaaaaaaaaaa);
After:
bool aaaa = !
aaaaaaaa( // break
aaaaaaaaaaa); // <- (unchanged)
*aaaaaa = aaaaaaa( // break
aaaaaaaaaaaaaaaa); // <- (no longer indented relative to "*")
llvm-svn: 189108
Virgile Bello [Fri, 23 Aug 2013 12:44:05 +0000 (12:44 +0000)]
MingW compilation (windows). Includes various refactoring to improve portability.
llvm-svn: 189107
Daniel Sanders [Fri, 23 Aug 2013 12:21:25 +0000 (12:21 +0000)]
[mips][msa] Few MSA Builtins have side-effects. Added IntrNoMem to those that don't.
llvm-svn: 189106
Evgeniy Stepanov [Fri, 23 Aug 2013 12:13:18 +0000 (12:13 +0000)]
[msan] Extend VAArgTLSOverwrite test.
This test now covers LLVM r189104.
llvm-svn: 189105
Evgeniy Stepanov [Fri, 23 Aug 2013 12:11:00 +0000 (12:11 +0000)]
[msan] Fix handling of va_arg overflow area on x86_64.
The code was erroneously reading overflow area shadow from the TLS slot,
bypassing the local copy. Reading shadow directly from TLS is wrong, because
it can be overwritten by a nested vararg call, if that happens before va_start.
llvm-svn: 189104
Joey Gouly [Fri, 23 Aug 2013 12:01:13 +0000 (12:01 +0000)]
[ARMv8] Add CodeGen for VMAXNM/VMINNM.
llvm-svn: 189103
Daniel Jasper [Fri, 23 Aug 2013 11:57:34 +0000 (11:57 +0000)]
clang-format: Fix corner case for string splitting ..
.. in conjunction with Style.AlwaysBreakBeforeMultilineStrings. Also,
simplify the implementation by handling newly split strings and already
split strings by the same code.
llvm-svn: 189102
Andrea Di Biagio [Fri, 23 Aug 2013 11:53:55 +0000 (11:53 +0000)]
Add function attribute 'optnone'.
This function attribute indicates that the function is not optimized
by any optimization or code generator passes with the
exception of interprocedural optimization passes.
llvm-svn: 189101
Richard Sandiford [Fri, 23 Aug 2013 11:36:42 +0000 (11:36 +0000)]
[SystemZ] Add basic prefetch support
Just the instructions and intrinsics for now.
llvm-svn: 189100
Richard Sandiford [Fri, 23 Aug 2013 11:27:19 +0000 (11:27 +0000)]
[SystemZ] Try reversing comparisons whose first operand is in memory
This allows us to make more use of the many compare reg,mem instructions.
llvm-svn: 189099
Richard Sandiford [Fri, 23 Aug 2013 11:18:53 +0000 (11:18 +0000)]
[SystemZ] Prefer LHI;ST... over LAY;MV...
If we had a store of an integer to memory, and the integer and store size
were suitable for a form of MV..., we used MV... no matter what. We could
then have sequences like:
lay %r2, 0(%r3,%r4)
mvi 0(%r2), 4
In these cases it seems better to force the constant into a register
and use a normal store:
lhi %r2, 4
stc %r2, 0(%r3, %r4)
since %r2 is more likely to be hoisted and is easier to rematerialize.
llvm-svn: 189098
Richard Sandiford [Fri, 23 Aug 2013 10:27:02 +0000 (10:27 +0000)]
Turn MipsOptimizeMathLibCalls into a target-independent scalar transform
...so that it can be used for z too. Most of the code is the same.
The only real change is to use TargetTransformInfo to test when a sqrt
instruction is available.
The pass is opt-in because at the moment it only handles sqrt.
llvm-svn: 189097
Tim Northover [Fri, 23 Aug 2013 10:16:39 +0000 (10:16 +0000)]
ARM: make sure ARM-mode pseudo-inst requires IsARM
I'd forgotten that "Requires" blocks override rather than add to the
constraints, so my pseudo-instruction was being selected in Thumb mode leading
to nonsense instructions.
rdar://problem/
14817358
llvm-svn: 189096
Daniel Sanders [Fri, 23 Aug 2013 10:10:13 +0000 (10:10 +0000)]
[mips][msa] Split MSA128 regset into size-specific sets containing the same registers.
llvm-svn: 189095
Daniel Jasper [Fri, 23 Aug 2013 10:05:49 +0000 (10:05 +0000)]
clang-format: Handle trailing commas in column layout of braced list.
Before, this was causing errors.
Also exit early in breakProtrudingToken() (before the expensive call to
SourceManager::getSpellingColumnNumber()). This makes formatting huge
(100k+-item) braced lists possible.
llvm-svn: 189094
Robert Lytton [Fri, 23 Aug 2013 09:27:44 +0000 (09:27 +0000)]
correct test RUN parameters
llvm-svn: 189093
Alexey Samsonov [Fri, 23 Aug 2013 07:43:56 +0000 (07:43 +0000)]
Slightly improve lint checker script and fix a few style issues
llvm-svn: 189092
Alexey Samsonov [Fri, 23 Aug 2013 07:42:51 +0000 (07:42 +0000)]
80 cols
llvm-svn: 189091