Commit Graph

94897 Commits

Author SHA1 Message Date
Daniel Dunbar
a417c84423 [lit] Make string encoding issues explicit.
llvm-svn: 187931
2013-08-07 23:09:55 +00:00
Daniel Dunbar
f1869550ea [tests] Make string encoding issues explicit.
llvm-svn: 187929
2013-08-07 23:09:24 +00:00
Daniel Dunbar
8eaee7acc3 [tests] Avoid deprecated except syntax.
llvm-svn: 187928
2013-08-07 23:09:10 +00:00
Hal Finkel
bdc7aa32c1 Add ISD::FROUND for libm round()
All libm floating-point rounding functions, except for round(), had their own
ISD nodes. Recent PowerPC cores have an instruction for round(), and so here I'm
adding ISD::FROUND so that round() can be custom lowered as well.

For the most part, this is straightforward. I've added an intrinsic
and a matching ISD node just like those for nearbyint() and friends. The
SelectionDAG pattern I've named frnd (because ISD::FP_ROUND has already claimed
fround).

This will be used by the PowerPC backend in a follow-up commit.

llvm-svn: 187926
2013-08-07 22:49:12 +00:00
Peter Collingbourne
efa9025062 DataFlowSanitizer; LLVM changes.
DataFlowSanitizer is a generalised dynamic data flow analysis.

Unlike other Sanitizer tools, this tool is not designed to detect a
specific class of bugs on its own.  Instead, it provides a generic
dynamic data flow analysis framework to be used by clients to help
detect application-specific issues within their own code.

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

llvm-svn: 187923
2013-08-07 22:47:18 +00:00
Daniel Dunbar
c0857e132c [lit] Report the traceback when config import fails.
llvm-svn: 187920
2013-08-07 21:43:34 +00:00
Daniel Dunbar
ffb7ba128b [lit] Avoid comparisons with None.
llvm-svn: 187919
2013-08-07 21:43:23 +00:00
Daniel Dunbar
3c1d742e14 [lit] Use list comprehensions instead of map().
llvm-svn: 187918
2013-08-07 21:43:17 +00:00
Daniel Dunbar
fa196394e8 [lit] Avoid deprecated dict.has_key() method.
llvm-svn: 187917
2013-08-07 21:43:12 +00:00
Eric Christopher
0cff1be367 Using the integrated assembler we'd fail to change section to the
.tbss section for zerofill thread locals. Make sure we do this
before emitting the zerofills.

Fixes PR15972.

llvm-svn: 187913
2013-08-07 21:13:06 +00:00
Eric Christopher
e1e6b4c0c0 Fix a FIXME, on darwin all virtual sections have a zerofill type.
llvm-svn: 187912
2013-08-07 21:13:01 +00:00
Reid Kleckner
bac8fb7396 On Windows, autolink advapi32 from Path.inc for CryptAcquireContextW
This allows llvm-tblgen to link successfully when compiling with clang.

Both MSBuild and CMake will automatically add advapi32 as part of a set
of other dlls comprising the win32 API to the link line, but CMake
doesn't do that when compiling with clang.  Until someone adds that info
to cmake upstream, this seems like a reasonable work around.

llvm-svn: 187907
2013-08-07 20:19:31 +00:00
Rafael Espindola
f1f91213ec Add the common begin/end naming convention to the coding standard.
llvm-svn: 187902
2013-08-07 19:34:37 +00:00
Eric Christopher
9b6f209c8c Move assert above first use of variable that we'd be asserting on.
llvm-svn: 187899
2013-08-07 18:51:09 +00:00
NAKAMURA Takumi
38dd5e35e8 lit/LitConfig.py: Fixup for msys bash.
llvm-svn: 187896
2013-08-07 17:21:23 +00:00
Andrew Trick
5cf2601ba8 Confusing comment typo.
llvm-svn: 187895
2013-08-07 17:20:32 +00:00
NAKAMURA Takumi
78313cfb19 Lit: Fixup in r187886.
llvm-svn: 187887
2013-08-07 12:53:53 +00:00
NAKAMURA Takumi
babe518ee1 Lit: Resurrect --no-execute dropped in r187852.
For now, builders in bb.pgr.jp are using it.

llvm-svn: 187886
2013-08-07 12:44:29 +00:00
Elena Demikhovsky
ae2624a373 AVX-512 set: Added BROADCAST instructions
with lowering logic and a test.

