0ebc07a576037e4e36f68bf5cece32740ca120c0 |
|
19-Oct-2011 |
Logan Chien <loganchien@google.com> |
Merge with LLVM upstream 2011/10/20 (r142530) Conflicts: lib/Support/Unix/Host.inc Change-Id: Idc00db3b63912dca6348bddd9f8a1af2a8d5d147
|
fe59d853c6bee18aeca1da5f703fc442068853a7 |
|
21-Sep-2011 |
Jim Grosbach <grosbach@apple.com> |
Tidy up. Whitepsace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
3e74d6fdd248e20a280f1dff3da9a6c689c2c4c3 |
|
24-Aug-2011 |
Evan Cheng <evan.cheng@apple.com> |
Move TargetRegistry and TargetSelect from Target to Support where they belong. These are strictly utilities for registering targets and components. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
1b84cce77f8bccc905b4800927ce9016f76c1c40 |
|
16-Aug-2011 |
Jim Grosbach <grosbach@apple.com> |
Remove unused Target argument from AsmParser construction methods. The argument is unused, and is a layering violation in any case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
94b9550a32d189704a8eae55505edf62662c0534 |
|
26-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Rename TargetAsmParser to MCTargetAsmParser and TargetAsmLexer to MCTargetAsmLexer; rename createAsmLexer to createMCAsmLexer and createAsmParser to createMCAsmParser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
a7cfc08ebe737062917b442830eb5321b0f79e89 |
|
23-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Move TargetAsmParser.h TargetAsmBackend.h and TargetAsmLexer.h to MC where they belong. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
a71642b2a4944eaa269d881cf71b02b8e8fe5638 |
|
16-Jul-2011 |
Nowar Gu <nowar100@gmail.com> |
Merge upstream to r135343 at Sat. 16th July 2011.
|
ffc0e73046f737d75e0a62b3a83ef19bcef111e3 |
|
09-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Change createAsmParser to take a MCSubtargetInfo instead of triple, CPU, and feature string. Parsing some asm directives can change subtarget state (e.g. .code 16) and it must be reflected in other modules (e.g. MCCodeEmitter). That is, the MCSubtargetInfo instance must be shared. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
ebdeeab812beec0385b445f3d4c41a114e0d972f |
|
08-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Eliminate asm parser's dependency on TargetMachine: - Each target asm parser now creates its own MCSubtatgetInfo (if needed). - Changed AssemblerPredicate to take subtarget features which tablegen uses to generate asm matcher subtarget feature queries. e.g. "ModeThumb,FeatureThumb2" is translated to "(Bits & ModeThumb) != 0 && (Bits & FeatureThumb2) != 0". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
b5530586d68bd25831a6796b5d3199cb0769a35c |
|
09-Mar-2011 |
Jush Lu <jush.msn@gmail.com> |
Merge upstream r127116
|
4d03e416be8cf1f0f502118826b7cbaeec0b79b2 |
|
28-Feb-2011 |
jush <jush.msn@gmail.com> |
Merge LLVM upstream r119309 into honey
|
c36b7069b42bece963b7e6adf020353ce990ef76 |
|
08-Jan-2011 |
Evan Cheng <evan.cheng@apple.com> |
Do not model all INLINEASM instructions as having unmodelled side effects. Instead encode llvm IR level property "HasSideEffects" in an operand (shared with IsAlignStack). Added MachineInstrs::hasUnmodeledSideEffects() to check the operand when the instruction is an INLINEASM. This allows memory instructions to be moved around INLINEASM instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
ce1b9ad539e67c6d05cc6b47ca5f6e62a6d91eff |
|
17-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
With the newly simplified SourceMgr interfaces and the generalized SrcMgrDiagHandler, we can improve clang diagnostics for inline asm: instead of reporting them on a source line of the original line, we can report it on the correct line wherever the string literal came from. For something like this: void foo() { asm("push %rax\n" ".code32\n"); } we used to get this: (note that the line in t.c isn't helpful) t.c:4:7: error: warning: ignoring directive for now asm("push %rax\n" ^ <inline asm>:2:1: note: instantiated into assembly here .code32 ^ now we get: t.c:5:8: error: warning: ignoring directive for now ".code32\n" ^ <inline asm>:2:1: note: instantiated into assembly here .code32 ^ Note that we're pointing to line 5 properly now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
4afa12890f679034e9741a687a6ce33f2846f129 |
|
17-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
now that AsmPrinter::EmitInlineAsm is factored right, we can eliminate the cookie argument to the SourceMgr diagnostic stuff. This cleanly separates LLVMContext's inlineasm handler from the sourcemgr error handling definition, increasing type safety and cleaning things up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119486 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
6e30c6a1d32f187804d24ecd1868d63c60330b22 |
|
17-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
rearrange how the handler in SourceMgr is installed, eliminating the use of the cookie argument to setDiagHandler git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119483 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
a38941d458273946594d3592ed5debdc9730db08 |
|
17-Nov-2010 |
Chris Lattner <sabre@nondot.org> |
refactor the interface to EmitInlineAsm a bit, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119482 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
ce027318293ddd2a0ea0cab4e9fa6af059d3bed2 |
|
02-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
Nuke trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
2b2de24fe2bdbe0c533bab2208f4b666ea0d6e86 |
|
02-Oct-2010 |
Jim Grosbach <grosbach@apple.com> |
Nuke trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
da61c1662bd86ea1f7fad601e9966f1b700636c1 |
|
11-Sep-2010 |
Shih-wei Liao <sliao@google.com> |
Merge commit '69494cf8102cf872e9cb76662e9960be7c112112' into HEAD Conflicts: lib/CodeGen/AsmPrinter/AsmPrinter.cpp lib/Target/ARM/ARMCodeEmitter.cpp lib/Target/ARM/ARMJITInfo.cpp lib/Target/ARM/ARMRelocations.h lib/Transforms/IPO/MergeFunctions.cpp Change-Id: I23d40983717e072fa49334c1fa54f2cf961476c7
|
a3692dad3ef77c2a5e846f2324927e3ee0afee78 |
|
19-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
Target: Give the TargetAsmParser access to the TargetMachine. - Unfortunate, but necessary for now to handle subtarget instruction matching. Eventually we should factor out the lower level target machine information so we don't need to do this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
d73ada7d24832bc2a4c3965b8f00ffd951341acf |
|
19-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
Target: Give the TargetAsmParser access to the TargetMachine. - Unfortunate, but necessary for now to handle subtarget instruction matching. Eventually we should factor out the lower level target machine information so we don't need to do this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
dd7297238f1bcc0edcde64c64a3bb7465aa2f194 |
|
18-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Move several clients to using AsmParser constructor function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
9fbb37e10d3b2814877bb8d2893d863fe1da660b |
|
18-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Move several clients to using AsmParser constructor function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
d0c6a6bdc440b527399822b8c3fad444b816b3e0 |
|
15-Jul-2010 |
Chris Lattner <sabre@nondot.org> |
a more graceful fix for test/Other/inline-asm-newline-terminator.ll, follow on to r103765 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
b5b73c4c86b68e5edc3d3fceff28e852c1141b7f |
|
15-Jul-2010 |
Chris Lattner <sabre@nondot.org> |
a more graceful fix for test/Other/inline-asm-newline-terminator.ll, follow on to r103765 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
908c105be3c4c20123d2d45f434386039aada840 |
|
02-Jul-2010 |
Dale Johannesen <dalej@apple.com> |
Propagate the AlignStack bit in InlineAsm's to the PrologEpilog code, and use it to determine whether the asm forces stack alignment or not. gcc consistently does not do this for GCC-style asms; Apple gcc inconsistently sometimes does it for asm blocks. There is no convenient place to put a bit in either the SDNode or the MachineInstr form, so I've added an extra operand to each; unlovely, but it does allow for expansion for more bits, should we need it. PR 5125. Some existing testcases are affected. The operand lists of the SDNode and MachineInstr forms are indexed with awesome mnemonics, like "2"; I may fix this someday, but not now. I'm not making it any worse. If anyone is inspired I think you can find all the right places from this patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
f1e309eb4862459a76445942ba4dafc433b6f317 |
|
02-Jul-2010 |
Dale Johannesen <dalej@apple.com> |
Propagate the AlignStack bit in InlineAsm's to the PrologEpilog code, and use it to determine whether the asm forces stack alignment or not. gcc consistently does not do this for GCC-style asms; Apple gcc inconsistently sometimes does it for asm blocks. There is no convenient place to put a bit in either the SDNode or the MachineInstr form, so I've added an extra operand to each; unlovely, but it does allow for expansion for more bits, should we need it. PR 5125. Some existing testcases are affected. The operand lists of the SDNode and MachineInstr forms are indexed with awesome mnemonics, like "2"; I may fix this someday, but not now. I'm not making it any worse. If anyone is inspired I think you can find all the right places from this patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
58b651de4926fb540218be70049c896d0ec53bb9 |
|
01-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Pass the target instance to the AsmParser constructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
9186fa6b0c8806786cae78bed50f95d1c7ce2b00 |
|
01-Jul-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Pass the target instance to the AsmParser constructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
f09bec35d06ca60cff9af63b36b54f84ef5d4d6f |
|
14-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
Inline Asm: Ensure buffer is newline terminated to match how the text is printed. - This is a hack, but I can't decide the best place to handle this. Chris? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103765 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
d11d59e35a977e65387c3033dd7b0b7af5641f1e |
|
14-May-2010 |
Daniel Dunbar <daniel@zuster.org> |
Inline Asm: Ensure buffer is newline terminated to match how the text is printed. - This is a hack, but I can't decide the best place to handle this. Chris? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103765 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
a59a85f8dd03d52907019f1a4caaf7653b01b7d3 |
|
29-Apr-2010 |
Shih-wei Liao <sliao@google.com> |
For disassembler Change-Id: I14e64ec4640cbeb57ac87473775e8ba8a7320b3f
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
7abe37e4aee38cc79d91dd069a37d7e91d5bef53 |
|
28-Apr-2010 |
Shih-wei Liao <sliao@google.com> |
Sync upstream to r102410. Re-turn on sdk. Change-Id: I91a890863989a67243b4d2dfd1ae09b843ebaeaf
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
fe5adeb63d07b93aa85df0fc1abd37cadd98be35 |
|
08-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
implicit defs get added to the end of machine instrs sometimes. Scan the whole instruction for the metadata operand instead of assuming it will be at the end of the instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100792 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
d0024fec256659b45350387289e5d4520f15dc6d |
|
08-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
implicit defs get added to the end of machine instrs sometimes. Scan the whole instruction for the metadata operand instead of assuming it will be at the end of the instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100792 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
b8f832d331b5206b235262e4395b969d68cf439c |
|
08-Apr-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Use twines to simplify calls to report_fatal_error. For code size and readability. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
1bd7335a17010bd4d8f86736cf73cac9f3fb80a5 |
|
08-Apr-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Use twines to simplify calls to report_fatal_error. For code size and readability. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100756 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
1178502ccf73f08434a82444def11c8e7d310d28 |
|
08-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
introduce a new recoverable error handling API to LLVMContext and use it in one place in inline asm handling stuff. Before we'd generate this for an invalid modifier letter: $ clang asm.c -c -o t.o fatal error: error in backend: Invalid operand found in inline asm: 'abc incl ${0:Z}' INLINEASM <es:abc incl ${0:Z}>, 10, %EAX<def>, 2147483657, %EAX, 14, %EFLAGS<earlyclobber,def,dead>, <!-1> Now we generate this: $ clang asm.c -c -o t.o error: invalid operand in inline asm: 'incl ${0:Z}' asm.c:3:12: note: generated from here __asm__ ("incl %Z0" : "+r" (X)); ^ 1 error generated. This is much better but still admittedly not great ("why" is the operand invalid??), codegen should try harder with its diagnostics :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
38686bdffdebc09aa6fe6b8b54b34ac32c753f59 |
|
08-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
introduce a new recoverable error handling API to LLVMContext and use it in one place in inline asm handling stuff. Before we'd generate this for an invalid modifier letter: $ clang asm.c -c -o t.o fatal error: error in backend: Invalid operand found in inline asm: 'abc incl ${0:Z}' INLINEASM <es:abc incl ${0:Z}>, 10, %EAX<def>, 2147483657, %EAX, 14, %EFLAGS<earlyclobber,def,dead>, <!-1> Now we generate this: $ clang asm.c -c -o t.o error: invalid operand in inline asm: 'incl ${0:Z}' asm.c:3:12: note: generated from here __asm__ ("incl %Z0" : "+r" (X)); ^ 1 error generated. This is much better but still admittedly not great ("why" is the operand invalid??), codegen should try harder with its diagnostics :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
8316f2d3810dd37bae0f847bc3efd495432b5893 |
|
08-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
rename llvm::llvm_report_error -> llvm::report_fatal_error git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
75361b69f3f327842b9dad69fa7f28ae3b688412 |
|
08-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
rename llvm::llvm_report_error -> llvm::report_fatal_error git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
bafc8377097d73be2dbc1a4cf344a50ac9e69fe8 |
|
07-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
Have the inst emitter add the !srcloc mdnode to the machine instr. Have the asmprinter use the mdnode to scavenge a source location if present. Document this nonsense in langref. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
cf9a415182aca6a432105a2a12168e1049de180a |
|
07-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
Have the inst emitter add the !srcloc mdnode to the machine instr. Have the asmprinter use the mdnode to scavenge a source location if present. Document this nonsense in langref. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
2ad3cb174a3ad3dbf7b921ea70bc2c2f51de4624 |
|
07-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
remove another magic number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
fee455ea6a7e209a3cac5fc8e601f8e85cfb3792 |
|
07-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
remove another magic number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
4cd8b2a2086cf865b7592920999e6c1bca92b1e9 |
|
06-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
propagate cookie management out one layer of function calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
885d94143d0fc02fd5c4ddf1d2a2ee74c7934bff |
|
06-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
propagate cookie management out one layer of function calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
890972db38ba77cc983c4ccdce8f068c45945925 |
|
06-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
report errors through LLVMContext's inline asm handler if available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
6eb7806a5f5edf460e68f52bdd0fad25f7771873 |
|
06-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
report errors through LLVMContext's inline asm handler if available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
76a8ffffa1f89e17ce3f5c207d7231a354b161e6 |
|
06-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
Give AsmParser an option to control whether it finalizes the stream. New demo: $ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o $ otool -tv t.o t.o: (__TEXT,__text) section _foo: 0000000000000000 subq $0x08,%rsp 0000000000000004 movl %edi,(%rsp) 0000000000000007 movl %edi,%eax 0000000000000009 incl %eax 000000000000000b movl %eax,(%rsp) 000000000000000e movl %eax,0x04(%rsp) 0000000000000012 addq $0x08,%rsp 0000000000000016 ret git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
79180e2ef5ff4aa3c8f64b13736e8648663f3965 |
|
06-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
Give AsmParser an option to control whether it finalizes the stream. New demo: $ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o $ otool -tv t.o t.o: (__TEXT,__text) section _foo: 0000000000000000 subq $0x08,%rsp 0000000000000004 movl %edi,(%rsp) 0000000000000007 movl %edi,%eax 0000000000000009 incl %eax 000000000000000b movl %eax,(%rsp) 000000000000000e movl %eax,0x04(%rsp) 0000000000000012 addq $0x08,%rsp 0000000000000016 ret git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
dd9d85d2fe017801e0090bf89bb3706b9ebacf2d |
|
06-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
add .o file writing for inline asm in llc. Here's a silly demo: $ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o <inline asm>:1:2: error: unrecognized instruction abc incl %eax ^ LLVM ERROR: Error parsing inline asm Only problem seems to be that the parser finalizes OutStreamer at the end of the first inline asm, which isn't what we want. For example: $ cat asm.c int foo(int X) { __asm__ ("incl %0" : "+r" (X)); return X; } $ clang asm.c -S -o - -emit-llvm | llc ... subq $8, %rsp movl %edi, (%rsp) movl %edi, %eax ## InlineAsm Start incl %eax ## InlineAsm End movl %eax, (%rsp) movl %eax, 4(%rsp) addq $8, %rsp ret $ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o $ otool -tv t.o t.o: (__TEXT,__text) section _foo: 0000000000000000 subq $0x08,%rsp 0000000000000004 movl %edi,(%rsp) 0000000000000007 movl %edi,%eax 0000000000000009 incl %eax $ don't stop at inc! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
af632c91a0090d8448dd10e48d8ce53f31be0a21 |
|
06-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
add .o file writing for inline asm in llc. Here's a silly demo: $ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o <inline asm>:1:2: error: unrecognized instruction abc incl %eax ^ LLVM ERROR: Error parsing inline asm Only problem seems to be that the parser finalizes OutStreamer at the end of the first inline asm, which isn't what we want. For example: $ cat asm.c int foo(int X) { __asm__ ("incl %0" : "+r" (X)); return X; } $ clang asm.c -S -o - -emit-llvm | llc ... subq $8, %rsp movl %edi, (%rsp) movl %edi, %eax ## InlineAsm Start incl %eax ## InlineAsm End movl %eax, (%rsp) movl %eax, 4(%rsp) addq $8, %rsp ret $ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o $ otool -tv t.o t.o: (__TEXT,__text) section _foo: 0000000000000000 subq $0x08,%rsp 0000000000000004 movl %edi,(%rsp) 0000000000000007 movl %edi,%eax 0000000000000009 incl %eax $ don't stop at inc! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
7fb59c6cad5a7e3ae621e0fedcbc67fea3ea13fe |
|
06-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
stringref-ize the MemoryBuffer::get apis. This requires a co-committed clang patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
4c842dda3939c6b9f83ba7e8e19e43445cd9a832 |
|
06-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
stringref-ize the MemoryBuffer::get apis. This requires a co-committed clang patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
26be1c167a76e02cc0f37a9a81115b9ad05c0fc6 |
|
04-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
move uleb/sleb printing into AsmPrinter from DwarfPrinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
7e1a8f882f1baa1c0d5204373d6eb4cb7fc9f3ea |
|
04-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
move uleb/sleb printing into AsmPrinter from DwarfPrinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
a29bbb7cebddd0b111c04b2faa3bbe7ecd82ae32 |
|
04-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
use stringref instead of strtol to avoid errno gymnastics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
65eeaad91d78b2a677ca889eaff60f6d807c7030 |
|
04-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
use stringref instead of strtol to avoid errno gymnastics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
599df3c3c817cbf1839a29a321a955cfbd1e091a |
|
04-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
split inline asm support out to its own .cpp file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|
736e31d0cfd8a28c31741f39be606a11e7fc0036 |
|
04-Apr-2010 |
Chris Lattner <sabre@nondot.org> |
split inline asm support out to its own .cpp file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
|