aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-11-10Simplify and clean up MC symbol lookup for ARM constant pool values. This fixesJim Grosbach
double quoting of ObjC symbol names in constant pool entries. rdar://8652107 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118688 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10Factor out the code for testing whether a function accessesDan Gohman
arbitrary memory into a helper function, and adjust some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118687 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10Give NonLocalDepResult a NonLocalDepEntry member, replacingDan Gohman
indivudal members holding the same data, to clarify the relationship between NonLocalDepResult and NonLocalDepEntry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118686 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10Detect if llvm-gcc is built on dragonegg.Tobias Grosser
Store the flags needed to disable optimizations and to emit LLVM-IR depending on the version of llvm-gcc used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118684 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10Fix Whitespace.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118683 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10System/Path: Update comments to match code.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118682 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10System/Win32/Path: Implement isSymLink.Michael J. Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118681 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10Simplify binary operations where one operand is a select instruction.Duncan Sands
The simplifications performed here never create new instructions, they only return existing instructions (or a constant), and so are always a win. In theory they should transform (for example) %z = and i32 %x, %y %s = select i1 %cond, i32 %y, i32 %z %r = and i32 %x, %s into %r = and i32 %x, y but in practice they get into a fight with instcombine, and lose. Unfortunately instcombine does a poor job in this case. Nonetheless I'm committing this transform to make it easier to discuss what to do to make peace with instcombine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118679 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10Win32/Process.inc: [PR8527] Process::FileDescriptorIsDisplayed(fd) should ↵NAKAMURA Takumi
not check by FILE_TYPE_CHAR. It must be better to check it with Console API. The special file "NUL" is FILE_TYPE_CHAR with GetFileType(h). It was treated as display device and discarding output to NUL had failed. (eg. opt -o nul) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118678 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10There is no EndPtr anymore - reinterpret the original comment in termsDuncan Sands
of InputData. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118677 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10Update ARMConstantPoolValue to not use a modifier string. Use an explicitJim Grosbach
VariantKind marker to indicate the additional information necessary. Update MC to handle the new Kinds. rdar://8647623 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118671 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10Add a test to the previous added clo instruction. Patch by Akira againBruno Cardoso Lopes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118668 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10Add clo instruction. Patch by Akira Hatanaka (ahatanaka@mips.com) with some ↵Bruno Cardoso Lopes
minor tweaks git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118667 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10When checking that the necessary bits are zero inDale Johannesen
order to reduce ((x<<30)>>24) to x<<6, check the correct bits. PR 8547. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118665 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10Emit a '!' if this is a "writeback" register or memory address.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118662 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10Simplify the LiveRangeEdit::canRematerializeAt() interface a bit.Jakob Stoklund Olesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118661 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10Make ModRefBehavior a lattice. Use this to clean up AliasAnalysisDan Gohman
chaining and simplify FunctionAttrs' GetModRefBehavior logic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118660 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10Rename a parameter to avoid confusion with a local variableMatt Beaumont-Gay
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118656 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Emit the warning about the register list not being in ascending order only once.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118653 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Jim's recent fixes 118600, 118587, 118513 have made these work.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118652 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Fixed version of 118639 with an extra assert to catch similar problemsRafael Espindola
earlier. Implicit bool -> int conversions are evil! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118651 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09s/std::vector/SmallVector/Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118648 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Revert previous patch. Missed a case.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118645 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Delete the allocated vector.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118644 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Define the subtarget feature for the architecture version,Bob Wilson
as derived from the target triple. This is important for enabling features that are implied based on the architecture version. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118643 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Do not use MEMBARRIER_MCR for any Thumb code.Bob Wilson
It is only supported for ARM code. Normally Thumb2 code would use DMB instead, but depending on how the compiler is invoked (e.g., -mattr=-db) that might be disabled. This prevents a "cannot select MEMBARRIER_MCR" error in that situation. Radar 8644195 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118642 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Two types of instructions have register lists:Bill Wendling
* LDM, et al, uses a bit mask to indicate the register list. * VLDM, et al, uses a base register plus number. The LDM instructions may be non-contiguous, but the VLDM ones must be contiguous. Those are semantic checks that should be done later in the compiler. Also postpone the creation of the bit mask until it's needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118640 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Remove IsExplicit. It was always false.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118639 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Change the ARMConstantPoolValue modifier string to an enumeration. This willJim Grosbach
help in MC'izing the references that use them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118633 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Adds RABasic verification and tracing.Andrew Trick
(retry now that the windows build is green) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118630 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Convert comments to doxygen syntax.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118628 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Teach FunctionAttrs about the VAArg instruction.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118627 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Use the AliasAnalysis interface to determine how a Function accessesDan Gohman
memory. This isn't a real improvement with present day AliasAnalysis implementations; it's mainly for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118624 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09VAArg doesn't capture its operand.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118623 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Translate IntrReadArgMem to AccessesArgumentsReadonly.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118622 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Teach AliasAnalysis about AccessesArgumentsReadonly.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118621 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Teach LICM and AliasSetTracker about AccessesArgumentsReadonly.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118618 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Teach FunctionAttrs about AccessesArgumentsReadonly.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118617 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Add a trivial virtual dtor to AbstractRegisterDescription to appeaseMatt Beaumont-Gay
-Wnon-virtual-dtor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118616 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09AccessesArgumentsReadonly is read-only.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118615 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Add a AccessesArgumentsReadonly ModRefBehavior value, so that the intrinsicDan Gohman
property IntrReadArgMem can be modeled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118614 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Reverting r118604. Windows build broke.Andrew Trick
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118613 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Factor out the logic for onlyReadsMemory into a helper function.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118611 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Delete AccessesArgumentsAndGlobals, which was unused.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118610 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Handle ARM constant pool values that need an explicit reference to the '.'Jim Grosbach
pseudo-label. (TLS stuff). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118609 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09add a case we fail to devirt.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118608 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Trailing whitespace.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118606 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Adds RABasic verification and tracing.Andrew Trick
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118604 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Further MCize ARM constant pool values. This allows basic PIC references forJim Grosbach
object file emission. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118601 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Add encoding of Rt to ARM LDR/STR w/ reg+reg offset encoding.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118600 91177308-0d34-0410-b5e6-96231b3b80d8