Robert Lytton
9715375c25
XCore target: fix bug in XCoreLowerThreadLocal.cpp
...
When a ConstantExpr which uses a thread local is part of a PHI node
instruction, the insruction that replaces the ConstantExpr must
be inserted in the predecessor block, in front of the terminator instruction.
If the predecessor block has multiple successors, the edge is first split.
llvm-svn: 192432
2013-10-11 10:26:48 +00:00
Robert Lytton
3139db02c8
XCore target: add XCoreTargetLowering::isZExtFree()
...
llvm-svn: 192431
2013-10-11 10:26:29 +00:00
Daniel Sanders
d7103f3187
[mips][msa] Added support for matching fmadd.[wd] from normal IR (i.e. not intrinsics)
...
llvm-svn: 192430
2013-10-11 10:14:25 +00:00
Daniel Sanders
015972bd95
[mips][msa] Added support for matching ffint_[us].[wd], and ftrunc_[us].[wd] from normal IR (i.e. not intrinsics)
...
llvm-svn: 192429
2013-10-11 10:00:06 +00:00
Alexey Samsonov
9d8385453b
[Sanitizer] Simplify StackTrace::FastUnwindStack interface and fix a bug with one-frame stack traces
...
llvm-svn: 192428
2013-10-11 09:58:30 +00:00
Rui Ueyama
8e5c2788f6
Simplify unique_ptr instantiation. No functionality change.
...
llvm-svn: 192427
2013-10-11 07:42:08 +00:00
Tobias Grosser
49457d2767
Move to CLooG 0.18.1 and isl 0.12.1
...
llvm-svn: 192426
2013-10-11 07:38:50 +00:00
Craig Topper
81034928c6
Remove another unnecessary filter from the disassembler.
...
llvm-svn: 192425
2013-10-11 06:59:57 +00:00
Rui Ueyama
2ad117db97
Propagate Resolver::resolveUndefines()'s failure to caller.
...
llvm-svn: 192424
2013-10-11 06:26:16 +00:00
Rui Ueyama
f1e266846d
Remove excessive allowRemainingUndefines() check.
...
allowRemainingUndefines() is already checked in Resolver::resolve(), so we
don't need to check it again after returning from it. It's actually not only
superfluous but buggy because a failure of resolve() does not always mean that
there is a remaining undefines.
llvm-svn: 192423
2013-10-11 06:16:35 +00:00
Rui Ueyama
ee366042e9
Return true from Resolver::resolve() on success.
...
llvm-svn: 192422
2013-10-11 06:16:33 +00:00
NAKAMURA Takumi
d5d16d57eb
LiveRangeCalc.h: Update a description corresponding to r192396. [-Wdocumentation]
...
llvm-svn: 192421
2013-10-11 04:52:03 +00:00
Jason Molenda
7b54a4cfeb
Expand some embedded tab chars to spaces - no changes other than whitespace.
...
llvm-svn: 192420
2013-10-11 04:29:38 +00:00
Douglas Gregor
71fe0e8a83
Diagnose by-copy captures of abstract classes.
...
Fixes <rdar://problem/14468891>.
llvm-svn: 192419
2013-10-11 04:25:21 +00:00
Rui Ueyama
ced511b7c1
Replace a recursive tail call with an infinite loop.
...
This eliminates _elements's size check from the loop.
llvm-svn: 192418
2013-10-11 04:20:29 +00:00
Nick Lewycky
ce6a4aacb4
The emitted IR is the same, we need these flags to actually use the LLVM target.
...
Mark it as requiring the x86 target.
llvm-svn: 192417
2013-10-11 03:52:43 +00:00
Rui Ueyama
a4770543f1
Remove an unused variable added in r192415.
...
llvm-svn: 192416
2013-10-11 03:51:19 +00:00
Rui Ueyama
d542b9e53a
Use switch instead of if, and handle all enum values.
...
This patch also handles errors other than no_more_files error. They were silently
ignored.
llvm-svn: 192415
2013-10-11 03:48:06 +00:00
Shankar Easwaran
80c33aa3d7
Fix return after llvm_unreachable
...
llvm-svn: 192414
2013-10-11 03:41:24 +00:00
Nick Lewycky
3a410fe085
Add -fno-function-sections and -fno-data-sections. Since
...
-f{function,data}-sections had no tests at all, add some, and verify that the
-fno variants work as well.
llvm-svn: 192413
2013-10-11 03:35:10 +00:00
Nick Lewycky
609dd6671d
Fix typo in comment. No functionality change.
...
llvm-svn: 192412
2013-10-11 03:33:53 +00:00
Kevin Qin
f22bf50443
Implemented aarch64 SIMD copy related ACLE intrinsic :
...
vget_lane, vset_lane, vcopy_lane, vcreate, vdup_n, vdup_lane, vmov_n.
llvm-svn: 192411
2013-10-11 02:34:30 +00:00
Kevin Qin
a89e7a0e1c
Implement aarch64 neon instruction set AdvSIMD (copy).
...
llvm-svn: 192410
2013-10-11 02:33:55 +00:00
Shankar Easwaran
bcf36560fd
[ELF] Fix Atoms in the same file had overlapping ordinals.
...
This also reverts the LayoutPass to use std::sort as all files
have an ordinal now.
llvm-svn: 192409
2013-10-11 01:50:04 +00:00
Ed Maste
04a8bab047
Support mips shared object debug info
...
MIPS's .dyanamic section is read-only. Instead of using DT_DEBUG for
the pointer to dyld information it uses a separate tag DT_MIPS_RLD_MAP
which points to storage in the read-write .rld_map section, which in
turn points to the dyld information.
Review: http://llvm-reviews.chandlerc.com/D1890
llvm-svn: 192408
2013-10-11 01:16:08 +00:00
Fariborz Jahanian
9218f5178d
ObjectiveC migrator. When migrating to NS_ENUM/NS_OPTIONS,
...
don't leave a blank line behind replacing the typedef
decl. // rdar://15200949
llvm-svn: 192407
2013-10-10 23:57:58 +00:00
Matt Arsenault
1408b60291
Fix typo
...
llvm-svn: 192406
2013-10-10 23:05:37 +00:00
Hans Wennborg
052807aa79
clang-cl: simplify the -m32 -m64 test
...
This was just broken.
llvm-svn: 192405
2013-10-10 23:04:06 +00:00
Matthias Braun
b98a950cc6
Tests: Do not unnecessarily depend on kill comments
...
llvm-svn: 192404
2013-10-10 22:37:49 +00:00
Matthias Braun
72d3607d3c
Tests: Use CHECK-LABEL where possible
...
llvm-svn: 192403
2013-10-10 22:37:47 +00:00
Hans Wennborg
65a008683f
clang-cl: Expose the -m32 and -m64 command-line options
...
And add a test to check that they work.
llvm-svn: 192402
2013-10-10 22:36:20 +00:00
Rui Ueyama
b916e84672
Fix typo
...
llvm-svn: 192401
2013-10-10 22:29:48 +00:00
Jason Molenda
e65c0feb76
Document the QEnvironmentHexEncoded packet, and explain why it is
...
often preferable to use this instead of QEnvironment.
llvm-svn: 192400
2013-10-10 22:02:09 +00:00
Fariborz Jahanian
8bcf182b9d
ObjectiveC. ObjectiveC's collection selector expression in
...
the fereach loop must be a non-const lvalue expression as
it will be assigned to at the beginning of the loop.
// rdar://15123684
llvm-svn: 192399
2013-10-10 21:58:04 +00:00
Matthias Braun
f6fe6bfffe
Print register in LiveInterval::print()
...
llvm-svn: 192398
2013-10-10 21:29:05 +00:00
Matthias Braun
34e1be9451
Represent RegUnit liveness with LiveRange instance
...
Previously LiveInterval has been used, but having a spill weight and
register number is unnecessary for a register unit.
llvm-svn: 192397
2013-10-10 21:29:02 +00:00
Matthias Braun
2d5c32b3b5
Work on LiveRange instead of LiveInterval where possible
...
Also change some pointer arguments to references at some places where
0-pointers are not allowed.
llvm-svn: 192396
2013-10-10 21:28:57 +00:00
Matthias Braun
364e6e9072
Change MachineVerifier to work on LiveRange + LiveInterval
...
llvm-svn: 192395
2013-10-10 21:28:54 +00:00
Matthias Braun
88dd0abd2d
Pass LiveQueryResult by value
...
This makes the API a bit more natural to use and makes it easier to make
LiveRanges implementation details private.
llvm-svn: 192394
2013-10-10 21:28:52 +00:00
Matthias Braun
d7df935bbc
Refactor LiveInterval: introduce new LiveRange class
...
LiveRange just manages a list of segments and a list of value numbers
now as LiveInterval did previously, but without having details like spill
weight or a fixed register number.
LiveInterval is now a subclass of LiveRange and simply adds the spill weight
and the register number.
llvm-svn: 192393
2013-10-10 21:28:47 +00:00
Matthias Braun
13ddb7cd65
Rename LiveRange to LiveInterval::Segment
...
The Segment struct contains a single interval; multiple instances of this struct
are used to construct a live range, but the struct is not a live range by
itself.
llvm-svn: 192392
2013-10-10 21:28:43 +00:00
Matthias Braun
1965bfa4c7
Rename parameter: defined regs are not incoming.
...
llvm-svn: 192391
2013-10-10 21:28:38 +00:00
Mark Lacey
2345575db3
Make CodeGenTypes data members private.
...
No functionality differences.
llvm-svn: 192390
2013-10-10 20:57:00 +00:00
Sriram Murali
34e37f0cc7
test commit
...
- fix comments on vector type legalization
llvm-svn: 192389
2013-10-10 20:24:53 +00:00
Ed Maste
d616c97a81
Update comment (MIPS also has 32-bit opcodes)
...
llvm-svn: 192388
2013-10-10 19:17:07 +00:00
Ed Maste
1b475f1691
Initial FreeBSD mips64 ProcessMonitor support
...
Committing early to ease tracking other ongoing POSIX changes.
Review: http://llvm-reviews.chandlerc.com/D1886
llvm-svn: 192387
2013-10-10 19:14:55 +00:00
Matt Arsenault
a98c3b1816
Use getPointerSizeInBits() rather than 8 * getPointerSize()
...
llvm-svn: 192386
2013-10-10 19:09:05 +00:00
Tom Stellard
f21e3ea972
Port pocl's gen_convert.py script to libclc
...
This script generates implementations for the entire set of convert_*
functions,
llvm-svn: 192385
2013-10-10 19:09:01 +00:00
Tom Stellard
436bf70519
Implement sign() builtin
...
llvm-svn: 192384
2013-10-10 19:08:56 +00:00
Tom Stellard
6c7b86c106
Implement nextafter() builtin
...
There are two implementations of nextafter():
1. Using clang's __builtin_nextafter. Clang replaces this builtin with
a call to nextafter which is part of libm. Therefore, this
implementation will only work for targets with an implementation of
libm (e.g. most CPU targets).
2. The other implementation is written in OpenCL C. This function is
known internally as __clc_nextafter and can be used by targets that
don't have access to libm.
llvm-svn: 192383
2013-10-10 19:08:51 +00:00