- Mar 12, 2014
-
-
Viktor Kutuzov authored
llvm-svn: 203658
-
Daniel Sanders authored
Summary: Correct the match patterns and the lowerings that made the CodeGen tests pass despite the mistakes. The original testcase that discovered the problem was SingleSource/UnitTests/SignlessType/factor.c in test-suite. During review, we also found that some of the existing CodeGen tests were incorrect and fixed them: * bitwise.ll: In bsel_v16i8 the IfSet/IfClear were reversed because bsel and bmnz have different operand orders and the test didn't correctly account for this. bmnz goes 'IfClear, IfSet, CondMask', while bsel goes 'CondMask, IfClear, IfSet'. * vec.ll: In the cases where a bsel is emitted as a bmnz (they are the same operation with a different input tied to the result) the operands were in the wrong order. * compare.ll and compare_float.ll: The bsel operand order was correct for a greater-than comparison, but a greater-than comparison instruction doesn't exist. Lowering this operation inverts the condition so the IfSet/IfClear need to be swapped to match. The differences between BSEL, BMNZ, and BMZ and how they map to/from vselect are rather confusing. I've therefore added a note to MSA.txt to explain this in a single place in addition to the comments that explain each case. Reviewers: matheusalmeida, jacksprat Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D3028 llvm-svn: 203657
-
Arnaud A. de Grandmaison authored
This is a compilation warning fix. No functional change. llvm-svn: 203656
-
Tim Northover authored
When the list of VFP registers to be saved was non-contiguous (so multiple vpush/vpop instructions were needed) these were being ordered oddly, as in: vpush {d8, d9} vpush {d11} This led to the layout in memory being [d11, d8, d9] which is ugly and doesn't match the CFI_INSTRUCTIONs we're generating either (so Dwarf info would be broken). This switches the order of vpush/vpop (in both prologue and epilogue, obviously) so that the Dwarf locations are correct again. rdar://problem/16264856 llvm-svn: 203655
-
Hafiz Abid Qadeer authored
llvm-svn: 203654
-
Hafiz Abid Qadeer authored
llvm-svn: 203653
-
Hafiz Abid Qadeer authored
It can be used in multiple files now. llvm-svn: 203652
-
Hafiz Abid Qadeer authored
This allows to use some code for mingw which was previously only used for MSVC. llvm-svn: 203651
-
Hafiz Abid Qadeer authored
They help fix mingw build. llvm-svn: 203650
-
Hafiz Abid Qadeer authored
This is to help fix mingw build. llvm-svn: 203649
-
Dmitry Vyukov authored
if the thread is cancelled in pthread_cond_wait, it locks the mutex before processing pthread_cleanup stack but tsan was missing that, thus reporting false double-lock/wrong-unlock errors see the test for details llvm-svn: 203648
-
Dmitry Vyukov authored
llvm-svn: 203647
-
-
Daniel Jasper authored
Caused by unknown tokens (e.g. "\n") not properly updating the state. Example: const char* c = STRINGIFY( \na : b); llvm-svn: 203645
-
Patrik Hagglund authored
In some cases the include is pushed "downstream" (or removed if unused). llvm-svn: 203644
-
Craig Topper authored
llvm-svn: 203643
-
NAKAMURA Takumi authored
llvm-svn: 203642
-
Craig Topper authored
llvm-svn: 203641
-
Craig Topper authored
llvm-svn: 203640
-
Saleem Abdulrasool authored
This is unnecessary now that the flag handling has been fixed. The flags will be added properly in the main CMakeLists.txt after the config-ix inclusion which performs the required check. llvm-svn: 203639
-
Saleem Abdulrasool authored
Always use list(APPEND) as it will perform the desired action even if the list is empty or previously unset. The first set is harmless, however, the subsequent set was overwriting the previous flag setup resulting in an improper compilation command being generated. This manifested as a build failure on Linux when using cmake + ninja. llvm-svn: 203638
-
Saleem Abdulrasool authored
add_definitions is meant for adding C preprocessor definitions. Modern cmake suggests use of the CMAKE_CXX_FLAGS for the purposes of pushing flags to the compilation commands. Simply switch to the modern form given that we are already requiring a new enough cmake. llvm-svn: 203637
-
Saleem Abdulrasool authored
llvm-svn: 203636
-
Hans Wennborg authored
It seems gas can't handle CFI directives with VFP register names ("d12", etc.). This broke us trying to build Chromium for Android after 201423. A gas bug has been filed: https://sourceware.org/bugzilla/show_bug.cgi?id=16694 compnerd suggested making this conditional on whether we're using the integrated assembler or not. I'll look into that in a follow-up patch. Differential Revision: http://llvm-reviews.chandlerc.com/D3049 llvm-svn: 203635
-
David Blaikie authored
llvm-svn: 203634
-
Saleem Abdulrasool authored
Unfortunately, XFAIL applies to the entire file. Split the test into two different units, enabling the proper application of XFAIL on the test which is expected to fail on Windows. llvm-svn: 203633
-
Saleem Abdulrasool authored
Reduce the stack usage as hopefully include paths are usually not too long. Add a test case for the path normalisation behaviour. llvm-svn: 203632
-
Marshall Clow authored
THIRD TIME. Richard pointed out (again) that I'd switched the order of the instance variables; and thus failed to repair the ABI break. After this, I'm going to sit down and watch TV for the evening. llvm-svn: 203631
-
Ben Langmuir authored
When enabled, always validate the system headers when loading a module. The end result of this is that when these headers change, we will notice and rebuild the module. llvm-svn: 203630
-
Aaron Ballman authored
llvm-svn: 203628
-
Adrian Prantl authored
This reverts commit 203504. We decided that it is better to disable this test on a per-buildbot basis in zorg rather than everywhere on Darwin. llvm-svn: 203627
-
Joerg Sonnenberger authored
programs. Initialize lsdaEncoding to DW_EH_PE_omit and check for that value to decide whether a value should be decoded. llvm-svn: 203626
-
David Blaikie authored
llvm-svn: 203625
-
Hans Wennborg authored
This narrows the impact of r188833 after Dimitry pointed out that it's good to be able to tell the difference between 'cc' and 'CC'. llvm-svn: 203624
-
David Blaikie authored
I'll fix this to not test assembly in a moment. llvm-svn: 203623
-
David Blaikie authored
llvm-svn: 203622
-
David Blaikie authored
llvm-svn: 203621
-
David Blaikie authored
llvm-svn: 203620
-
David Blaikie authored
I could fold the callers into their one call site, but the indirection (given how verbose choosing the section is) seemed helpful. The use of a member function pointer's a bit "tricky", but seems limited enough, the call sites are simple/clean/clear, and there's only one use. llvm-svn: 203619
-
Duncan P. N. Exon Smith authored
llvm-svn: 203618
-