| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current VSX feature for PowerPC specifies availability of the VSX
instructions added with the 2.06 architecture version. With 2.07, the
architecture adds new instructions to both the Category:Vector and
Category:VSX instruction sets. Additionally, unaligned vector storage
operations have improved performance.
This patch adds a feature to provide access to the new instructions
and performance capabilities of Power8. For compatibility with GCC,
the feature is controlled via a new -mpower8-vector switch, and the
feature causes the __POWER8_VECTOR__ builtin define to be generated by
the preprocessor.
There is a companion patch for llvm being committed at the same time.
llvm-svn: 219502
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current VSX feature for PowerPC specifies availability of the VSX
instructions added with the 2.06 architecture version. With 2.07, the
architecture adds new instructions to both the Category:Vector and
Category:VSX instruction sets. Additionally, unaligned vector storage
operations have improved performance.
This patch adds a feature to provide access to the new instructions
and performance capabilities of Power8. For compatibility with GCC,
the feature is controlled via a new -mpower8-vector switch, and the
feature causes the __POWER8_VECTOR__ builtin define to be generated by
the preprocessor.
There is a companion patch for cfe being committed at the same time.
llvm-svn: 219501
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5084
llvm-svn: 219500
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5661
llvm-svn: 219499
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5062
llvm-svn: 219498
|
| |
|
|
|
|
| |
Also remove some unnecessary virtual keywords. NFC.
llvm-svn: 219497
|
| |
|
|
|
|
|
|
|
|
|
| |
cmake/config-ix.cmake: Enabled building of asan for mipsel arch
test/asan/CMakeLists.txt: Enabled testing of asan for mipsel
Patch by Kumar Sukhani
Differential Revision: http://reviews.llvm.org/D5615
llvm-svn: 219496
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5049
llvm-svn: 219495
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5045
llvm-svn: 219494
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5027
llvm-svn: 219493
|
| |
|
|
| |
llvm-svn: 219492
|
| |
|
|
| |
llvm-svn: 219491
|
| |
|
|
|
|
| |
Moved CGOpenMPRegionInfo from CGOpenMPRuntime.h to CGOpenMPRuntime.cpp file and reworked the code for this change. Also added processing of ThreadID variable passed as an argument in outlined functions in parallel and task directives.
llvm-svn: 219490
|
| |
|
|
| |
llvm-svn: 219488
|
| |
|
|
|
|
| |
Saves a couple of expensive deep copies. NFC.
llvm-svn: 219487
|
| |
|
|
|
|
| |
This patch makes class OMPPrivateScope a common class for all private variables. Reworked processing of firstprivate variables (now it is based on OMPPrivateScope too).
llvm-svn: 219486
|
| |
|
|
|
|
| |
by value having cleared the sign bit.
llvm-svn: 219485
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is dangerous for numerous reasons. The primary risk here is with
floating point or double types where if the wrong header files are
included in a strange order this can implicitly convert to integers and
then call the C abs function on the integers. There is a secondary risk
that even impacts integers where if the namespace the code is written in
ever defines an abs overload for types within that namespace the global
abs will be hidden. The correct form is to call std::abs or write 'using
std::abs' for builtin types (and only the latter is correct in any
generic context).
I've also added the requisite header to be a bit more explicit here.
llvm-svn: 219484
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5708
llvm-svn: 219483
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5666
llvm-svn: 219482
|
| |
|
|
|
|
| |
Related revision: http://reviews.llvm.org/D5670
llvm-svn: 219481
|
| |
|
|
| |
llvm-svn: 219480
|
| |
|
|
|
|
|
|
|
|
| |
We, I suppose naïvely, believed the COFF specification with regard to
auxiliary symbol records which defined sections: they specified that the
symbol value should be zero. However, dumpbin and MinGW's objdump do
not consider the symbol value as a restriction. Relaxing this allows us
to properly dump MinGW linked executables.
llvm-svn: 219479
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5670
llvm-svn: 219478
|
| |
|
|
|
|
| |
DwarfCompileUnit.
llvm-svn: 219477
|
| |
|
|
|
|
| |
DwarfCompileUnit.
llvm-svn: 219476
|
| |
|
|
| |
llvm-svn: 219475
|
| |
|
|
|
|
|
|
| |
to what we actually want ilogb implementation. This makes everything
*much* easier to deal with and is actually what we want when using it
anyways.
llvm-svn: 219474
|
| |
|
|
| |
llvm-svn: 219473
|
| |
|
|
|
|
|
| |
Windows can't use -no-integrated-as, so split these tests out into a
separate file and XFAIL them for win32,win64.
llvm-svn: 219472
|
| |
|
|
|
|
| |
to implement complex division in the constant folder of Clang.
llvm-svn: 219471
|
| |
|
|
|
|
| |
the try block.
llvm-svn: 219470
|
| |
|
|
|
|
|
|
|
| |
lvi-overdefined-BB-threshold and lvi-overdefined-threshold"
Some of r218231 was reverted with the code that used it in r218971, but not all
of it. This removes the rest (which is now dead).
llvm-svn: 219469
|
| |
|
|
| |
llvm-svn: 219468
|
| |
|
|
|
|
|
|
| |
It turns out that this was never used. Instead we just use the
IPHONEOS_DEPLOYMENT_TARGET variable for both iOS devices and simulator.
rdar://problem/18596744
llvm-svn: 219467
|
| |
|
|
| |
llvm-svn: 219466
|
| |
|
|
|
|
| |
Fix compatibility issues of the test with SystemZ target.
llvm-svn: 219465
|
| |
|
|
|
|
|
|
|
| |
Looks like llvm::sys::path::filename() was canonicalizing my paths
before emitting them for FileCheck to stumble over.
Fix a style nit with r219460 while I'm at it.
llvm-svn: 219464
|
| |
|
|
| |
llvm-svn: 219463
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead
We used to transform this:
define void @test6(i1 %cond, i8* %ptr) {
entry:
br i1 %cond, label %bb1, label %bb2
bb1:
br label %bb2
bb2:
%ptr.2 = phi i8* [ %ptr, %entry ], [ null, %bb1 ]
store i8 2, i8* %ptr.2, align 8
ret void
}
into this:
define void @test6(i1 %cond, i8* %ptr) {
%ptr.2 = select i1 %cond, i8* null, i8* %ptr
store i8 2, i8* %ptr.2, align 8
ret void
}
because the simplifycfg transformation into selects would happen to happen
before the simplifycfg transformation that removes unreachable control flow
(We have 'unreachable control flow' due to the store to null which is undefined
behavior).
The existing transformation that removes unreachable control flow in simplifycfg
is:
/// If BB has an incoming value that will always trigger undefined behavior
/// (eg. null pointer dereference), remove the branch leading here.
static bool removeUndefIntroducingPredecessor(BasicBlock *BB)
Now we generate:
define void @test6(i1 %cond, i8* %ptr) {
store i8 2, i8* %ptr.2, align 8
ret void
}
I did not see any impact on the test-suite + externals.
rdar://18596215
llvm-svn: 219462
|
| |
|
|
|
|
|
|
|
| |
Addresses pr/21190 (http://llvm.org/bugs/show_bug.cgi?id=21190).
r219169 implemented this change list:
http://reviews.llvm.org/D5472 for more details.
llvm-svn: 219461
|
| |
|
|
|
|
|
|
| |
When building with coverage, -no-integrated-as, and -c, the driver was
emitting -cc1 -coverage-file pointing at a file in /tmp. Ensure the
coverage file is emitted in the same directory as the output file.
llvm-svn: 219460
|
| |
|
|
|
|
| |
Patch by Markus Trippelsdorf!
llvm-svn: 219459
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Long section names are represented as a slash followed by a numeric
ASCII string. This number is an offset into a string table.
Print the appropriate entry in the string table instead of the less
enlightening /4.
N.B. yaml2obj already does the right thing, this test exercises both
sides of the (de-)serialization.
llvm-svn: 219458
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
enabled.
See http://reviews.llvm.org/D5695 for details.
This change does the following:
Enable lldb-gdbserver (llgs) usage for local-process Linux debugging.
To turn on local llgs debugging support, which is disabled by default, enable this setting:
(lldb) settings set platform.plugin.linux.use-llgs-for-local true
Adds a stream-based Dump() function to FileAction.
Pushes some platform methods that Linux (and FreeBSD) will want to share with MacOSX from PlatformDarwin into PlatformPOSIX.
Reviewed by Greg Clayton.
llvm-svn: 219457
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make it possible to pass NULL through variadic functions on 64-bit
Windows targets. The Visual C++ headers define NULL to 0, when they
should define it to 0LL on Win64 so that NULL is a pointer-sized
integer.
Fixes PR20949.
Reviewers: thakis, rsmith
Differential Revision: http://reviews.llvm.org/D5480
llvm-svn: 219456
|
| |
|
|
|
|
|
|
|
|
|
|
| |
code using it more readable.
Also add a copySign static function that works more like the standard
function by accepting the value and sign-carying value as arguments.
No interesting logic here, but tests added to cover the basic API
additions and make sure they do something plausible.
llvm-svn: 219453
|
| |
|
|
|
|
| |
command, be ready to use synthetic children if they are there. Those are now a source of values, so worth checking for
llvm-svn: 219452
|
| |
|
|
|
|
| |
rdar://problem/18577039
llvm-svn: 219451
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
overloads.
Summary:
There was an assumption that there were no matchers that were overloaded
on matchers and other types of arguments.
This assumption was broken recently with the addition of new matcher
overloads.
Fixes http://llvm.org/PR21226
Reviewers: pcc
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D5711
llvm-svn: 219450
|