Tom Stellard
a30713710c
Add a another TODO note.
...
Patch by: Aaron Watry
llvm-svn: 184999
2013-06-26 18:21:25 +00:00
Tom Stellard
4974f6c6d0
Add a TODO note.
...
Patch by: Aaron Watry
llvm-svn: 184998
2013-06-26 18:21:22 +00:00
Tom Stellard
8c1e72f46a
Simplify rotate implementation a bit..
...
Much more understandable/readable as a result, and probably more efficient.
Patch by: Aaron Watry
llvm-svn: 184997
2013-06-26 18:21:18 +00:00
Tom Stellard
0bb381eaec
libclc: implement rotate builtin
...
This implementation does a lot of bit shifting and masking. Suffice to say,
this is somewhat suboptimal... but it does look to produce correct results
(after the piglit tests were corrected for sign extension issues).
Someone who knows LLVM better than I could re-write this more efficiently.
Patch by: Aaron Watry
llvm-svn: 184996
2013-06-26 18:21:13 +00:00
Tom Stellard
cb133c9322
libclc: Move max builtin to shared/
...
Max(x,y) is available for all integer/floating types.
Patch by: Aaron Watry
llvm-svn: 184995
2013-06-26 18:21:06 +00:00
Tom Stellard
fe23a30ef5
libclc: Add clamp() builtin for integer/floating point
...
Created under a new shared/ directory for functions which are available for
both integer and floating point types.
Patch by: Aaron Watry
llvm-svn: 184994
2013-06-26 18:20:56 +00:00
Tom Stellard
cd88a4ebb6
libclc: Fix abs_diff builtin integer function
...
Patch by: Aaron Watry
llvm-svn: 184993
2013-06-26 18:20:50 +00:00
Tom Stellard
ec87fb0b0c
libclc: Add max() builtin function
...
Adds this function for both int and floating data types.
Patch by: Aaron Watry
llvm-svn: 184992
2013-06-26 18:20:46 +00:00
Tom Stellard
30f554b23d
configure: Enable building separate libraries for target variants
...
llvm-svn: 184991
2013-06-26 18:20:38 +00:00
Tom Stellard
5668ea2d48
configure: fix out-of-source build
...
Patch by: Niels Ole Salscheider
llvm-svn: 184990
2013-06-26 18:20:35 +00:00
Tom Stellard
976577ecae
Fix build with LLVM 3.3
...
Patch by: Niels Ole Salscheider
llvm-svn: 184989
2013-06-26 18:20:32 +00:00
Tom Stellard
207345820f
Implement ceil() builtin
...
llvm-svn: 184988
2013-06-26 18:20:30 +00:00
Tom Stellard
509b3b2104
Implement fmax() and fmin() builtins
...
llvm-svn: 184987
2013-06-26 18:20:25 +00:00
Tom Stellard
d84c7f5d0f
Remove the static keyword from the _CLC_INLINE macro
...
static functions are not allowed in OpenCL C
llvm-svn: 184986
2013-06-26 18:20:18 +00:00
Tom Stellard
99bd71c4f5
Use brackets around include files in length.cl and normalize.cl
...
These functions were not being compiled
llvm-svn: 184985
2013-06-26 18:20:15 +00:00
Tom Stellard
560dbee27a
Fix typo in include/clc/geometric/length.inc
...
llvm-svn: 184984
2013-06-26 18:20:12 +00:00
Tom Stellard
88812274dc
r600: Add overrides file
...
llvm-svn: 184983
2013-06-26 18:20:08 +00:00
Tom Stellard
d54f6ba7b8
Allow targets to override generic implementations
...
Targets can override generic implementations by adding a file called
OVERRIDES in $(TARGET_DIR)/lib and listing the generic implementations
that it wants to override. For example, to override get_group_id() and
get_global_size() you would add these lines to the OVERRIDES file:
workitem/get_group_id.cl
workitem/get_global_size.cl
llvm-svn: 184982
2013-06-26 18:20:05 +00:00
Tom Stellard
1de7761ed9
Make libclc more Linux FHS conform.
...
- First introducing a versioning scheme
- Add --libexecdir, --includedir and --pkgconfigdir and prefill them as well as --prefix
- Build all targets by default
- Create clc.pc and install it in $pkgconfigdir
- Use clang++ instead of c++
- Rename builtins.bc to built_libs/$triple.bc and install them in $libexecdir
- Includes are installed recursively to $includedir
- Finally add $(DESTDIR) for 'make install'
Patch by: Johannes Obermayr
llvm-svn: 184981
2013-06-26 18:20:03 +00:00
Tom Stellard
f2f5a86620
R600: Replace cl implementations with LLVM IR implementation
...
This allows libclc to be built for R600 with upstream clang and LLVM.
llvm-svn: 184980
2013-06-26 18:20:00 +00:00
Tom Stellard
10b6c22e8d
PTX: move implementations of work-item and synchronisation functions
...
to lib, and add header files in generic. Incorporates a patch by
Tom Stellard!
llvm-svn: 184979
2013-06-26 18:19:54 +00:00
Tom Stellard
9d804dae35
Move R600 headers into generic directory
...
llvm-svn: 184978
2013-06-26 18:19:50 +00:00
Tom Stellard
38f0ac9d5e
r600: Add get_global_size() implementation
...
llvm-svn: 184977
2013-06-26 18:19:44 +00:00
Tom Stellard
ac14c4e878
r600: Fix get_global_id implementation
...
llvm-svn: 184976
2013-06-26 18:19:39 +00:00
Tom Stellard
879327fcdc
r600: Initial support
...
This includes a get_global_id() implementation and function stubs for
the other workitem and synchronization functions.
llvm-svn: 184975
2013-06-26 18:18:59 +00:00
Michael Gottesman
734508d9e6
[APFloat] Removed debugging cruft that snuck in.
...
llvm-svn: 184974
2013-06-26 17:59:36 +00:00
Nadav Rotem
87856b50cf
The SLP Vectorizer works across basic blocks. Update the docs.
...
llvm-svn: 184973
2013-06-26 17:59:35 +00:00
Nico Weber
cd5b2cfd60
Fix warning: commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]
...
llvm-svn: 184972
2013-06-26 17:31:55 +00:00
Rafael Espindola
e7e4a449ce
Use enums instead of raw octal values.
...
Patch by 罗勇刚(Yonggang Luo).
llvm-svn: 184971
2013-06-26 17:28:04 +00:00
Joey Gouly
d077bc6a20
Add support for passing '-target armv8' through the Driver.
...
llvm-svn: 184970
2013-06-26 17:19:48 +00:00
Nadav Rotem
4c5b2d1de6
Erase all of the instructions that we RAUWed
...
llvm-svn: 184969
2013-06-26 17:16:09 +00:00
Reid Kleckner
596b85cc23
Match MSVC's handling of commas during macro argument expansion
...
This allows clang to parse the type_traits header in Visual Studio 2012,
which is included widely in practice.
This is a rework of r163022 by João Matos. The original patch broke
preprocessing of gtest headers, which this patch addresses.
Patch by Will Wilson!
llvm-svn: 184968
2013-06-26 17:16:08 +00:00
Joey Gouly
b3f550e8cd
Add a subtarget feature 'v8' to the ARM backend.
...
This allows for targeting the ARMv8 AArch32 variant.
llvm-svn: 184967
2013-06-26 16:58:26 +00:00
Nadav Rotem
f4ca3994b8
Do not add cse-ed instructions into the visited map because we dont want to consider them as a candidate for replacement of instructions to be visited.
...
llvm-svn: 184966
2013-06-26 16:54:53 +00:00
Tim Northover
2c45a383a8
ARM: fix more cases where predication may or may not be allowed
...
Unfortunately this addresses two issues (by the time I'd disentangled the logic
it wasn't worth putting it back to half-broken):
+ Coprocessor instructions should all be predicable in Thumb mode.
+ BKPT should never be predicable.
llvm-svn: 184965
2013-06-26 16:52:40 +00:00
Tim Northover
52f77f5cda
ARM: allow predicated barriers in Thumb mode
...
The barrier instructions are only "always-execute" in ARM mode, they can quite
happily sit inside an IT block in Thumb.
llvm-svn: 184964
2013-06-26 16:52:32 +00:00
Sergey Matveev
0b2ffe30e4
[tsan] Fix build.
...
llvm-svn: 184963
2013-06-26 16:49:34 +00:00
Joey Gouly
05b04cf3a5
Remove the 'generic' CPU from the ARM eabi attributes printer.
...
Make v4 the default ARM architecture attribute, to match CodeGen.
llvm-svn: 184962
2013-06-26 16:39:06 +00:00
Bob Wilson
c4b26ad006
Revert "Temporarily disable building the armv7 variants of profile_ios on"
...
This reverts commit r184816. With Chandler's change in r184929, this should
no longer be necessary.
llvm-svn: 184961
2013-06-26 16:35:16 +00:00
Rafael Espindola
b0f2eba499
PathV1 is deprecated since the 18th of Dec 2010. Remove it.
...
llvm-svn: 184960
2013-06-26 16:24:35 +00:00
Rafael Espindola
b6d9c0001a
Don't use PathV1.h in IncludeExcludeTest.cpp.
...
llvm-svn: 184959
2013-06-26 16:20:55 +00:00
Rafael Espindola
b8db1cd13e
Don't use PathV1.h in TransformTest.cpp.
...
llvm-svn: 184958
2013-06-26 15:48:36 +00:00
Sergey Matveev
d109eb052b
[tsan] Move some suppressions-related code to common.
...
Factor out code to be reused in LSan. Also switch from linked list to vector.
llvm-svn: 184957
2013-06-26 15:37:14 +00:00
Rafael Espindola
a3d1c02356
Don't use PathV1.h in PerfSupport.cpp.
...
llvm-svn: 184956
2013-06-26 15:22:42 +00:00
Rafael Espindola
f530fd75b9
Add a convenience functions that don't return if the directory existed.
...
llvm-svn: 184955
2013-06-26 15:21:13 +00:00
Rafael Espindola
68770d24aa
Remove unused include.
...
llvm-svn: 184954
2013-06-26 15:12:41 +00:00
Ed Maste
4ba58652b3
Don't explicitly set update version
...
Host::GetOSVersion's caller already sets it to UINT32_MAX to determine
which version number components are set.
llvm-svn: 184953
2013-06-26 15:10:31 +00:00
NAKAMURA Takumi
66b694490e
clang/test/Driver/pth.c: Fix r184942, a regexp like "\\\\" is redundant here. Should be matched to single \ with '\\'.
...
llvm-svn: 184952
2013-06-26 15:03:20 +00:00
Rafael Espindola
641c6a182b
Remove last use of PathV1.h from clang.
...
Instead of creating a temporary directory, remember the set of temporary files
we create.
llvm-svn: 184951
2013-06-26 15:01:50 +00:00
Evgeniy Stepanov
06d6c25141
[sanitizer] readdir and readdir_r interceptors.
...
llvm-svn: 184950
2013-06-26 15:00:53 +00:00