Commit Graph

98464 Commits

Author SHA1 Message Date
Yuchen Wu
812ad83e58 llvm-cov: Split GCOVFile's read into GCNO and GCDA.
This splits the file-scope read() function into readGCNO() and
readGCDA(). Also broke file format read into functions that first read
the file type, then check the version.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196353 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-04 04:49:23 +00:00
Rafael Espindola
045d547516 Fix a funny typo.
Thanks for j`ey and Sean Silva for noticing it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196344 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-04 02:26:54 +00:00
Sean Silva
fe50a2661d [LangRef] Remove (non-normative) paragraph that doesn't make sense.
It appears to be referring to nonexistent entities. This must be a
carry-over from an older version of the document.

Patch by Mikael Lyngvig!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196342 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-04 02:19:25 +00:00
Rafael Espindola
d060bfc11e Produce deterministic coff files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196341 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-04 02:02:55 +00:00
Rafael Espindola
a61f9456a0 Add -mcpu=core2 to all llc invocations in this test.
Should fix the atom buildbot.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196340 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-04 01:25:24 +00:00
Juergen Ributzka
39be27fe30 [Stackmap] Specify the triple and cpu to fix the unit test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196339 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-04 01:02:37 +00:00
Juergen Ributzka
6abfcbdfc8 [Stackmap] Emit multi-byte nops for X86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196334 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-04 00:39:08 +00:00
Reed Kotler
4f47f014cd final patch for very long conditional branches for mips16 constant islands.
this completes the basic port of ARM constant islands to Mips16.
More testing, code review, cleanup is in order but basically everything
seems to be working. A bug in gas is preventing some of the runtime
testing but I hope to resolve this soon.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196331 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 23:42:51 +00:00
NAKAMURA Takumi
042795734d check-llvm: Ask llvm-config about assertion mode, instead of llc.
Add --assertion-mode to llvm-config. It emits ON or OFF according to NDEBUG.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196329 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 23:22:25 +00:00
NAKAMURA Takumi
e0c0a71531 utils/llvm-lit: Generate "llvm-lit.py" rather than "llvm-lit" on Win32 hosts to let llvm-lit.py --use-processes work.
llvm-lit needs suffix.py for multiprocess to find a main module.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196328 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 23:22:18 +00:00
Eric Christopher
d38749bec5 Update comment grammar and contents.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196323 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 22:05:55 +00:00
Rafael Espindola
b972f33cdd Use CHECK-LABEL to make this test more strict.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196321 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 21:12:36 +00:00
Rafael Espindola
21a9fd247e Fix mingw32 thiscall + sret.
Unlike msvc, when handling a thiscall + sret gcc will
* Put the sret in %ecx
* Put the this pointer is (%esp)

This fixes, for example, calling stringstream::str.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196312 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 20:51:23 +00:00
Michael Gottesman
3916f6c45a Fixed various whitespace/spelling/80+ issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196310 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 20:21:17 +00:00
Reid Kleckner
ca3da883b8 Return true on success in cl::ExpandResponseFiles
This fixes a logic bug pointed out by Juraj Ivancic.

No behavior change because none of the in-tree clients of
cl::ExpandResponseFiles check the return value.  In this case, the
@prefixed arguments are left in the command line.  Downstream command
line processing has the opportunity to emit errors about it, so this
isn't that bad.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196306 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 19:13:18 +00:00
Yuchen Wu
2575bc901b llvm-cov: Another fix to llvm-cov test.
Copy all test files to temporary directory, not just test.* files. Tests
didn't fail because the missing files occurred in XFAILS.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196305 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 19:05:03 +00:00
Timur Iskhodzhanov
aceff4a16e Fix a typo in a comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196304 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 18:57:43 +00:00
David Blaikie
445cfd70b9 Avoid buffer copies when a Twine already is a StringRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196301 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 18:18:28 +00:00
Yunzhong Gao
822a02fb4c Teach the internalize pass to skip dllexported symbols because they could be
referenced in a way that even the linker does not see.

Differential Revision: http://llvm-reviews.chandlerc.com/D2280



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196300 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 18:05:14 +00:00
Arnold Schwaighofer
df9c9da884 opt: Mirror vectorization presets of clang
clang enables vectorization at optimization levels > 1 and size level < 2. opt
should behave similarily.

Loop vectorization and SLP vectorization can be disabled with the flags
-disable-(loop/slp)-vectorization.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196294 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 16:33:06 +00:00
Timur Iskhodzhanov
ac07cd54ed Reland 196270 "Generalize debug info / EH emission in AsmPrinter"
Addressing the existense AMDGPUAsmPrinter and other subclasses of AsmPrinter

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196288 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 15:10:23 +00:00
NAKAMURA Takumi
94f5a677f6 llvm-config: With --build-mode, show ${CMAKE_CFG_INTDIR} on multiconfig builder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196283 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 14:35:17 +00:00
Renato Golin
5a10a7cccf Fix lit config for disabled MCJIT tests on ARM
Separating permanent from temporary targets, added the bug that
will fix the temporary (PR18057).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196274 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 13:48:28 +00:00
NAKAMURA Takumi
b5dd6691ca Revert r196270, "Generalize debug info / EH emission in AsmPrinter"
It broke CodeGen/R600 tests with +Asserts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196272 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 13:15:54 +00:00
Timur Iskhodzhanov
c6a2cbbacb Generalize debug info / EH emission in AsmPrinter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196270 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 12:05:18 +00:00
James Molloy
616c94ba87 Addrspacecasts are no-ops on ARM.
Testcase added.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196269 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 11:23:11 +00:00
Richard Sandiford
90a34679ef [SystemZ] Fix choice of known-zero mask in insertion optimization
The backend converts 64-bit ORs into subreg moves if the upper 32 bits
of one operand and the low 32 bits of the other are known to be zero.
It then tries to peel away redundant ANDs from the upper 32 bits.

Since AND masks are canonicalized to exclude known-zero bits,
the test ORs the mask and the known-zero bits together before
checking for redundancy.  The problem was that it was using the
wrong node when checking for known-zero bits, so could drop ANDs
that were still needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196267 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 11:01:54 +00:00
Michael Liao
239ffb30b0 Enhance the fix of PR17631
- The fix to PR17631 fixes part of the cases where 'vzeroupper' should
  not be issued before 'call' insn. There're other cases where helper
  calls will be inserted not limited to epilog. These helper calls do
  not follow the standard calling convention and won't clobber any YMM
  registers. (So far, all call conventions will clobber any or part of
  YMM registers.)
  This patch enhances the previous fix to cover more cases 'vzerosupper' should
  not be inserted by checking if that function call won't clobber any YMM
  registers and skipping it if so.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196261 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 09:17:32 +00:00
Renato Golin
07fc4841b1 Disable Remote MCJIT tests on ARM
The communication protocol is unstable on ARM when compiled
with Clang, which is disrupting the self-hosting buildbots that
are going to be added this week. I'm working on a solution, but
remote MCJIT is not high-priority for ARM at the moment, so it
might take a while.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196257 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 08:39:15 +00:00
Daniel Jasper
ee4dd7c8d4 Further fix to llvm-cov test.
It turns out that in some build systems, tests are executed in a
non-writable directory. Hopefully, this finally fixes the issue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196256 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 08:21:14 +00:00
Daniel Jasper
5e4142170e Fix llvm-cov test as suggested in r196228's post commit review.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196255 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 07:56:23 +00:00
Daniel Jasper
5004f51a33 Copy input files to test directory.
With r196184, llvm-cov creates a new file right next to the input file.
However, the Inputs-directory can't simply be assumed to be writable
under all build systems.

Also, this prevents a new source file from showing up in the source tree
if the test aborts before the call to "rm".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196228 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 07:35:32 +00:00
Bill Wendling
f0e1085591 Remove superfluous label.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196227 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 07:34:19 +00:00
Hao Liu
1296bb3ba6 [AArch64]Add missing floating point convert, round and misc intrinsics.
E.g. int64x1_t vcvt_s64_f64(float64x1_t a) -> FCVTZS Dd, Dn


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196210 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 06:06:55 +00:00
Hao Liu
5025a48f68 AArch64: add missing ACLE intrinsics mapping to general arithmetic operation from VFP instructions.
E.g. float64x1_t vadd_f64(float64x1_t a, float64x1_t b) -> FADD Dd, Dn, Dm.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196208 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 05:58:30 +00:00
NAKAMURA Takumi
6379a82d7c llvm-cov.test: Resurrect part of r194694 for win32 hosts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196207 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 05:40:25 +00:00
NAKAMURA Takumi
b26e6ecd8d Whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196203 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 05:28:27 +00:00
Hao Liu
3d69ff4d07 AArch64: Add missing scalar pair intrinsics.
E.g. "float32_t vaddv_f32(float32x2_t a)" to be matched into "faddp s0, v1.2s".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196198 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 03:39:47 +00:00
NAKAMURA Takumi
7af2eb1ab4 llvm/test/Transforms/SampleProfile/syntax.ll: Relax an expression, not to check locale-dependent message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196195 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 02:20:53 +00:00
Yuchen Wu
d25d7a5cd5 llvm-cov: Cleaned up print() function slightly.
Changed while to for loop. Removed unnecessary if statement.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196194 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 01:35:31 +00:00
Jiangning Liu
bbc450c5cf Add some missing pattern matches for AArch64 Neon intrinsics like vuqadd_s64 and friends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196192 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 01:33:52 +00:00
Jiangning Liu
7f1f8d4146 Add some missing pattern matches for AArch64 Neon intrinsics like vmull_high_n_s16 and friends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196190 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 01:29:32 +00:00
Rafael Espindola
387d4ea375 Don't set PrivateGlobalPrefix for NVPTX and R600.
These targets have special asm printers that don't use these.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196187 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 01:03:35 +00:00
Yuchen Wu
6cd7a3fa79 llvm-cov: Removed output to STDOUT/specified file.
Instead of asking the user to specify a single file to output coverage
info and defaulting to STDOUT, llvm-cov now creates files for each
source file with a naming system of: <source filename> + ".llcov".

This is what gcov does and although it can clutter the working directory
with numerous coverage files, it will be easier to hook the llvm-cov
output to tools which operate on this assumption (such as lcov).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196184 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 00:57:11 +00:00
Michael Gottesman
eae8ef479d Added MachineBlockFrequencyInfo::view for displaying the block frequency propagation graph via graphviz.
This is useful for debugging issues in the BlockFrequency implementation
since one can easily visualize where probability mass and other errors
occur in the propagation.

This is the MI version of r194654.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196183 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 00:49:33 +00:00
Eric Christopher
5b93ae5ab5 Refactor the handling of lexical block and inline scope ranges
into a single function. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196181 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 00:45:59 +00:00
Eric Christopher
5c21e864d9 Update doxygen tags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196180 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 00:45:56 +00:00
Eric Christopher
16df1b227c Reorder member function declarations to match source order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196179 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 00:45:54 +00:00
Eric Christopher
c2efbdbb60 Make ranges and range lists be a discrete entity that can be located
and emitted per function and CU. Begins coalescing ranges as a first
class entity through debug info. No functional change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196178 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 00:45:45 +00:00
Yuchen Wu
357fcf9d2e llvm-cov: Store blocks rather than counts per line.
Each line stores all the blocks that execute on that line, instead of
only storing the line counts previously accumulated. This provides more
information for each line, and will be useful for options in enabling
block and branch information.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@196177 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-03 00:38:21 +00:00