- Sep 27, 2012
-
-
Sylvestre Ledru authored
Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 llvm-svn: 164768
-
Sylvestre Ledru authored
llvm-svn: 164767
-
- Sep 17, 2012
-
-
Benjamin Kramer authored
LLVM_ATTRIBUTE_USED forces emission of a function. To silence unused function warnings use LLVM_ATTRIBUTE_UNUSED. llvm-svn: 164036
-
- Sep 12, 2012
-
-
Manman Ren authored
"#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)" No functional change. Update r163339. llvm-svn: 163653
-
- Sep 06, 2012
-
-
Manman Ren authored
No functional change. llvm-svn: 163339
-
- Aug 01, 2012
-
-
Chad Rosier authored
llvm-svn: 161122
-
- Jun 02, 2012
-
-
- Mar 27, 2012
-
-
Craig Topper authored
llvm-svn: 153502
-
Craig Topper authored
llvm-svn: 153500
-
- Mar 17, 2012
-
-
Craig Topper authored
Reorder includes in Target backends to following coding standards. Remove some superfluous forward declarations. llvm-svn: 152997
-
- Mar 09, 2012
-
-
Craig Topper authored
llvm-svn: 152391
-
- Feb 25, 2012
-
-
NAKAMURA Takumi authored
Target/X86: Fix assertion failures and warnings caused by r151382 _ftol2 lowering for i386-*-win32 targets. Patch by Joe Groff. [Joe Groff] Hi everyone. My previous patch applied as r151382 had a few problems: Clang raised a warning, and X86 LowerOperation would assert out for fptoui f64 to i32 because it improperly lowered to an illegal BUILD_PAIR. Here's a patch that addresses these issues. Let me know if any other changes are necessary. Thanks. llvm-svn: 151432
-
- Feb 24, 2012
-
-
Michael J. Spencer authored
used by the Win32 _ftol2 runtime function. Patch by Joe Groff! llvm-svn: 151382
-
- Aug 12, 2011
-
-
Duncan Sands authored
when building with assertions disabled. llvm-svn: 137460
-
- Aug 08, 2011
-
-
Jakob Stoklund Olesen authored
X86FloatingPoint keeps track of pending ST registers for an upcoming inline asm instruction with fixed stack register constraints. It does this by remembering which FP register holds the value that should appear at a fixed stack position for the inline asm. When that FP register is killed before the inline asm, make sure to duplicate it to a scratch register, so the ST register still has a live FP reference. This could happen when the same FP register was copied to two ST registers, or when a spill instruction is inserted between the ST copy and the inline asm. This fixes PR10602. llvm-svn: 137050
-
- Aug 03, 2011
-
-
Jakob Stoklund Olesen authored
This fixes PR10575. llvm-svn: 136787
-
- Jul 02, 2011
-
-
Jakob Stoklund Olesen authored
llvm-svn: 134311
-
Jakob Stoklund Olesen authored
Add a MI->emitError() method that the backend can use to report errors related to inline assembly. Call it from X86FloatingPoint.cpp when the constraints are wrong. This enables proper clang diagnostics from the backend: $ clang -c pr30848.c pr30848.c:5:12: error: Inline asm output regs must be last on the x87 stack __asm__ ("" : "=u" (d)); /* { dg-error "output regs" } */ ^ 1 error generated. llvm-svn: 134307
-
- Jun 30, 2011
-
-
Jakob Stoklund Olesen authored
llvm-svn: 134193
-
- Jun 28, 2011
-
-
Jakob Stoklund Olesen authored
Drop the FpMov instructions, use plain COPY instead. Drop the FpSET/GET instruction for accessing fixed stack positions. Instead use normal COPY to/from ST registers around inline assembly, and provide a single new FpPOP_RETVAL instruction that can access the return value(s) from a call. This is still necessary since you cannot tell from the CALL instruction alone if it returns anything on the FP stack. Teach fast isel to use this. This provides a much more robust way of handling fixed stack registers - we can tolerate arbitrary FP stack instructions inserted around calls and inline assembly. Live range splitting could sometimes break x87 code by inserting spill code in unfortunate places. As a bonus we handle floating point inline assembly correctly now. llvm-svn: 134018
-
- Jun 27, 2011
-
-
Jakob Stoklund Olesen authored
This allows for more live scratch registers which is needed to handle live ST registers before return and inline asm instructions. llvm-svn: 133903
-
- Apr 15, 2011
-
-
Chris Lattner authored
Luis Felipe Strano Moraes! llvm-svn: 129558
-
- Jan 04, 2011
-
-
Jakob Stoklund Olesen authored
bundles in the pass. llvm-svn: 122833
-
Jakob Stoklund Olesen authored
The analysis will be needed by both the greedy register allocator and the X86FloatingPoint pass. It only needs to be computed once when the CFG doesn't change. This pass is very fast, usually showing up as 0.0% wall time. llvm-svn: 122832
-
- Oct 23, 2010
-
-
Chandler Carruth authored
until other LLVM projects using these are cleaned up. llvm-svn: 117200
-
- Oct 21, 2010
-
-
Duncan Sands authored
(gcc-4.6 warns about these). llvm-svn: 117021
-
- Oct 13, 2010
-
-
Evan Cheng authored
Turn some fp stackifier assertion into errors to avoid silently generating bad code when assertions are off. rdar://8540457. llvm-svn: 116368
-
- Aug 18, 2010
-
-
Bill Wendling authored
llvm-svn: 111383
-
- Aug 16, 2010
-
-
Jakob Stoklund Olesen authored
clang says is unused. llvm-svn: 111167
-
Jakob Stoklund Olesen authored
llvm-svn: 111155
-
- Aug 06, 2010
-
-
Owen Anderson authored
llvm-svn: 110460
-
Owen Anderson authored
llvm-svn: 110410
-
Owen Anderson authored
ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
-
- Jul 17, 2010
-
-
Chris Lattner authored
llvm-svn: 108625
-
Jakob Stoklund Olesen authored
The isLive() method can read uninitialized memory, but it still gives correct results. llvm-svn: 108561
-
- Jul 16, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 108535
-
Jakob Stoklund Olesen authored
FP_REG_KILL instructions are still inserted, but can be disabled by passing -live-x87 to llc. The X87FPRegKillInserterPass is going to be removed shortly. CFG edges are partioned into bundles where the x87 stack must be allocated identically. Code is insertad at the end of each basic block that shuffles the live FP registers to match the outgoing bundles expectations. This fix is in preparation for some upcoming register allocator improvements that may extend the live range of registers beyond a basic block, similar to LICM. It also provides a nice runtime speedup if you are building with -mfpmath=387. llvm-svn: 108529
-
- Jul 10, 2010
-
-
Jakob Stoklund Olesen authored
Based on a patch by Rafael Espíndola. Attempt to make the FpSET_ST1 hack more robust, but we are still relying on FpSET_ST0 preceeding it. This is only for supporting really weird x87 inline asm. We support: FpSET_ST0 INLINEASM FpSET_ST0 FpSET_ST1 INLINEASM with and without kills on the arguments. We don't support: FpSET_ST1 FpSET_ST0 INLINEASM nor FpSET_ST1 INLINEASM Just Don't Do It! llvm-svn: 108047
-
- Jul 09, 2010
-
-
Chris Lattner authored
X86 memory operand. llvm-svn: 107925
-
- Jul 08, 2010
-
-
Jakob Stoklund Olesen authored
This pass runs before COPY instructions are passed to copyPhysReg, so we simply translate COPY to the proper pseudo instruction. Note that copyPhysReg does not handle floating point stack copies. Once COPY is used everywhere, this can be cleaned up a bit, and most of the pseudo instructions can be removed. llvm-svn: 107899
-