llvm-svn: 187884
2013-08-07 12:34:55 +00:00
Richard Sandiford
b6323e0b21 [SystemZ] Optimize floating-point comparisons with zero
This follows the same lines as the integer code.  In the end it seemed
easier to have a second 4-bit mask in TSFlags to specify the compare-like
CC values.  That eats one more TSFlags bit than adding a CCHasUnordered
would have done, but it feels more concise.

llvm-svn: 187883
2013-08-07 11:10:06 +00:00
Richard Sandiford
5960348422 [SystemZ] Add floating-point load-and-test instructions
These instructions can also be used as comparisons with zero.

llvm-svn: 187882
2013-08-07 11:03:34 +00:00
Benjamin Kramer
fbbec483df JumpThreading: Turn a select instruction into branching if it allows to thread one half of the select.
This is a common pattern coming out of simplifycfg generating gross code.

a:                                       ; preds = %entry
  %sel = select i1 %cmp1, double %add, double 0.000000e+00
  br label %b

b:
  %cond5 = phi double [ %sel, %a ], [ %sub, %entry ]
  %cmp6 = fcmp oeq double %cond5, 0.000000e+00
  br i1 %cmp6, label %if.then, label %if.end

becomes

a:
  br i1 %cmp1, label %b, label %if.then

b:
  %cond5 = phi double [ %sub, %entry ], [ %add, %a ]
  %cmp6 = fcmp oeq double %cond5, 0.000000e+00
  br i1 %cmp6, label %if.then, label %if.end

Skipping block b completely if possible.

llvm-svn: 187880
2013-08-07 10:29:38 +00:00
Chandler Carruth
eb37bbb5c2 Commit a no-op change to StringRef to (hopefully) trigger build bots.
r187874 seems to have been missed by the build bot infrastructure, and
the subsequent commits to compiler-rt don't seem to be queuing up new
build requsets. Hopefully this will.

As it happens, having the space here is the more common formatting. =]

llvm-svn: 187879
2013-08-07 09:52:34 +00:00
Chandler Carruth
0ac9f05175 Add support for linking against a curses library when available and
using it to detect whether or not a terminal supports colors. This
replaces a particularly egregious hack that merely compared the TERM
environment variable to "dumb". That doesn't really translate to
a reasonable experience for users that have actually ensured their
terminal's capabilities are accurately reflected.

This makes testing a terminal for color support somewhat more expensive,
but it is called very rarely anyways. The important fast path when the
output is being piped somewhere is already in place.

The global lock may seem excessive, but the spec for calling into curses
is *terrible*. The whole library is terrible, and I spent quite a bit of
time looking for a better way of doing this before convincing myself
that this was the fundamentally correct way to behave. The damage of the
curses library is very narrowly confined, and we continue to use raw
escape codes for actually manipulating the colors which is a much sane
system than directly using curses here (IMO).

If this causes trouble for folks, please let me know. I've tested it on
Linux and will watch the bots carefully. I've also worked to account for
the variances of curses interfaces that I could finde documentation for,
but that may not have been sufficient.

llvm-svn: 187874
2013-08-07 08:47:36 +00:00
Eric Christopher
e4c1a6601b Remove some parens. No functional change.
llvm-svn: 187872
2013-08-07 08:35:10 +00:00
Craig Topper
059c59a568 Simplify code. No functional change intended.
llvm-svn: 187870
2013-08-07 08:16:07 +00:00
Evgeniy Stepanov
c40b186c69 Initialize SIInsertWaits::ExpInstrTypesSeen in the pass constructor.
This value may be used uninitialized in SIInsertWaits::insertWait.
Found with MemorySanitizer.

llvm-svn: 187869
2013-08-07 07:47:41 +00:00
Dmitri Gribenko
0617132514 Remove the assertion for now. This breaks lld.
lld has a hashtable with StringRef keys; it needs to iterate over the keys in
*insertion* order.  This is currently implemented as std::vector<StringRef> +
DenseMap<StringRef, T>.  This will probably need a proper
DenseMapInfo<StringRef> if we don't want to lose memory/performance by
migrating to a different data structure.

