summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Update ARMConstantPoolValue to not use a modifier string. Use an explicitJim Grosbach2010-11-102-48/+49
| | | | | | | VariantKind marker to indicate the additional information necessary. Update MC to handle the new Kinds. rdar://8647623 llvm-svn: 118671
* Add clo instruction. Patch by Akira Hatanaka (ahatanaka@mips.com) with some ↵Bruno Cardoso Lopes2010-11-102-8/+12
| | | | | | minor tweaks llvm-svn: 118667
* When checking that the necessary bits are zero inDale Johannesen2010-11-101-2/+2
| | | | | | | order to reduce ((x<<30)>>24) to x<<6, check the correct bits. PR 8547. llvm-svn: 118665
* Emit a '!' if this is a "writeback" register or memory address.Bill Wendling2010-11-101-2/+2
| | | | llvm-svn: 118662
* Simplify the LiveRangeEdit::canRematerializeAt() interface a bit.Jakob Stoklund Olesen2010-11-103-27/+19
| | | | llvm-svn: 118661
* Make ModRefBehavior a lattice. Use this to clean up AliasAnalysisDan Gohman2010-11-105-63/+60
| | | | | | chaining and simplify FunctionAttrs' GetModRefBehavior logic. llvm-svn: 118660
* Rename a parameter to avoid confusion with a local variableMatt Beaumont-Gay2010-11-101-3/+3
| | | | llvm-svn: 118656
* Emit the warning about the register list not being in ascending order only once.Bill Wendling2010-11-091-5/+8
| | | | llvm-svn: 118653
* Fixed version of 118639 with an extra assert to catch similar problemsRafael Espindola2010-11-095-41/+31
| | | | | | earlier. Implicit bool -> int conversions are evil! llvm-svn: 118651
* s/std::vector/SmallVector/Bill Wendling2010-11-091-12/+11
| | | | llvm-svn: 118648
* Revert previous patch. Missed a case.Rafael Espindola2010-11-094-29/+40
| | | | llvm-svn: 118645
* Delete the allocated vector.Bill Wendling2010-11-091-0/+4
| | | | llvm-svn: 118644
* Define the subtarget feature for the architecture version,Bob Wilson2010-11-091-15/+40
| | | | | | | as derived from the target triple. This is important for enabling features that are implied based on the architecture version. llvm-svn: 118643
* Do not use MEMBARRIER_MCR for any Thumb code.Bob Wilson2010-11-091-2/+2
| | | | | | | | | 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 llvm-svn: 118642
* Two types of instructions have register lists:Bill Wendling2010-11-091-56/+32
| | | | | | | | | | | * 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. llvm-svn: 118640
* Remove IsExplicit. It was always false.Rafael Espindola2010-11-094-40/+29
| | | | llvm-svn: 118639
* Change the ARMConstantPoolValue modifier string to an enumeration. This willJim Grosbach2010-11-094-17/+42
| | | | | | help in MC'izing the references that use them. llvm-svn: 118633
* Adds RABasic verification and tracing.Andrew Trick2010-11-094-16/+158
| | | | | | (retry now that the windows build is green) llvm-svn: 118630
* Teach FunctionAttrs about the VAArg instruction.Dan Gohman2010-11-091-0/+7
| | | | llvm-svn: 118627
* Use the AliasAnalysis interface to determine how a Function accessesDan Gohman2010-11-091-2/+3
| | | | | | | memory. This isn't a real improvement with present day AliasAnalysis implementations; it's mainly for consistency. llvm-svn: 118624
* VAArg doesn't capture its operand.Dan Gohman2010-11-091-0/+3
| | | | llvm-svn: 118623
* Teach AliasAnalysis about AccessesArgumentsReadonly.Dan Gohman2010-11-091-6/+8
| | | | llvm-svn: 118621
* Teach LICM and AliasSetTracker about AccessesArgumentsReadonly.Dan Gohman2010-11-092-2/+2
| | | | llvm-svn: 118618
* Teach FunctionAttrs about AccessesArgumentsReadonly.Dan Gohman2010-11-091-0/+19
| | | | llvm-svn: 118617
* Add a trivial virtual dtor to AbstractRegisterDescription to appeaseMatt Beaumont-Gay2010-11-091-0/+11
| | | | | | -Wnon-virtual-dtor. llvm-svn: 118616
* Reverting r118604. Windows build broke.Andrew Trick2010-11-094-165/+14
| | | | llvm-svn: 118613
* Handle ARM constant pool values that need an explicit reference to the '.'Jim Grosbach2010-11-091-1/+9
| | | | | | pseudo-label. (TLS stuff). llvm-svn: 118609
* add a case we fail to devirt.Chris Lattner2010-11-091-0/+20
| | | | llvm-svn: 118608
* Trailing whitespace.Jim Grosbach2010-11-091-6/+6
| | | | llvm-svn: 118606
* Adds RABasic verification and tracing.Andrew Trick2010-11-094-14/+165
| | | | llvm-svn: 118604
* Further MCize ARM constant pool values. This allows basic PIC references forJim Grosbach2010-11-091-67/+83
| | | | | | object file emission. llvm-svn: 118601
* Add encoding of Rt to ARM LDR/STR w/ reg+reg offset encoding.Jim Grosbach2010-11-091-0/+2
| | | | llvm-svn: 118600
* Last try to get this reference counting right, I swear.Owen Anderson2010-11-091-1/+1
| | | | llvm-svn: 118589
* Really fix the leak in the attributes list. Thanks to Benjamin Kramer for ↵Owen Anderson2010-11-091-2/+2
| | | | | | pointing out how I was being stupid. llvm-svn: 118588
* For ARM load/store instructions, encode [reg+reg] with no shifter immediate asJim Grosbach2010-11-091-0/+3
| | | | | | a left shift by zero. llvm-svn: 118587
* ARM .word data fixups don't need an adjustment.Jim Grosbach2010-11-091-0/+1
| | | | llvm-svn: 118586
* Factorize code, no functionality change.Duncan Sands2010-11-091-34/+31
| | | | llvm-svn: 118516
* Fix trailing whitespace and style, no functionality changeBruno Cardoso Lopes2010-11-091-170/+95
| | | | llvm-svn: 118515
* Add encoder method for ARM load/store shifted register offset operands.Jim Grosbach2010-11-093-1/+48
| | | | llvm-svn: 118513
* System/Path/Windows: Implement GetLLVMDefaultConfigDir.Michael J. Spencer2010-11-091-2/+4
| | | | llvm-svn: 118507
* System/Path/Windows: Generalize GetUserHomeDirectory.Michael J. Spencer2010-11-091-8/+9
| | | | llvm-svn: 118506
* System/Path/Windows: Make GetSystemLibraryPaths more generic.Michael J. Spencer2010-11-092-2/+28
| | | | llvm-svn: 118505
* System/Windows: Reduce dependencies.Michael J. Spencer2010-11-091-0/+1
| | | | llvm-svn: 118504
* System/Windows: Use normalized case and include method.Michael J. Spencer2010-11-091-1/+1
| | | | llvm-svn: 118503
* System/Path/Windows: Change GetRootDirectory to return file:/// instead of C:/.Michael J. Spencer2010-11-091-3/+3
| | | | llvm-svn: 118502
* Update comment.Michael J. Spencer2010-11-091-1/+1
| | | | llvm-svn: 118501
* Fix leak in my recent fix for PR8442.Owen Anderson2010-11-091-1/+1
| | | | llvm-svn: 118490
* Fix DAGCombiner to avoid folding a sext-in-reg or similar through a shlDan Gohman2010-11-091-0/+1
| | | | | | in order to fold it into a load. llvm-svn: 118471
* Add support for a few simple fixups to the ARM Darwin asm backend. This allowsJim Grosbach2010-11-092-10/+36
| | | | | | | | | | | | | | constant pool references and global variable refernces to resolve properly for object file generation. For example, int x; void foo(unsigned a, unsigned *p) { p[a] = x; } can now be successfully compiled directly to an (ARM mode) object file. llvm-svn: 118469
* Fix an inline asm pasto from 117667; was preventingDale Johannesen2010-11-091-1/+2
| | | | | | {i64, i64} from matching i128. llvm-svn: 118465
OpenPOWER on IntegriCloud