77e300e8f0b8db8eec448cae9c87d7c5bfad9757 |
|
06-Sep-2012 |
Manman Ren <mren@apple.com> |
Release build: guard dump functions with "ifndef NDEBUG" No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
a20e1e7ef596842127794372244fd5c646f71296 |
|
01-Aug-2012 |
Chad Rosier <mcrosier@apple.com> |
Whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
d9b0b025612992a0b724eeca8bdf10b1d7a5c355 |
|
02-Jun-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix typos found by http://github.com/lyda/misspell-check git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
4e02f23de24375294005f88b5254a3775d39fcb2 |
|
27-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Prune some includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
c89c744b69cecac576317a98322fd295e36e9886 |
|
27-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Remove unnecessary llvm:: qualifications git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
79aa3417eb6f58d668aadfedf075240a41d35a26 |
|
17-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Reorder includes in Target backends to following coding standards. Remove some superfluous forward declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
72051bf629087bb7d7e68aa4d553be8137098056 |
|
09-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Use uint16_t to store opcodes in static tables in X86 backend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152391 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
9a68fdc7f8211a9330537d44e3406d79fc5562af |
|
25-Feb-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151432 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
1a2d061ec08b86ba91d7009b6ffcf08d5bac3f42 |
|
24-Feb-2012 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Add WIN_FTOL_* psudo-instructions to model the unique calling convention used by the Win32 _ftol2 runtime function. Patch by Joe Groff! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
1f6a329f79b3568d379142f921f59c4143ddaa14 |
|
12-Aug-2011 |
Duncan Sands <baldrick@free.fr> |
Silence a bunch (but not all) "variable written but not read" warnings when building with assertions disabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
66b0f515d5f7d4b830c3407a273facde405e4f86 |
|
08-Aug-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Don't clobber pending ST regs when FP regs are killed. 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
56e3232d5a5206f8b554eccd4aea2e75e59d4314 |
|
03-Aug-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Handle IMPLICIT_DEF instructions in X86FloatingPoint. This fixes PR10575. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
0d3d95662f5a5b43045e8707b773048a7c317f13 |
|
02-Jul-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Consistent diagnostic capitalization and redundant context elimination. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134311 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
d519de082766bb71e13f6a516b305ff841c6b48c |
|
02-Jul-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Include a source location when complaining about bad inline assembly. 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134307 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
1bd622132b3915c3cb2b044b4d57a879586bae9f |
|
30-Jun-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Tweak error messages to match GCC. Should fix gcc.target/i386/pr30848.c git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
9bbe4d6c004f25bc491e2583cce7bc91891f68c7 |
|
28-Jun-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Clean up the handling of the x87 fp stack to make it more robust. 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
1baeb006d2bb74dd9f6fa633fcc53e3b1ecbbf35 |
|
27-Jun-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Grow the X86FloatingPoint register map to hold 16 registers. This allows for more live scratch registers which is needed to handle live ST registers before return and inline asm instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
7a2bdde0a0eebcd2125055e0eacaca040f0b766c |
|
15-Apr-2011 |
Chris Lattner <sabre@nondot.org> |
Fix a ton of comment typos found by codespell. Patch by Luis Felipe Strano Moraes! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
631ee4b89f494a3056c62f84e434e1ecf266bb8a |
|
04-Jan-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Use the EdgeBundles analysis in X86FloatingPoint instead of recomputing CFG bundles in the pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
8dd070edc2209ecfdae49780ec1596b349e2cbd1 |
|
04-Jan-2011 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Turn the EdgeBundles class into a stand-alone machine CFG analysis pass. 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122832 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
100c267249d1d03c4f96eede9877a4f9f54f2247 |
|
23-Oct-2010 |
Chandler Carruth <chandlerc@gmail.com> |
Switch attribute macros to use 'LLVM_' as a prefix. We retain the old names until other LLVM projects using these are cleaned up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117200 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
6abfa46987e4cb47e2d88ea02574c2c082b0625d |
|
21-Oct-2010 |
Duncan Sands <baldrick@free.fr> |
Remove some variables that are never really used (gcc-4.6 warns about these). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
3f490f3469dd30b47d7b59a9b84750c31dc19633 |
|
13-Oct-2010 |
Evan Cheng <evan.cheng@apple.com> |
Turn some fp stackifier assertion into errors to avoid silently generating bad code when assertions are off. rdar://8540457. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
86b98b58745f09ac7fc8cee5eac9caa5739045c0 |
|
18-Aug-2010 |
Bill Wendling <isanbard@gmail.com> |
Marked with ATTRIBUTE_USED so that clang doesn't complain. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
de78f05cf77a583668d74651f1b3df6154b20199 |
|
16-Aug-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Partially revert r111155. It looks like MSVC is calling an operator<() that clang says is unused. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
a649ab542d96f1e49122c929c87821a90b497b07 |
|
16-Aug-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Remove unused functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
90c579de5a383cee278acc3f7e7b9d0a656e6a35 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Reapply r110396, with fixes to appease the Linux buildbot gods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
1f74590e9d1b9cf0f1f81a156efea73f76546e05 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Revert r110396 to fix buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
9ccaf53ada99c63737547c0235baeb8454b04e80 |
|
06-Aug-2010 |
Owen Anderson <resistor@mac.com> |
Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
a40ce7e394283d78bdda3d7ea728ba2ffae0ef39 |
|
17-Jul-2010 |
Chris Lattner <sabre@nondot.org> |
doxygenify some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
b47bb13331fe39aa7827f52397bbe366a158a128 |
|
17-Jul-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Keep valgrind quiet. The isLive() method can read uninitialized memory, but it still gives correct results. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
e098e7a96d869367f95df0dbcafa3ededce765b6 |
|
16-Jul-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Search for a free FP register instead of just assuming FP7 is not in use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108535 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
e928ec9480072ed1298fba2fbd8faa0e89253bf1 |
|
16-Jul-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Allow x87 FP registers to be alive globally in a function. 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108529 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
2b336bc4fed0812db24ead970f4d1ac0562af563 |
|
10-Jul-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Don't emit st(0)/st(1) copies as FpMOV instructions. Use FpSET_ST? instead. 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! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
ac0ed5dc082dff9ce359af5422f5b82047b4fe6b |
|
09-Jul-2010 |
Chris Lattner <sabre@nondot.org> |
add some long-overdue enums to refer to the parts of the 5-operand X86 memory operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
7db1e7a527bc74e605da6ea86eb67945d8f17b07 |
|
08-Jul-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Teach the x86 floating point stackifier to handle COPY instructions. 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
fe60104ac97f3a8736dcfbfdf9547c7b7cc7b951 |
|
22-Jun-2010 |
Dan Gohman <gohman@apple.com> |
Use pre-increment instead of post-increment when the result is not used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106542 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
99405df044f2c584242e711cc9023ec90356da82 |
|
09-Jun-2010 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Reapply r105521, this time appending "LLU" to 64 bit immediates to avoid breaking the build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
1087f54ddb70bd2a7ab62608161e4a3f0c345935 |
|
05-Jun-2010 |
Chris Lattner <sabre@nondot.org> |
revert r105521, which is breaking the buildbots with stuff like this: In file included from X86InstrInfo.cpp:16: X86GenInstrInfo.inc:2789: error: integer constant is too large for 'long' type X86GenInstrInfo.inc:2790: error: integer constant is too large for 'long' type X86GenInstrInfo.inc:2792: error: integer constant is too large for 'long' type X86GenInstrInfo.inc:2793: error: integer constant is too large for 'long' type X86GenInstrInfo.inc:2808: error: integer constant is too large for 'long' type X86GenInstrInfo.inc:2809: error: integer constant is too large for 'long' type X86GenInstrInfo.inc:2816: error: integer constant is too large for 'long' type X86GenInstrInfo.inc:2817: error: integer constant is too large for 'long' type git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
3eca98bb3ab1ec27ab8763298c416d282cdaa261 |
|
05-Jun-2010 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Initial AVX support for some instructions. No patterns matched yet, only assembly encoding support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105521 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
7261fb2a6f1458a70e55ba03fb71f7ab70af8103 |
|
28-Apr-2010 |
Jakob Stoklund Olesen <stoklund@2pi.dk> |
Teach X86FloatingPoint that a register can be killed multiple times by the same instruction. This instruction would crash the pass: INLINEASM <es:foo $0 $1>, 9, %FP0<kill>, 9, %FP0<kill>, 14, %EFLAGS<earlyclobber,def,dead> Now it doesn't. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
518bb53485df640d7b7e3f6b0544099020c42aa7 |
|
09-Feb-2010 |
Chris Lattner <sabre@nondot.org> |
move target-independent opcodes out of TargetInstrInfo into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
f5c95a6ee2525e8043d19502dab85a9d34598e4e |
|
05-Jan-2010 |
David Greene <greened@obbligato.org> |
Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92654 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
7896c9f436a4eda5ec15e882a7505ba482a2fcd0 |
|
03-Dec-2009 |
Chris Lattner <sabre@nondot.org> |
improve portability to avoid conflicting with std::next in c++'0x. Patch by Howard Hinnant! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
f5a86f45e75ec744c203270ffa03659eb0a220c1 |
|
25-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Remove includes of Support/Compiler.h that are no longer needed after the VISIBILITY_HIDDEN removal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
6726b6d75a8b679068a58cb954ba97cf9d1690ba |
|
25-Oct-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces. Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85042 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
ba3598cb1facb2b5aaa8ec47faf2cd07689a3b86 |
|
08-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
fix PR4767, a crash because fp stackifier visited blocks in depth first order, so it wouldn't process unreachable blocks. When compiling at -O0, late dead block elimination isn't done and the bad instructions got to isel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81187 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
4437ae213d5435390f0750213b53ec807c047f22 |
|
23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
eliminate uses of cerr() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79834 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
705e07f578e2b3af47ddab610feb4e7f2d3063a5 |
|
23-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
remove various std::ostream version of printing methods from MachineInstr and MachineOperand. This required eliminating a bunch of stuff that was using DOUT, I hope that bill doesn't mind me stealing his fun. ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79813 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
0ea8bf3590d7553179f95e4b0fc47c02f066fcfb |
|
03-Aug-2009 |
Bill Wendling <isanbard@gmail.com> |
- s/DOUT/DEBUG(errs()/g - Tidy up some headers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
df09055cdb124a0d53258ad09d3a1d62bdb7dd19 |
|
01-Aug-2009 |
Dan Gohman <gohman@apple.com> |
X86 floating-point passes don't modify the CFG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
c23197a26f34f559ea9797de51e187087c039c42 |
|
14-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
c25e7581b9b8088910da31702d4ca21c4734c6d7 |
|
11-Jul-2009 |
Torok Edwin <edwintorok@gmail.com> |
assert(0) -> LLVM_UNREACHABLE. Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
af5f6ba32d5f03aa1e0c1aeecd81c99fea842d4c |
|
30-Jun-2009 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix PR4485. Avoid unnecessary duplication of operand 0 of X86::FpSET_ST0_80. This duplication would cause one register to remain on the stack at the function return. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
f55715c5c70d2f762f7753707758650ac883f99e |
|
30-Jun-2009 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix PR4484. This was caused by me confounding FP0 and ST(0). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
63de5c3b7eda642ff76dffd6b109407565fdcd1b |
|
29-Jun-2009 |
Rafael Espindola <rafael.espindola@gmail.com> |
FIX PR 4459. Not sure I understand how the temp register gets used, but this fixes a bug and introduces no regressions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
1c3329f7072356c8da84534ed0a7033b10f73062 |
|
21-Jun-2009 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix PR4185. Handle FpSET_ST0_80 being used when ST0 is still alive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73850 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
da945e3bb2069c1a7194bcd10579a03ff925a031 |
|
28-Mar-2009 |
Rafael Espindola <rafael.espindola@gmail.com> |
Have only one definition of X86AddrNumOperands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
b449a68146c7188a20bba11db19229a5cb46938a |
|
28-Mar-2009 |
Rafael Espindola <rafael.espindola@gmail.com> |
Make code a bit less brittle by no hardcoding the number of operands in an address in so many places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
fb11288109329cb736d9f49769581a0d0c23fe19 |
|
23-Mar-2009 |
Evan Cheng <evan.cheng@apple.com> |
Model inline asm constraint which ties an input to an output register as machine operand TIED_TO constraint. This eliminated the need to pre-allocate registers for these. This also allows register allocator can eliminate the unneeded copies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
8d13f8f1043d8b47940ecab7bac838ff1e8166f8 |
|
13-Feb-2009 |
Dale Johannesen <dalej@apple.com> |
Remove non-DebugLoc versions of BuildMI from X86. There were some that might even matter in X86FastISel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
a0eedac226e79d818ce1124fe500a6e354e3444a |
|
10-Feb-2009 |
Evan Cheng <evan.cheng@apple.com> |
Implement FpSET_ST1_*. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64186 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
d735b8019b0f297d7c14b55adcd887af24d8e602 |
|
03-Oct-2008 |
Dan Gohman <gohman@apple.com> |
Switch the MachineOperand accessors back to the short names like isReg, etc., from isRegister, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
8b56a90bec639665fc024896d2fc2bdd095c76a3 |
|
23-Sep-2008 |
Evan Cheng <evan.cheng@apple.com> |
Instead of setPreservesAll, just mark them preseving machine loop info and machine dominators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
bbeeb2a61ea19fbb5449260165b56c40fdc4860b |
|
22-Sep-2008 |
Evan Cheng <evan.cheng@apple.com> |
Mark several codegen passes as preserving all analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
014278e6a11fa0767853b831e5bf51b95bf541c5 |
|
13-Sep-2008 |
Dan Gohman <gohman@apple.com> |
Remove isImm(), isReg(), and friends, in favor of isImmediate(), isRegister(), and friends, to avoid confusion about having two different names with the same meaning. I'm not attached to the longer names, and would be ok with changing to the shorter names if others prefer it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
ae73dc1448d25b02cabc7c64c86c64371453dda8 |
|
04-Sep-2008 |
Dan Gohman <gohman@apple.com> |
Tidy up several unbeseeming casts from pointer to intptr_t. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
eaa009d963f0715257a26c6bf32ce6dd14326415 |
|
14-Aug-2008 |
Owen Anderson <resistor@mac.com> |
Remove more uses of std::set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
a022bdfd99bc092dac9cefb4c2be9de787ea8e0f |
|
21-Jul-2008 |
Evan Cheng <evan.cheng@apple.com> |
Eliminate a compilation warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
8e5f2c6f65841542e2a7092553fe42a00048e4c7 |
|
08-Jul-2008 |
Dan Gohman <gohman@apple.com> |
Pool-allocation for MachineInstrs, MachineBasicBlocks, and MachineMemOperands. The pools are owned by MachineFunctions. This drastically reduces the number of calls to malloc/free made during the "Emit" phase of scheduling, as well as later phases in CodeGen. Combined with other changes, this speeds up the "instruction selection" phase of CodeGen by 10% in some cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53212 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
35831d06fdd17f42897a9931555c17af490c06ee |
|
21-Mar-2008 |
Chris Lattner <sabre@nondot.org> |
Restore this assert now that the livevar bug is fixed. This verifies kill info for "ret" fp operands is right. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
920c37afc5896201ec014041cbd270289baa25c0 |
|
21-Mar-2008 |
Chris Lattner <sabre@nondot.org> |
remove Evan's "ugly hack" that sorta attempted to get x86-64 return conventions correct, but was never enabled. We can now do the "right thing" with multiple return values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
24e0a546b40d67dd3662273eb4aef30c230a15ef |
|
21-Mar-2008 |
Chris Lattner <sabre@nondot.org> |
Add support for calls that return two FP values in ST(0)/ST(1). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
ae60ddc22ad243ea9ae2f4353e143190063f2322 |
|
21-Mar-2008 |
Chris Lattner <sabre@nondot.org> |
disable a bogus assertion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48633 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
0353526ed11fc308cf34465e4d14a6cadf8cfb62 |
|
21-Mar-2008 |
Chris Lattner <sabre@nondot.org> |
Enable support for returning two long-double values in ST(0)/ST(1). This allows us to compile fp-stack-2results.ll into: _test: fldz fld1 ret which returns 1 in ST(0) and 0 in ST(1). This is needed for x86-64 _Complex long double. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
e12ecf272d90c366e15531c15b6681ab5399ba33 |
|
11-Mar-2008 |
Chris Lattner <sabre@nondot.org> |
Implement basic support for the 'f' register class constraint. This basically works, but probably won't if you mix it with 't' or 'u' yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
3c78697a3cb6e98d904535606fbebab7746d1161 |
|
11-Mar-2008 |
Nick Lewycky <nicholas@mxc.ca> |
Fix the build on gcc 4.2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48212 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
447ff68c08bc01aa040ae6d0291af69b55bb8e57 |
|
11-Mar-2008 |
Chris Lattner <sabre@nondot.org> |
Change the model for FP Stack return to use fp operands on the RET instruction instead of using FpSET_ST0_32. This also generalizes the code to handling returning of multiple FP results. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48209 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
afb23f48a4f5f76b4a0fca870ae5a28c27dde028 |
|
09-Mar-2008 |
Chris Lattner <sabre@nondot.org> |
rename FP_SETRESULT -> FP_SET_ST0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
6fa2f9c63688ff240d58c80bc0e433bb27a53c85 |
|
09-Mar-2008 |
Chris Lattner <sabre@nondot.org> |
rename FpGETRESULT32 -> FpGET_ST0_32 etc. Add support for isel'ing value preserving FP roundings from one fp stack reg to another into a noop, instead of stack traffic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
6130f66eaae89f8878590796977678afa8448926 |
|
05-Mar-2008 |
Evan Cheng <evan.cheng@apple.com> |
Refactor code. Remove duplicated functions that basically do the same thing as findRegisterUseOperandIdx, findRegisterDefOperandIndx. Fix some naming inconsistencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47927 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
0d9e976ad2c5479f3d67f8cb09a5908cfc29985c |
|
29-Jan-2008 |
Evan Cheng <evan.cheng@apple.com> |
Work in progress. This patch *fixes* x86-64 calls which are modelled as StructRet but really should be return in registers, e.g. _Complex long double, some 128-bit aggregates. This is a short term solution that is necessary only because llvm, for now, cannot model i128 nor call's with multiple results. Status: This only works for direct calls, and only the caller side is done. Disabled for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46527 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
3cc838433aa9dfe7106c2eef2b2eceb2d3548663 |
|
14-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
Improve the FP stackifier to decide all on its own whether an instruction kills a register or not. This is cheap and easy to do now that instructions record this on their flags, and this eliminates the second pass of LiveVariables from the x86 backend. This speeds up a release llc by ~2.5%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45955 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
5080f4d9919d39b367891dc51e739c571a66036c |
|
11-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
rename MachineInstr::setInstrDescriptor -> setDesc git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45871 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
749c6f6b5ed301c84aac562e414486549d7b98eb |
|
07-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
rename TargetInstrDescriptor -> TargetInstrDesc. Make MachineInstr::getDesc return a reference instead of a pointer, since it can never be null. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
349c4952009525b27383e2120a6b3c998f39bd09 |
|
07-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
Move a bunch more accessors from TargetInstrInfo to TargetInstrDescriptor git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
69244300b8a0112efb44b6273ecea4ca6264b8cf |
|
07-Jan-2008 |
Chris Lattner <sabre@nondot.org> |
Rename MachineInstr::getInstrDescriptor -> getDesc(), which reflects that it is cheap and efficient to get. Move a variety of predicates from TargetInstrInfo into TargetInstrDescriptor, which makes it much easier to query a predicate when you don't have TII around. Now you can use MI->getDesc()->isBranch() instead of going through TII, and this is much more efficient anyway. Not all of the predicates have been moved over yet. Update old code that used MI->getInstrDescriptor()->Flags to use the new predicates in many places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45674 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
84bc5427d6883f73cfeae3da640acd011d35c006 |
|
31-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Rename SSARegMap -> MachineRegisterInfo in keeping with the idea that "machine" classes are used to represent the current state of the code being compiled. Given this expanded name, we can start moving other stuff into it. For now, move the UsedPhysRegs and LiveIn/LoveOuts vectors from MachineFunction into it. Update all the clients to match. This also reduces some needless #includes, such as MachineModuleInfo from MachineFunction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45467 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
4ee451de366474b9c228b4e5fa573795a715216d |
|
29-Dec-2007 |
Chris Lattner <sabre@nondot.org> |
Remove attribution from file headers, per discussion on llvmdev. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
e5f6204cd5d2306379bf8954e280ad35619a38b5 |
|
29-Sep-2007 |
Evan Cheng <evan.cheng@apple.com> |
Enabling new condition code modeling scheme. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42459 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
4e4d2d7d9aa0961b6a9130336f46d95944410197 |
|
25-Sep-2007 |
Evan Cheng <evan.cheng@apple.com> |
New style x87 cmp instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
0488db9b99fcfca407e859ef5cccf40dea23de16 |
|
25-Sep-2007 |
Evan Cheng <evan.cheng@apple.com> |
Added support for new condition code modeling scheme (i.e. physical register dependency). These are a bunch of instructions that are duplicated so the x86 backend can support both the old and new schemes at the same time. They will be deleted after all the kinks are worked out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
41de436ca367ee3b4257551754bac236a37a2da5 |
|
20-Sep-2007 |
Dale Johannesen <dalej@apple.com> |
another long double buglet git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
ca8035e3569afd5a8d0ef406b82dad1b7e673683 |
|
17-Sep-2007 |
Dale Johannesen <dalej@apple.com> |
Remove RSTRegClass case from loadRegFromStackSlot and storeRegToStackSlot. Evan and I concluded this should never be needed and it appears to be true. (It if is needed, adjustment would be needed for long double to work.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
92dfe2001e96f6e2b6d327e8816f38033f88b295 |
|
14-Sep-2007 |
Dan Gohman <gohman@apple.com> |
Remove isReg, isImm, and isMBB, and change all their users to use isRegister, isImmediate, and isMachineBasicBlock, which are equivalent, and more popular. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
49c23935e01ec039910184d071633468557eb28b |
|
11-Sep-2007 |
Duncan Sands <baldrick@free.fr> |
My compiler warns about the semicolon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41840 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
718cb665ca6ce2bc4d8e8479f46a45db91b49f86 |
|
07-Sep-2007 |
Owen Anderson <resistor@mac.com> |
Add lengthof and endof templates that hide a lot of sizeof computations. Patch by Sterling Stein! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41758 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
cdbe4d3ebe50bd3709b08ee59bb09ccf3a1fbd47 |
|
07-Aug-2007 |
Dale Johannesen <dalej@apple.com> |
Long double patch 8 of N: make it partially work in SSE mode (all but conversions <-> other FP types, I think): >>Do not mark all-80-bit operations as "Requires[FPStack]" (which really means "not SSE"). >>Refactor load-and-extend to facilitate this. >>Update comments. >>Handle long double in SSE when computing FP_REG_KILL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40906 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
a996d52e3767fb560774dfd8bc911c927ed5ca9f |
|
07-Aug-2007 |
Dale Johannesen <dalej@apple.com> |
Long double patch 7 of N, unless I lost count:). Last x87 bits for full functionality (not thoroughly tested, and long doubles do not work in SSE modes at all - use -mcpu=i486 for now) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
6a30811d5c3484883cbcbbda1140f2ac36f7c09c |
|
06-Aug-2007 |
Dale Johannesen <dalej@apple.com> |
Get X86 long double calling convention to work (on Darwin, anyway). Fix some table omissions for LD arithmetic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40877 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
88835735f49c3fce20698a72898df83bd84bd1cd |
|
06-Aug-2007 |
Dale Johannesen <dalej@apple.com> |
Make 80-bit store maintain simulated FP stack correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
59a587337e1c3bde6c0c560ad34f9ee73bb78328 |
|
05-Aug-2007 |
Dale Johannesen <dalej@apple.com> |
Long double patch 4 of N: initial x87 implementation. Lots of problems yet but some simple things work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
afdc7fda65953c0444671dd3e3ce98f5097c1a20 |
|
10-Jul-2007 |
Dale Johannesen <dalej@apple.com> |
Fix fp_constant_op failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38514 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
e377d4d142d7e2ec9266435087c99ffc43f394aa |
|
04-Jul-2007 |
Dale Johannesen <dalej@apple.com> |
Refactor X87 instructions. As a side effect, all their names are changed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
411d9c5467f2519d7442186517b87147694fd130 |
|
03-Jul-2007 |
Dale Johannesen <dalej@apple.com> |
Some spacing fixes. Cosmetic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37853 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
849f214a4e3676e41168b0c5398165c4d4fb99f8 |
|
03-Jul-2007 |
Dale Johannesen <dalej@apple.com> |
Fix for PR 1505 (and 1489). Rewrite X87 register model to include f32 variants. Some factoring improvments forthcoming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37847 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
1997473cf72957d0e70322e2fe6fe2ab141c58a6 |
|
03-May-2007 |
Devang Patel <dpatel@apple.com> |
Drop 'const' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36662 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
3e15bf33e024b9df9e89351a165acfdb1dde51ed |
|
02-May-2007 |
Devang Patel <dpatel@apple.com> |
Use 'static const char' instead of 'static const int'. Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
794fd75c67a2cdc128d67342c6d88a504d186896 |
|
01-May-2007 |
Devang Patel <dpatel@apple.com> |
Do not use typeinfo to identify pass in pass manager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36632 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
6c087e5585b227f3c1d8278304c7cfbc7cd4f6e8 |
|
26-Apr-2007 |
Evan Cheng <evan.cheng@apple.com> |
Match MachineFunction::UsedPhysRegs changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
95b2c7da5e83670881270c1cd231a240be0556d9 |
|
19-Dec-2006 |
Chris Lattner <sabre@nondot.org> |
eliminate static ctors for Statistic objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32703 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
c5f8e4f13406c86785069839c1edfb86ae767e63 |
|
08-Dec-2006 |
Chris Lattner <sabre@nondot.org> |
Fix a bug introduced by the streams patch. DEBUG code was made unconditional. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32351 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
f5da13367f88f06e3b585dc2263ab6e9ca6c4bf8 |
|
07-Dec-2006 |
Bill Wendling <isanbard@gmail.com> |
What should be the last unnecessary <iostream>s in the library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32333 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
ac0b6ae358944ae8b2b5a11dc08f52c3ed89f2da |
|
06-Dec-2006 |
Chris Lattner <sabre@nondot.org> |
Detemplatize the Statistic class. The only type it is instantiated with is 'unsigned'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
32644ac67ce25a06c8c6658746911479d56a894f |
|
01-Dec-2006 |
Evan Cheng <evan.cheng@apple.com> |
Fix 2005-05-08-FPStackifierPHI.ll failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32071 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
12a447898a3c68c1a9489f71b82650b46244d00a |
|
30-Nov-2006 |
Evan Cheng <evan.cheng@apple.com> |
MachineInstr::setOpcode -> MachineInstr::setInstrDescriptor git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32034 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
c0f64ffab93d11fb27a3b8a0707b77400918a20e |
|
28-Nov-2006 |
Evan Cheng <evan.cheng@apple.com> |
Change MachineInstr ctor's to take a TargetInstrDescriptor reference instead of opcode and number of operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
ddd2a4556a0b4d0e364de7087ccf1475fa23f39f |
|
15-Nov-2006 |
Evan Cheng <evan.cheng@apple.com> |
Kill / dead info has been moved to MI's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31764 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
3cdd9f65ed2630e999d5034ad02d07cbb73abc88 |
|
14-Nov-2006 |
Evan Cheng <evan.cheng@apple.com> |
Revert. This wasn't meant to be checked in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31737 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
7ce45783531cfa81bfd7be561ea7e4738e8c6ca8 |
|
14-Nov-2006 |
Evan Cheng <evan.cheng@apple.com> |
Matches MachineInstr changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
5cd3e9f4b7caa5a79c6c05633b11144d0ae41771 |
|
11-Nov-2006 |
Evan Cheng <evan.cheng@apple.com> |
Add implicit use / def operands to created MI's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
171d09ea537ac272091a1a2560302074b144fcca |
|
10-Nov-2006 |
Evan Cheng <evan.cheng@apple.com> |
Use TargetInstrInfo::getNumOperands() instead of MachineInstr::getNumOperands(). In preparation for implicit reg def/use changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
3ed469ccd7b028a030b550d84b7336d146f5d8fa |
|
02-Nov-2006 |
Reid Spencer <rspencer@reidspencer.com> |
For PR786: Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
6cdb1ea610c2d802696da55c55bf73c44202a2db |
|
05-Sep-2006 |
Chris Lattner <sabre@nondot.org> |
Bugfix to work with the two-addr changes that have been made in the tree recently git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
a4f0b3a084d120cfc5b5bb06f64b222f5cb72740 |
|
27-Aug-2006 |
Chris Lattner <sabre@nondot.org> |
s|llvm/Support/Visibility.h|llvm/Support/Compiler.h| git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
c06fe8a5ac41ff407af25395f58d15c650f5b266 |
|
19-Jul-2006 |
Jim Laskey <jlaskey@mac.com> |
Do once flag never set to true. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29214 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
2c79de8018bb8c77a245d4ccb740affbf1f52319 |
|
29-Jun-2006 |
Chris Lattner <sabre@nondot.org> |
Hide x86 symbols git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
2b1527157116ba6045667eb29568f2f460d7b670 |
|
18-Feb-2006 |
Evan Cheng <evan.cheng@apple.com> |
Added fisttp for fp to int conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26283 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
9471c8a93b117d8ac01c4ef1cb9faa583e03dec0 |
|
26-Jan-2006 |
Jeff Cohen <jeffc@jolt-lang.org> |
Improve compatibility with VC2005, patch by Morten Ofstad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25661 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
2c2c6c61f100bc7c3df873b11203fcea1b5e18fe |
|
23-Jan-2006 |
Chris Lattner <sabre@nondot.org> |
Add explicit #includes of <iostream> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
86556a5f42c549a7a13c82fb65330ab53826fb17 |
|
21-Jan-2006 |
Evan Cheng <evan.cheng@apple.com> |
Rename fcmovae to fcmovnb and fcmova to fcmovnbe (following Intel manual). Some assemblers can't recognize the aliases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
f710062bfb428fac756a630b46475a0988609fe8 |
|
10-Jan-2006 |
Evan Cheng <evan.cheng@apple.com> |
* fp to sint patterns. * fiadd, fisub, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25189 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
58fe459e36605342410e8c11d12ee1901428b14b |
|
21-Dec-2005 |
Chris Lattner <sabre@nondot.org> |
Rewrite FP stackifier support in the X86InstrInfo.td file, splitting patterns that were overloaded to work before and after the stackifier runs. With the new clean world, it is possible to write patterns for these instructions: woo! This also adds a few simple patterns here and there, though there are a lot still missing. These should be easy to add though. :) See the comments under "Floating Point Stack Support" for more details on the new world order. This patch as absolutely no effect on the generated code, woo! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
d1775798607f12b31dc2fc186312673ff417eadd |
|
24-Aug-2005 |
Chris Lattner <sabre@nondot.org> |
Adjust to new livevars interface git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
76eb08bcda869413d4e730dce290874762d5bfd3 |
|
24-Aug-2005 |
Chris Lattner <sabre@nondot.org> |
Simplify this code by using LiveVariables::KillsRegister git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22988 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
0e0a7a45d3d0a8c865a078459d2e1c6d8967a100 |
|
22-Apr-2005 |
Misha Brukman <brukman+llvm@gmail.com> |
* Remove trailing whitespace * Convert tabs to spaces git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
42e25b387f9bbae463ddd739c16e4fdc81abb371 |
|
24-Jan-2005 |
Chris Lattner <sabre@nondot.org> |
Allow the FP stackifier to completely ignore functions that do not use FP at all. This should speed up the X86 backend fairly significantly on integer codes. Now if only we didn't have to compute livevar still... ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
551ccae044b0ff658fe629dd67edd5ffe75d10e8 |
|
02-Sep-2004 |
Reid Spencer <rspencer@reidspencer.com> |
Changes For Bug 352 Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
91b5ca838ac74ba7756a49b569684f1889cae8af |
|
26-Jul-2004 |
Misha Brukman <brukman+llvm@gmail.com> |
Fix file header as it has been renamed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15239 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
b140762a45d21aaed054f15adaff0fc2274d939d |
|
25-Jun-2004 |
Tanya Lattner <tonic@nondot.org> |
Made a fix so that you can print out MachineInstrs that belong to a MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14389 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
57790422ca6f4d2af23a4e29af3c48a19a5cfbd8 |
|
11-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Fix bug in previous checkin git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14146 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
0ca2c8e02c40c5fad9faeb725e8ab5df5e76ec06 |
|
11-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Now that compare instructions aren't lumped in with the other twoargfp instructions, we can get rid of the FpUCOM/FpUCOMi pseudo instructions, which makes stuff simpler and faster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14144 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
ab8deccb82460527562d1c36a787537e4edaa9dd |
|
11-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Introduce a new FP instruction type to separate the compare cases from the twoarg cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14143 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
d62d5d7e5bb353785784fc40c088836c4cf160b4 |
|
11-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Split compare instruction handling OUT of handleTwoArgFP into handleCompareFP. This makes the code much simpler, and the two cases really do belong apart. Once we do it, it's pretty obvious how flawed the logic was for A != A case, so I fixed it (fixing PR369). This also uses freeStackSlotAfter instead of inserting an fxchg then popStackAfter'ing in the case where there is a dead result (unlikely, but possible), producing better code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14139 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
d029cd2d5a159823f20a91d30fd782aae871c589 |
|
02-Jun-2004 |
Chris Lattner <sabre@nondot.org> |
Convert to the new TargetMachine interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
2268684f6fef2ef7e5b523d21dbd376f09ec1174 |
|
01-May-2004 |
Chris Lattner <sabre@nondot.org> |
Iterate over the Machine CFG that Brian added instead of the LLVM CFG. Look at all of the pretty minuses. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
098e945fbdd7eac94cc3c851eae83fcdd7c80726 |
|
14-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
This is the real fix for Codegen/X86/2004-04-13-FPCMOV-Crash.llx which works even when the "optimization" I added before is turned off. It generates this extremely pointless code: test: fld QWORD PTR [%ESP + 4] mov %AL, 0 test %AL, %AL fcmove %ST(0), %ST(0) ret Good thing the optimizer will have removed this before code generation anyway. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
133dbb128501f7006a533678261dd8e0debc663c |
|
12-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Fix issues that the local allocator has dealing with instructions that implicitly use ST(0) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
c040bca4b9dfaa58cbc0c00f1cc435e3251332ec |
|
12-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add support for the FUCOMIr instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12851 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
4cf15e7a3bed2ff3a7fa87f18cdf65b7eecccee2 |
|
11-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Relax assertion to make this function work with a broader class of instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
0526f01fec0945eca49ccd91f22a93af6bb71c17 |
|
01-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Simplify code by using the more powerful BuildMI forms. Implement a small optimization. In test/Regression/CodeGen/X86/select.ll, we now generate this for foldSel3: foldSel3: mov %AL, BYTE PTR [%ESP + 4] fld DWORD PTR [%ESP + 8] fld DWORD PTR [%ESP + 12] mov %EAX, DWORD PTR [%ESP + 16] mov %ECX, DWORD PTR [%ESP + 20] cmp %EAX, %ECX fxch %ST(1) fcmovae %ST(0), %ST(1) *** fstp %ST(1) ret Instead of: foldSel3: mov %AL, BYTE PTR [%ESP + 4] fld DWORD PTR [%ESP + 8] fld DWORD PTR [%ESP + 12] mov %EAX, DWORD PTR [%ESP + 16] mov %ECX, DWORD PTR [%ESP + 20] cmp %EAX, %ECX fxch %ST(1) fcmovae %ST(0), %ST(1) *** fxch %ST(1) *** fstp %ST(0) ret In practice, this only effects code size: performance should be basically unaffected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
c1bab32bc56e6d27d1223431716523bbe35e4d2e |
|
01-Apr-2004 |
Chris Lattner <sabre@nondot.org> |
Add support for floating point conditional move instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
8295f202d9cc37a6c325abd38e2feb5b47d7fc63 |
|
29-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
A big X86 instruction rename. The instructions are renamed to make their names more decriptive. A name consists of the base name, a default operand size followed by a character per operand with an optional special size. For example: ADD8rr -> add, 8-bit register, 8-bit register IMUL16rmi -> imul, 16-bit register, 16-bit memory, 16-bit immediate IMUL16rmi8 -> imul, 16-bit register, 16-bit memory, 8-bit immediate MOVSX32rm16 -> movsx, 32-bit register, 16-bit memory git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
8e475b8cfdd3c7a86afa6aa21326c7bad0be7f02 |
|
29-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Floating point loads/stores act on memory operands. Rename them to denote this fact. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11971 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
b929bca0279869b2b9649463318a68988302c0ce |
|
15-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Fix problem in DEBUG code. I could be pointing past the end and dereferencing it causes an assertion error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11458 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
f81af21caf9c0f62c60b72762d9a927e8c24f679 |
|
14-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Use newly added next() and prior() utility functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11430 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
c0b9dc5be79f009d260edb5cd5e1d8346587aaa2 |
|
12-Feb-2004 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Change MachineBasicBlock's vector of MachineInstr pointers into an ilist of MachineInstr objects. This allows constant time removal and insertion of MachineInstr instances from anywhere in each MachineBasicBlock. It also allows for constant time splicing of MachineInstrs into or out of MachineBasicBlocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
6d2151871889a4d4c22a0883a8ee667333f1cb0b |
|
10-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Don't use MachineOperator::is(Phys|Virt)Register git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11276 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
b97046ae4f5979df9fea20216fef0fe67211e0c6 |
|
03-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Add support for one argument OneArgFP instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
4a06f354843117df344d7b0aacc7114d50d38fe9 |
|
02-Feb-2004 |
Chris Lattner <sabre@nondot.org> |
Add support for OneArgFPRW instructions, fix a couple of typeos git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
847df25e7d8876c8a93ff4e4cc72c8f73ed50dbb |
|
30-Jan-2004 |
Chris Lattner <sabre@nondot.org> |
Add some comments sketching out how this is to work eventually. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
e0bb3e766d977d129da6add3bad6793ca20ab151 |
|
20-Dec-2003 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Remove floating point killer pass. This is now implemented in the instruction selector by adding a new pseudo-instruction FP_REG_KILL. This instruction implicitly defines all x86 fp registers and is a terminator so that passes which add machine code at the end of basic blocks (like phi elimination) do not add instructions between it and the branch or return instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10562 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
9068574a290235ba5d4d6b6619b5d5527e1bad2c |
|
20-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
Fix memory leak in the stackifier, due to the machinebasicblocks not holding instructions on an ilist git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
f2e49d4c1a8839f30e8ca9617139d63db173fa80 |
|
20-Dec-2003 |
Chris Lattner <sabre@nondot.org> |
Finegrainify namespacification Minor cleanups to killer pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10555 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
97323a47d88315b98e5ac38d64ba2a9e3f02b501 |
|
14-Dec-2003 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Change preserve all claim to just preserve live variables and phielimination. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
359b65f782cc323daba4f8c5c21c70a98c9d40ea |
|
13-Dec-2003 |
Alkis Evlogimenos <alkis@evlogimenos.com> |
Add a floating point killer pass. This pass runs before register allocaton on the X86 to add information to the machine code denoting that our floating point stackifier cannot handle virtual point register that are alive across basic blocks. This pass adds an implicit def of all virtual floating point register at the end of each basic block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
d0fde30ce850b78371fd1386338350591f9ff494 |
|
11-Nov-2003 |
Brian Gaeke <gaeke@uiuc.edu> |
Put all LLVM code into the llvm namespace, as per bug 109. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
b576c94c15af9a440f69d9d03c2afead7971118c |
|
20-Oct-2003 |
John Criswell <criswell@uiuc.edu> |
Added LLVM project notice to the top of every C++ source file. Header files will be on the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
cf00c4ab3ba308d45d98c5ccab87362cf802facb |
|
10-Oct-2003 |
Misha Brukman <brukman+llvm@gmail.com> |
Fix spelling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
5560c9d49ccae132cabf1155f18aa0480dce3eda |
|
18-Aug-2003 |
Misha Brukman <brukman+llvm@gmail.com> |
Spell `necessary' correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
19df3876e6dce016ec4c5ab28320a246ab285001 |
|
13-Aug-2003 |
Brian Gaeke <gaeke@uiuc.edu> |
Factory methods for FunctionPasses now return type FunctionPass *. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
113455be9d69f881165abafb6b6b0dd5b4b54aa8 |
|
03-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
Resort tables git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
cb5335877804fe9e555be8955314935f35c26f30 |
|
03-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
Set debug types git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
a11136b16c6c3cf26fc6185447458a1c4b300107 |
|
02-Aug-2003 |
Chris Lattner <sabre@nondot.org> |
Move DEBUG to Debug.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7497 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
d7908f679eeadc108e09e2aca5faba0b5410ea4a |
|
27-Jun-2003 |
Brian Gaeke <gaeke@uiuc.edu> |
Nice tasty llc fixes. These should fix LLC for x86 for everything in SingleSource except oopack and Oscar. (Sorry, Oscar.) include/llvm/Target/TargetInstrInfo.h: Remove virtual print method. Add accessors for ImplicitUses/Defs. lib/Target/TargetInstrInfo.cpp: Remove virtual print method. If you really wanted this, just use MI->print(O, TM); instead... lib/Target/X86: FloatingPoint.cpp: ...like this. X86InstrInfo.h: Remove virtual print method. Define the PrintImplUses target-specific flag bit. X86InstrInfo.def: Add the PrintImplUses flag to all the instructions which implicitly use CL, because the assembler needs to see the CL in order to generate the right instruction. Printer.cpp: Ditch fnIndex at Chris's request. Now we use CurrentFnName to name constants in the constant pool for each function instead. This avoids keeping state between runOnMachineFunction() invocations, which is a no-no. Having MangledGlobals be global is a bogon I'd like to get rid of too, but making it a static member of Printer causes link errors (why???). Make NumberForBB into a member of Printer instead of a global, too. Make printOp and printMemReference into methods of Printer. X86InstrInfo::print is now Printer::printMachineInstruction, because TargetInstrInfo::print is history. (Because of this, we have to qualify the names of some TargetInstrInfo methods we call.) Print out the ImplicitUses field of any instruction we print that has the PrintImplUses bit set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
3501feab811c86c9659248a4875fc31a3165f84d |
|
14-Jan-2003 |
Chris Lattner <sabre@nondot.org> |
Rename MachineInstrInfo -> TargetInstrInfo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|
a960d95253be892d5f2e3017ba5df989c247a0c1 |
|
13-Jan-2003 |
Chris Lattner <sabre@nondot.org> |
New files git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5260 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/X86/X86FloatingPoint.cpp
|