Commits

Show all
Author Commit Message Labels Comments Date
Chris Lattner
Reapply r57699 with a fix to not crash on asms with multiple results. Unlike the previous patch this one actually passes make check. "Fix PR2356 on PowerPC: if we have an input and output that are tied together that have different sizes (e.g. i32 and i64) make sure to reserve registers for the bigger operand."
Tags
2 tags
Dan Gohman
Don't truncate GlobalAddress offsets to int in debug output.
Evan Cheng
By min, I mean max.
Evan Cheng
When creating intervals, leave min(1, numdefs) holes after each instruction.
Mon P Wang
Make llvm memory barrier available as an intrinsic
Tags
checker-110
Dan Gohman
Teach DAGCombine to fold constant offsets into GlobalAddress nodes, and add a TargetLowering hook for it to use to determine when this is legal (i.e. not in PIC mode, etc.) This allows instruction selection to emit folded constant offsets in more cases, such as the included testcase, eliminating the need for explicit arithmetic instructions. This eliminates the need for the C++ code in X86ISelDAGToDAG.cpp that attempted to achieve the same effect, but wasn't as effective. Also, fix handling of offsets in GlobalAddressSDNodes in several places, including changing Gl…
Dan Gohman
Revert r57699. It's causing regressions in test/CodeGen/X86/2008-09-17-inline-asm-1.ll and a few others, and it breaks the llvm-gcc build.
Dan Gohman
Use the opcode predicates, instead of duplicating the code.
Dan Gohman
This is now partly done.
Dan Gohman
This is done.
Dan Gohman
Factor out the code for mapping LLVM IR condition opcodes to ISD condition opcodes into helper functions.
Evan Cheng
Add implicit defs of XMM8 to XMM15 on 32-bit call instructions. While this is not technically true, it tells tblgen that these instructions "clobber" the entire XMM register file.
Evan Cheng
Add RCBarriers to TargetInstrDesc. It's a list of register classes the given instruction can "clobber". For example, on x86 the call instruction can modify all of the XMM and fp stack registers. TableGen has been taught to generate the lists from instruction definitions.
Evan Cheng
Fix PR2898. Spiller delete a store for reuse before it knows for sure the reuse happened. Patch by Lang Hames!
Chris Lattner
add support for 128 bit aggregates.
Bill Wendling
The Dwarf writer was comparing mangled and unmangled names for C++ code when we have an unreachable block in a function. This was triggering the assert. This is a horrid hack to cover this up. Oh! for a good debug info architecture!
Mon P Wang
Added MemIntrinsicNode which is useful to represent target intrinsics that touches memory and need an associated MemOperand
Dan Gohman
Factor out the code for mapping LLVM IR condition opcodes to ISD condition opcodes into helper functions.
Chris Lattner
add support for 128 bit inputs on both x86-64 and x86-32.
Chris Lattner
Fix a bug where the x86 backend would reject 64-bit r constraints when in 32-bit mode instead of assigning a register pair. This has nothing to do with PR2356, but I happened to notice it while working on it.
Chris Lattner
Fix PR2356 on PowerPC: if we have an input and output that are tied together that have different sizes (e.g. i32 and i64) make sure to reserve registers for the bigger operand.
Chris Lattner
remove an xfailed test.
Chris Lattner
remove this test: it is xfailed anyway, and is failing for a reason other than why it was xfailed.
Evan Cheng
Fix lfence and mfence encoding. These look like MRM5r and MRM6r instructions except they do not have any operands. The RegModRM byte is encoded with register number 0.
Evan Cheng
getX86RegNum has long been moved to X86RegisterInfo.
Chris Lattner
refactor some code into a helper method, no functionality change.
Chris Lattner
Keep track of *which* input constraint matches an output constraint. Reject asms where an output has multiple input constraints tied to it.
Tags
2 tags
Chris Lattner
add an assert so that PR2356 explodes instead of running off an array. Improve some minor comments, refactor some helpers in AsmOperandInfo. No functionality change for valid code.
Gabor Greif
remove spurious space in link
Gabor Greif
Add comment on how tagged pointers are distinguished from normal (untagged) ones as per review comment. I am sufficiently unaquainted with doxygen to defer the markup to someone with more experience.
  1. Prev
  2. Next