llvm-svn: 187868
2013-08-07 07:12:08 +00:00
Elena Demikhovsky
9746d0ee1c LLVM Interpreter: MIPS tests should pass
llvm-svn: 187867
2013-08-07 06:13:21 +00:00
Dmitri Gribenko
b5e0b0c493 YAMLTraits.h: replace DenseMap that used a bad implementation of DenseMapInfo
for StringRef with a StringMap

The bug is that the empty key compares equal to the tombstone key.

Also added an assertion to DenseMap to catch similar bugs in future.

llvm-svn: 187866
2013-08-07 05:51:27 +00:00
Shuxin Yang
a9213839b0 Change public functions of LTOCodeGenerator from ret-false-on-succ to ret-true-on-succ.
As of this revision, all functions of LTOCodeGenerator are consistent in
ret-true-on-succ.

Tested on multiple OSes.

llvm-svn: 187864
2013-08-07 05:19:23 +00:00
Reed Kotler
30cf33a57e Create a pattern for the "trap" instruction.
llvm-svn: 187863
2013-08-07 04:00:26 +00:00
Daniel Dunbar
5a2d7118d8 [lit] Use py2&3 compatible exec() syntax.
llvm-svn: 187862
2013-08-07 03:25:28 +00:00
Daniel Dunbar
e3dc2d9d07 [lit] Use newer StringIO class.
llvm-svn: 187861
2013-08-07 03:24:20 +00:00
Daniel Dunbar
1e8b8bb858 [lit] Use modern absolute/relative import style.
llvm-svn: 187860
2013-08-07 03:23:12 +00:00
Daniel Dunbar
cf8cfa0363 [lit] Avoid __cmp__ and cmp().
llvm-svn: 187859
2013-08-07 03:22:02 +00:00
Daniel Dunbar
fc509b862e [lit] Avoid use of iterator .next() method.
llvm-svn: 187858
2013-08-07 03:20:54 +00:00
Daniel Dunbar
7564b3cf78 [lit] Use .write() methods instead of print statement.
llvm-svn: 187857
2013-08-07 03:19:45 +00:00
Daniel Dunbar
37517bad59 [lit] Use dual-compatible print() syntax where possible.
llvm-svn: 187856
2013-08-07 03:18:36 +00:00
Daniel Dunbar
80d4f31c0c [lit] Remove use of deprecated parameter tuple unpacking.
llvm-svn: 187855
2013-08-07 03:17:27 +00:00
Daniel Dunbar
34f64801d5 [lit] Remove uses of deprecated except syntax.
- Since we only have a few of these, use the cumbersome method of getting the
   exception object from 'sys' to retain the current pre-2.6 compatibility.

llvm-svn: 187854
2013-08-07 03:16:19 +00:00
Daniel Dunbar
44d0ad7767 [lit] Use more modern syntax for constructing exceptions.
llvm-svn: 187853
2013-08-07 03:15:10 +00:00
Daniel Dunbar
156c1522d4 [lit] Drop --no-execute, which isn't generally useful.
llvm-svn: 187852
2013-08-07 03:14:00 +00:00
Daniel Dunbar
203a7afc3e [lit] tests: Change discovery test to use --show-tests.
llvm-svn: 187851
2013-08-07 03:12:51 +00:00
Daniel Dunbar
25a6834c07 [lit] Add a --show-tests option.
llvm-svn: 187850
2013-08-07 03:11:42 +00:00
Daniel Dunbar
72b3c08693 [lit] Remove dead ignoreStdError argument.
llvm-svn: 187849
2013-08-07 03:08:46 +00:00
Alexander Kornienko
220f2326c6 Disabled columnWidth test for OSX, need someone with Mac to deal with this effectively.
llvm-svn: 187848
2013-08-07 02:08:31 +00:00
Alexander Kornienko
7963f834a9 Use correct platform detection macro: __MACOSX__ -> __APPLE__
llvm-svn: 187847
2013-08-07 01:23:28 +00:00
Reid Kleckner
6f129a9240 Fix boolean logic in LockFileManager and test it
This fixes a bug from r187826.

Reviewers: hans

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

llvm-svn: 187846
2013-08-07 01:22:04 +00:00
Reid Kleckner
a642cec078 Avoid using alloca in Windows/Program.inc
One use needs to copy the alloca into a std::string, and the other use
is before calling CreateProcess, which is very heavyweight anyway.

llvm-svn: 187845
2013-08-07 01:21:33 +00:00