- Aug 20, 2012
-
-
Sebastian Pop authored
This patch allows us to use cmake to specify a cross compiler: target different than host. In particular, it moves LLVM_DEFAULT_TARGET_TRIPLE and TARGET_TRIPLE variables from cmake/config-ix.cmake to the toplevel CMakeLists.txt to make them available at configure time. Here is the command line that I have used to test my patches to create a Hexagon cross compiler hosted on x86: $ cmake -G Ninja -D LLVM_TARGETS_TO_BUILD:STRING=Hexagon -D TARGET_TRIPLE:STRING=hexagon-unknown-linux-gnu -D LLVM_DEFAULT_TARGET_TRIPLE:STRING=hexagon-unknown-linux-gnu -D LLVM_TARGET_ARCH:STRING=hexagon-unknown-linux-gnu .. $ ninja check llvm-svn: 162219
-
Sebastian Pop authored
The patch adds a missing case for the Hexagon target in cmake/config-ix.cmake. llvm-svn: 162218
-
Sebastian Pop authored
llvm-svn: 162217
-
Jordan Rose authored
No functionality change. llvm-svn: 162216
-
Jordan Rose authored
Generating a sink is significantly different behavior from generating a normal node, and a simple boolean parameter can be rather opaque. Per offline discussion with Anna, adding new generation methods is the clearest way to communicate intent. No functionality change. llvm-svn: 162215
-
Michael Liao authored
llvm-svn: 162214
-
Akira Hatanaka authored
Patch by Petar Jovanovic. llvm-svn: 162213
-
Richard Smith authored
llvm-svn: 162212
-
Chad Rosier authored
llvm-svn: 162210
-
Jordan Rose authored
Forgetting to at least cast the result was giving us Loc/NonLoc problems in SValBuilder (hitting an assertion). But the standard (both C and C++) does actually guarantee that && and || will result in the actual values 1 and 0, typed as 'int' in C and 'bool' in C++, and we can easily model that. PR13461 llvm-svn: 162209
-
Greg Clayton authored
llvm-svn: 162207
-
Dmitri Gribenko authored
llvm-svn: 162206
-
Manuel Klimek authored
- use InnerMatcher consistently, fix style violations on the way - doxygenify code snippets across all comments - start doxygenifying code references in text - addeed missing Usable as: sections llvm-svn: 162205
-
Filipe Cabecinhas authored
I also added a typemap to make DispatchInput usable in Python. llvm-svn: 162204
-
Filipe Cabecinhas authored
llvm-svn: 162203
-
Alexander Potapenko authored
llvm-svn: 162202
-
Benjamin Kramer authored
llvm-svn: 162201
-
Tobias Grosser authored
Without this patch, lib.clang_getNumCompletionChunks is called at each _iteration_ of a 'for chunk in CompletionString' loop. Now we call it just once. llvm-svn: 162200
-
Alexander Potapenko authored
Minor refactoring: reduce code duplication by introducing a macro for dispatch_sync_f, dispatch_async_f, dispatch_barrier_async_f bodies. llvm-svn: 162199
-
Hans Wennborg authored
llvm-svn: 162198
-
Alexander Potapenko authored
llvm-svn: 162197
-
Stepan Dyatkovskiy authored
llvm-svn: 162196
-
Stepan Dyatkovskiy authored
The DAGCombiner tries to optimise a BUILD_VECTOR by checking if it consists purely of get_vector_elts from one or two source vectors. If so, it either makes a concat_vectors node or a shufflevector node. However, it doesn't check the element type width of the underlying vector, so if you have this sequence: Node0: v4i16 = ... Node1: i32 = extract_vector_elt Node0 Node2: i32 = extract_vector_elt Node0 Node3: v16i8 = BUILD_VECTOR Node1, Node2, ... It will attempt to: Node0: v4i16 = ... NewNode1: v16i8 = concat_vectors Node0, ... Where this is actually invalid because the element width is completely different. This causes an assertion failure on DAG legalization stage. Fix: If output item type of BUILD_VECTOR differs from input item type. Make concat_vectors based on input element type and then bitcast it to the output vector type. So the case described above will transformed to: Node0: v4i16 = ... NewNode1: v8i16 = concat_vectors Node0, ... NewNode2: v16i8 = bitcast NewNode1 llvm-svn: 162195
-
Craig Topper authored
llvm-svn: 162194
-
Craig Topper authored
llvm-svn: 162193
-
Craig Topper authored
llvm-svn: 162192
-
Tobias Grosser authored
Suggested by: Francisco Lopes <oblita@gmail.com> llvm-svn: 162191
-
- Aug 19, 2012
-
-
Gregory Szorc authored
It isn't used anywhere yet. llvm-svn: 162190
-
Howard Hinnant authored
In C++03 mode add an explicit conversion from int to the emulated class enum. Fixes a problem reported by C. Bergström. llvm-svn: 162189
-
Howard Hinnant authored
llvm-svn: 162188
-
Nadav Rotem authored
this allows for better code generation. Added a new DAGCombine transformation to convert FMAX and FMIN to FMANC and FMINC, which are commutative. For example: movaps %xmm0, %xmm1 movsd LC(%rip), %xmm0 minsd %xmm1, %xmm0 becomes: minsd LC(%rip), %xmm0 llvm-svn: 162187
-
Benjamin Kramer authored
llvm-svn: 162186
-
Tobias Grosser authored
Reported by: Francisco Lopes <oblita@gmail.com> llvm-svn: 162182
-
Tobias Grosser authored
llvm-svn: 162181
-
Benjamin Kramer authored
llvm-svn: 162180
-
- Aug 18, 2012
-
-
Jakob Stoklund Olesen authored
These nodes are no longer needed because the peephole pass can fold CMOV+AND into ANDCC etc. llvm-svn: 162179
-
Craig Topper authored
Remove virtual from many methods. These methods replace methods in the base class, but the base class methods aren't virtual so it just increased call overhead. llvm-svn: 162178
-
Jakob Stoklund Olesen authored
This turns common i1 patterns into predicated instructions: (add (zext cc), x) -> (select cc (add x, 1), x) (add (sext cc), x) -> (select cc (add x, -1), x) For a function like: unsigned f(unsigned s, int x) { return s + (x>0); } We now produce: cmp r1, #0 it gt addgt.w r0, r0, #1 Instead of: movs r2, #0 cmp r1, #0 it gt movgt r2, #1 add r0, r2 llvm-svn: 162177
-
Jakob Stoklund Olesen authored
Add these transformations to the existing add/sub ones: (and (select cc, -1, c), x) -> (select cc, x, (and, x, c)) (or (select cc, 0, c), x) -> (select cc, x, (or, x, c)) (xor (select cc, 0, c), x) -> (select cc, x, (xor, x, c)) The selects can then be transformed to a single predicated instruction by peephole. This transformation will make it possible to eliminate the ISD::CAND, COR, and CXOR custom DAG nodes. llvm-svn: 162176
-
Benjamin Kramer authored
llvm-svn: 162175
-