- Aug 09, 2012
-
-
Victor Oliveira authored
Added LLVM_EXPERIMENTAL_TARGETS_TO_BUILD in CMake and --enable-experimental-targets in configure. llvm-svn: 161561
-
Matt Beaumont-Gay authored
about repeated friending. llvm-svn: 161553
-
Jim Grosbach authored
These functions are very generic. There's no reason for them to be tied to MCObjectWriter. llvm-svn: 161545
-
Jakob Stoklund Olesen authored
MRI provides iterators for traversing the use-def chains. They should not be accessible from anywhere else. llvm-svn: 161543
-
Jakob Stoklund Olesen authored
This way of using getNextOperandForReg() was unlikely to work as intended. We don't give any guarantees about the order of operands in the use-def chains, so looking only at operands following a given operand in the chain doesn't make sense. llvm-svn: 161542
-
Jakob Stoklund Olesen authored
That particular optimization was probably premature anyway. llvm-svn: 161541
-
Owen Anderson authored
Allow legalization of target-specific SDNodes, provided that the target itself provide a legalization hook for them. llvm-svn: 161536
-
Jakob Stoklund Olesen authored
We filter out MachineLoop back-edges during the trace-building PO traversals, but it is possible to have CFG cycles that aren't natural loops, and MachineLoopInfo doesn't include such cycles. Use a standard visited set to detect such CFG cycles, and completely ignore them when picking traces. llvm-svn: 161532
-
Bill Wendling authored
llvm-svn: 161530
-
Bill Wendling authored
llvm-svn: 161529
-
- Aug 08, 2012
-
-
Bob Wilson authored
I don't have a win32 system to test, so hopefully I got them all fixed here. llvm-svn: 161519
-
Bill Wendling authored
- The defines are in stddint.h, which is #include'd already. - The block wasn't used anyway, since it was _OpenBSD_, and not __OpenBSD__ Patch by David Hill! llvm-svn: 161515
-
Jakob Stoklund Olesen authored
llvm-svn: 161513
-
Jakob Stoklund Olesen authored
Thanks, Andy! llvm-svn: 161507
-
Sebastian Pop authored
llvm-svn: 161505
-
Sebastian Pop authored
This patch allows us to use cmake to specify a cross compiler for Hexagon. In particular, the patch adds a missing case for the target Hexagon in cmake/config-ix.cmake, and 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: $ cmake -G Ninja -D BUILD_SHARED_LIBS:BOOL=ON -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 -D LLVM_ENABLE_PIC:BOOL=OFF .. $ ninja check llvm-svn: 161504
-
Rafael Espindola authored
Committing it first as it makes the "real" patch a lot easier to read. llvm-svn: 161491
-
NAKAMURA Takumi authored
llvm-svn: 161489
-
Anton Korobeynikov authored
Patch by kai@redstar.de ! llvm-svn: 161487
-
Bill Wendling authored
llvm-svn: 161479
-
Bill Wendling authored
llvm-svn: 161478
-
Bill Wendling authored
There are situations where inline ASM may want to change the section -- for instance, to create a variable in the .data section. However, it cannot do this without (potentially) restoring to the wrong section. E.g.: asm volatile (".section __DATA, __data\n\t" ".globl _fnord\n\t" "_fnord: .quad 1f\n\t" ".text\n\t" "1:" :::); This may be wrong if this is inlined into a function that has a "section" attribute. The user should use `.pushsection' and `.popsection' here instead. The addition of `.previous' is added for completeness. <rdar://problem/12048387> llvm-svn: 161477
-
Andrew Trick authored
This replaces an existing subtarget hook on ARM and allows standard CodeGen passes to potentially use the property. llvm-svn: 161471
-
Andrew Trick authored
llvm-svn: 161470
-
Andrew Trick authored
llvm-svn: 161469
-
Eli Friedman authored
sure we account for that correctly in DeadStoreElimination. Fixes a regression from r158919. PR13547. llvm-svn: 161468
-
Jakob Stoklund Olesen authored
It caused an assertion failure when compiling consumer-typeset. llvm-svn: 161463
-
Manman Ren authored
We perform the following: 1> Use SUB instead of CMP for i8,i16,i32 and i64 in ISel lowering. 2> Modify MachineCSE to correctly handle implicit defs. 3> Convert SUB back to CMP if possible at peephole. Removed pattern matching of (a>b) ? (a-b):0 and like, since they are handled by peephole now. rdar://11873276 llvm-svn: 161462
-
Jakob Stoklund Olesen authored
We can't rematerialize a PIC base after register allocation anyway, and scanning physreg use-def chains is very expensive in a function with many calls. <rdar://problem/12047515> llvm-svn: 161461
-
Jakob Stoklund Olesen authored
The getSumForBlock function was quadratic in the number of successors because getSuccWeight would perform a linear search for an already known iterator. llvm-svn: 161460
-
Dan Gohman authored
multiple scalar promotions on a single loop. This also has the effect of preserving the order of stores sunk out of loops, which is aesthetically pleasing, and it happens to fix the testcase in PR13542, though it doesn't fix the underlying problem. llvm-svn: 161459
-
Jakob Stoklund Olesen authored
llvm-svn: 161454
-
Jakob Stoklund Olesen authored
This adds support for TargetIndex operands during isel. The meaning of these (index, offset, flags) operands is entirely defined by the target. llvm-svn: 161453
-
Bob Wilson authored
An unsigned value converted to floating-point will always be greater than a negative constant. Unfortunately InstCombine reversed the check so that unsigned values were being optimized to always be greater than all positive floating-point constants. <rdar://problem/12029145> llvm-svn: 161452
-
Evan Cheng authored
do so when the high bits are known zero. This caused a subtle miscompilation. rdar://12027825 llvm-svn: 161451
-
- Aug 07, 2012
-
-
Bill Wendling authored
character arrays. This is in line with what GCC does. <rdar://problem/10529227> llvm-svn: 161446
-
Jakob Stoklund Olesen authored
A target index operand looks a lot like a constant pool reference, but it is completely target-defined. It contains the 8-bit TargetFlags, a 32-bit index, and a 64-bit offset. It is preserved by all code generator passes. TargetIndex operands can be used to carry target-specific information in cases where immediate operands won't suffice. llvm-svn: 161441
-
Andrew Kaylor authored
llvm-svn: 161438
-
Jakob Stoklund Olesen authored
llvm-svn: 161437
-
Jakob Stoklund Olesen authored
Compare the critical paths of the two traces through an if-conversion candidate. If the difference is larger than the branch brediction penalty, reject the if-conversion. If would never pay. llvm-svn: 161433
-