Jiangning Liu
94b0f0278e
For AArch64 Neon, simplify scalar dup by lane0 for fp.
...
llvm-svn: 198195
2013-12-30 02:45:09 +00:00
Jiangning Liu
a0acf70af1
For AArch64 Neon, simplify scalar dup by lane0 for fp.
...
llvm-svn: 198194
2013-12-30 02:44:35 +00:00
Hao Liu
fe3bfc8c41
[AArch64]Add code to spill/fill Q register tuples such as QPair/QTriple/QQuad.
...
llvm-svn: 198193
2013-12-30 02:38:12 +00:00
Hao Liu
b591f835d6
[AArch64]Can't select shift left 0 of type v1i64
...
llvm-svn: 198192
2013-12-30 02:12:46 +00:00
Alp Toker
ba5b4dc60c
Fix and reword some typos
...
llvm-svn: 198191
2013-12-30 02:06:29 +00:00
Kevin Qin
ede9ce1933
Fix a bug in DAGcombiner about zero-extend after setcc.
...
For AArch64 backend, if DAGCombiner see "sext(setcc)", it will
combine them together to a single setcc with extended value type.
Then if it see "zext(setcc)", it assumes setcc is Vxi1, and try to
create "(and (vsetcc), (1, 1, ...)". While setcc isn't Vxi1,
DAGcombiner will create wrong node and get wrong code emitted.
llvm-svn: 198190
2013-12-30 02:05:13 +00:00
Alp Toker
751d635a2a
Cleanup: Switch the preprocessor to err_pp_expected_after
...
This is approaching consistency but the PP and Parse categories they still have
slightly different wording:
def err_pp_expected_after : Error<"missing %1 after %0">;
def err_expected_after : Error<"expected %1 after %0">;
llvm-svn: 198189
2013-12-30 01:59:29 +00:00
Hao Liu
74107fe526
[AArch64]Fix the problem that can't select mul of v1i64/v2i64 types.
...
E.g. Can't select such IR:
%tmp = mul <2 x i64> %a, %b
llvm-svn: 198188
2013-12-30 01:38:41 +00:00
Nico Weber
c45921903f
Don't use PrintFunctionNames.exports on Windows.
...
llvm-svn: 198187
2013-12-30 00:05:56 +00:00
Nico Weber
e8ef46c851
Fix typo in comment.
...
llvm-svn: 198186
2013-12-29 23:15:01 +00:00
Nico Weber
216436c77a
[cmake] Set in LLVM_EXPORTED_SYMBOL_FILE PrintFunctionNames/CMakeLists.txt.
...
The corresponding Makefile sets it too. Also tweak add_clang_library to support
LLVM_EXPORTED_SYMBOL_FILE for modules.
llvm-svn: 198185
2013-12-29 23:14:26 +00:00
Bill Wendling
8ea7582546
Un-XFAILify some tests which are now passing.
...
llvm-svn: 198184
2013-12-29 23:09:14 +00:00
Nico Weber
1226531099
Set LLVM_EXPORTED_SYMBOL_FILE in CMakeLists whose corresponding Makefiles do so.
...
(unittests/ExecutionEngine/JIT/CMakeLists.txt is still missing for now, since
it handles export files in a strange way: It generates a .exports file from a
.def file instead of the other way round.)
llvm-svn: 198183
2013-12-29 23:06:49 +00:00
Nico Weber
dc78dc9ac6
[cmake] In add_llvm_loadable_module, don't clobber existing LINK_FLAGS on OS X.
...
Also add leading spaces to the LINK_FLAGS setters, since that's what the cmake
folks recommend: http://www.cmake.org/pipermail/cmake/2012-October/052399.html
llvm-svn: 198182
2013-12-29 23:04:48 +00:00
Jean-Daniel Dupas
de5094ba00
Fix a couple of memory leaks.
...
llvm-svn: 198178
2013-12-29 20:18:15 +00:00
Jean-Daniel Dupas
c6f26f8542
Stop leaking MCRegisterInfo.
...
llvm-svn: 198177
2013-12-29 20:17:26 +00:00
Nico Weber
5f676dc53a
Use LLVM_EXPORTED_SYMBOL_FILE in libclang's cmake build.
...
Now the exports file should have an effect on non-darwin too.
llvm-svn: 198176
2013-12-29 19:31:48 +00:00
Aaron Ballman
2ef6a435f4
Fixing a compile error that recently started happening for me in MSVC 2013. CFGTerminator has an explicit conversion to bool operator that we can make use of instead of using == 0.
...
llvm-svn: 198175
2013-12-29 18:59:54 +00:00
Saleem Abdulrasool
aca443c02c
ARM IAS: fix after r198172
...
The DPR and SPR register lists are also register lists. Furthermore, the
registers need not be checked individually since the register type can be
checked via the list kind. Use that to simplify the logic and fix the incorrect
assertion.
llvm-svn: 198174
2013-12-29 18:53:16 +00:00
Saleem Abdulrasool
4da9c6e566
ARM: provide VFP aliases for pre-V6 mnemonics
...
In order to provide compatibility with the GNU assembler, provide aliases for
pre-UAL mnemonics for floating point operations.
llvm-svn: 198172
2013-12-29 17:58:35 +00:00
Saleem Abdulrasool
a1937cbc62
ARM: fix a few typos in comments
...
llvm-svn: 198171
2013-12-29 17:58:31 +00:00
Saleem Abdulrasool
da96a81ee6
ARM: fix typo in VFP instruction definition
...
The vstm family of VFP instructions belong to the VFP store itinerary class, not
the VFP load itinerary class.
llvm-svn: 198170
2013-12-29 17:58:27 +00:00
NAKAMURA Takumi
faabd7cf37
Fix mis-merging in AddLLVM.cmake, take #2 . LINK.EXE's options had been broken. Sorry again.
...
llvm-svn: 198169
2013-12-29 16:50:15 +00:00
Aaron Watry
8ef48d07ef
Pass -fno-builtin flag to clang to silence warnings
...
Reviewed-by: Aaron Watry <awatry@gmail.com>
llvm-svn: 198168
2013-12-29 16:39:55 +00:00
Aaron Watry
b38037f7b7
Fix build with LLVM 3.5
...
Reviewed-by: Aaron Watry <awatry@gmail.com>
llvm-svn: 198167
2013-12-29 16:39:53 +00:00
NAKAMURA Takumi
0a062bd225
Fix mis-merging in AddLLVM.cmake. Sorry.
...
llvm-svn: 198166
2013-12-29 16:19:13 +00:00
NAKAMURA Takumi
14d09b872f
[CMake] Fix add_llvm_loadble_module.
...
Thanks to Edward-san, to let me know.
llvm-svn: 198165
2013-12-29 16:15:31 +00:00
NAKAMURA Takumi
bbd2aaa257
[CMake] add_llvm_symbol_exports: Use unique name for each target.
...
llvm-svn: 198164
2013-12-29 16:15:26 +00:00
NAKAMURA Takumi
812107527c
[CMake] add_llvm_symbol_exports: Use ${native_export_file} instead of equivalent constant "symbol.*', since it is defined.
...
llvm-svn: 198163
2013-12-29 16:15:18 +00:00
Mark Seaborn
774c24385e
Fix indentation alignment of a declaration in MipsMCCodeEmitter.cpp
...
llvm-svn: 198162
2013-12-29 10:47:04 +00:00
Bill Wendling
76cce1906a
Store the global variable that's created so that it's reclaimed afterwards.
...
This plugs a memory leak in ARM's FastISel by storing the GV in Module so that
it's reclaimed.
PR17978
llvm-svn: 198160
2013-12-29 08:00:04 +00:00
Nico Weber
49d6f485ce
Yet another attempt at getting cmake-clang-i686-mingw32 green.
...
llvm-svn: 198159
2013-12-29 07:43:09 +00:00
Alp Toker
7ee15fd01d
Make LLVM_MSC_PREREQ() compatible with all MSVC versions
...
The defined() preprocessor expansion wasn't working out on the lld builder.
Also update the documentation to cover another Visual Studio release versioning
convention.
llvm-svn: 198158
2013-12-29 07:39:53 +00:00
Venkatraman Govindaraju
3e3a29a2e9
[SparcV9] Use separate instruction patterns for 64 bit arithmetic instructions instead of reusing 32 bit instruction patterns.
...
This is done to avoid spilling the result of the 64-bit instructions to a 4-byte slot.
llvm-svn: 198157
2013-12-29 07:15:09 +00:00
Nico Weber
49da758cbf
Windows build fixes, hopefully last part.
...
r198153 fixed the msvs bot problem, but broke a msysgit bot. This change
hopefully makes both variants happy.
llvm-svn: 198156
2013-12-29 06:56:28 +00:00
Alp Toker
e395023eab
Python compatibility fix for r198150
...
Remove the stat call error reporting for now.
It wasn't essential so silent fallback should be fine here.
llvm-svn: 198155
2013-12-29 06:51:10 +00:00
Alp Toker
967951de22
Fix parens fail in r198142
...
Probable cause of the lld build failure on VS 2012.
llvm-svn: 198154
2013-12-29 06:33:19 +00:00
Nico Weber
1946f3a01b
Another windows build fix attempt.
...
Inspired by http://public.kitware.com/pipermail/cmake-developers/2012-March/003768.html
llvm-svn: 198153
2013-12-29 06:12:40 +00:00
Alp Toker
0324ee0a33
Prospective Python 3 fix for r198150
...
llvm-svn: 198152
2013-12-29 05:51:07 +00:00
Nico Weber
06473f855d
More windows build fix attempts.
...
The windows ninja build is now green, but msvs is still unhappy. Maybe that's
because the .def file was passed when building LTO_static, so only pass
symbol lists for shared libraries.
llvm-svn: 198151
2013-12-29 05:39:01 +00:00
Alp Toker
fdef0e0d94
lit: Incremental test scheduling
...
Add option -i to prioritize test runs by source file modification time and
previous failure state.
This optimal scheduling reduces typical test-and-fix iteration times to a
matter of seconds by rapidly answering the questions:
1) Did my recent change fix tests that were previously failing?
2) Do the tests I just wrote / modified still work?
The current implementation requires write permissions to the source tree
because it uses mtimes to track failures.
llvm-svn: 198150
2013-12-29 05:09:05 +00:00
Venkatraman Govindaraju
5ac9c8faec
[SparcV9] For codegen generated library calls that return float, set inreg flag manually in LowerCall().
...
This makes the sparc backend to generate Sparc64 ABI compliant code.
llvm-svn: 198149
2013-12-29 04:27:21 +00:00
Nico Weber
5c8a4a3e3e
The same we do every commit, Pinky: Try to fix the windows build (after r198136).
...
llvm-svn: 198148
2013-12-29 04:05:23 +00:00
Craig Topper
a448bd868f
Make more of the x86 lowering helper functions static.
...
llvm-svn: 198146
2013-12-29 01:48:38 +00:00
Venkatraman Govindaraju
0776cc0acd
[SparcV9]: Implement lowering of long double (fp128) arguments in Sparc64 ABI.
...
Also, pass fp128 arguments to varargs through integer registers if necessary.
llvm-svn: 198145
2013-12-29 01:20:36 +00:00
Craig Topper
059e8e0da1
Switch from EVT to MVT in more of the x86 instruction lowering code.
...
llvm-svn: 198144
2013-12-29 01:10:06 +00:00
Nico Weber
35ea47d0d2
Another windows build fix attempt after r198136.
...
The current quoting is stripped by cmake, try quoting more.
llvm-svn: 198143
2013-12-29 00:50:09 +00:00
Alp Toker
6bb05d1eb8
Enable deleted functions and explicit conversions in MSVC 2013
...
Also prospectively enable static_assert as the documentation suggests it's been
available since MSVC 2010. Let's see if the build servers agree.
llvm-svn: 198142
2013-12-29 00:49:14 +00:00
Alp Toker
9bbae07a12
Define LLVM_MSC_PREREQ() macro to simplify _MSC_VER checks
...
Includes documentation mapping MSC version numbers to the more familiar Visual
Studio releases.
Cleanup only to simplify upcoming C++11 / MSVC 2013 changes.
llvm-svn: 198141
2013-12-29 00:49:05 +00:00
Nico Weber
2534017ad1
Try to fix windows build more after r198136.
...
The command that cmd.exe is complaining about is:
cmd.exe /c cd /D C:\bb-win7\cmake-clang-i686-mingw32\build\tools\lto && cmake -E echo EXPORTS > symbol.def && type C:/bb-win7/cmake-clang-i686-mingw32/llvm-project/llvm/tools/lto/lto.exports >> symbol.def
Maybe quoting the filename helps.
llvm-svn: 198140
2013-12-29 00:27:49 +00:00