summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Removed a few instructions that were alreadySean Callanan2009-09-161-5/+0
| | | | | | covered by other definitions. llvm-svn: 81992
* Big change #1 for personality function references:Chris Lattner2009-09-1611-56/+172
| | | | | | | | | | | | | | | | | | | | | | | | Eliminate the PersonalityPrefix/Suffix & NeedsIndirectEncoding fields from MAI: they aren't part of the asm syntax, they are related to the structure of the object file. To replace their functionality, add a new TLOF::getSymbolForDwarfGlobalReference method which asks targets to decide how to reference a global from EH in a pc-relative way. The default implementation just returns the symbol. The default darwin implementation references the symbol through an indirect $non_lazy_ptr stub. The bizarro x86-64 darwin specialization handles the weird "foo@GOTPCREL+4" hack. DwarfException.cpp now uses this to emit the reference to the symbol in the right way, and this also eliminates another horrible hack from DwarfException.cpp: - if (strcmp(MAI->getPersonalitySuffix(), "+4@GOTPCREL")) - O << "-" << MAI->getPCSymbol(); llvm-svn: 81991
* lit: Add a custom test format for use in clang.Daniel Dunbar2009-09-162-1/+54
| | | | llvm-svn: 81987
* remove a dead variable.Chris Lattner2009-09-162-3/+0
| | | | llvm-svn: 81985
* add a helper method for creating MCSymbol and MCSymbolRefExpr atChris Lattner2009-09-162-1/+11
| | | | | | the same time. llvm-svn: 81984
* Added a variety of floating-point and SSE instructions.Sean Callanan2009-09-162-0/+51
| | | | | | | | | | | | All of these do not have patterns (they're for the disassembler). Many of the floating-point instructions will probably be rolled into definitions that have patterns, and may eventually be superseded by mdefs. So I put them together and left a comment. llvm-svn: 81979
* inline AsmPrinter::getCurrentFunctionEHName into its only caller.Chris Lattner2009-09-163-15/+6
| | | | llvm-svn: 81970
* Expand some more vector operations not supported by Neon.Bob Wilson2009-09-161-0/+6
| | | | llvm-svn: 81969
* remove a dead bool.Chris Lattner2009-09-161-5/+0
| | | | llvm-svn: 81968
* Eliminate AsmPrinter::EmitExternalGlobal, inlining its (now)Chris Lattner2009-09-163-12/+1
| | | | | | | | one implementation into its one caller. This eliminates a totally awesome and gratuitous hack where we casted a Function* to GlobalVariable*. llvm-svn: 81967
* Neon does not support vector divide or remainder. Expand them.Bob Wilson2009-09-161-0/+8
| | | | llvm-svn: 81966
* eliminate the PPC backend's implementation of EmitExternalGlobalChris Lattner2009-09-162-15/+3
| | | | | | | | | | | | | | | | and use PersonalityPrefix/Suffix to achieve the same effect (like the x86 backend). This changes the code generated for ppc static mode, but guess what, we were generating this before: .byte 0x9B ; Personality (indirect pcrel sdata4) .long ___gxx_personality_v0-. ; Personality which is not correct! (it is not an 'indirect' reference). llvm-svn: 81965
* eliminate the horrid AsmPrinter::getGlobalLinkName method, inliningChris Lattner2009-09-164-21/+4
| | | | | | it into all of its call sites and simplifying them. llvm-svn: 81962
* simplify some codeChris Lattner2009-09-161-6/+5
| | | | llvm-svn: 81961
* Expand all v2f64 arithmetic operations for Neon.Bob Wilson2009-09-151-0/+27
| | | | | | | Radar 7200803. (This should also fix the SingleSource/UnitTests/Vector/sumarray-dbl test.) llvm-svn: 81959
* Put back non-obsolete -f sections for 'opt'.Daniel Dunbar2009-09-151-0/+6
| | | | llvm-svn: 81954
* Added far return instructions (that is, returns to Sean Callanan2009-09-151-0/+4
| | | | | | | code in other segments) to the Intel instruction tables. llvm-svn: 81953
* remove some horrible MAI hooks which fortunately turn out to be always empty.Chris Lattner2009-09-153-50/+3
| | | | llvm-svn: 81946
* strength reduce a call to PrintRelDirective(true).Chris Lattner2009-09-151-1/+3
| | | | llvm-svn: 81942
* add hooks to hang target-specific goop off MachineModuleInfo,Chris Lattner2009-09-154-17/+47
| | | | | | | move MachineFunctionInfo virtual method out of line to give it a home. llvm-svn: 81940
* Do not add the SVOffset to the Node CSE ID. The same pointer argument ↵Nate Begeman2009-09-151-5/+0
| | | | | | | | cannot have different SVOffsets. llvm-svn: 81937
* Expand on comment.Eric Christopher2009-09-151-1/+4
| | | | llvm-svn: 81928
* Updated comments per Eli's suggestion.Sean Callanan2009-09-152-2/+4
| | | | llvm-svn: 81923
* Convert more tests to FileCheck.Bob Wilson2009-09-156-45/+153
| | | | llvm-svn: 81915
* Added register-to-register ADD instructions to theSean Callanan2009-09-152-0/+13
| | | | | | | | Intel tables, where the source operand is specified by the R/M field and the destination operand by the Reg field. llvm-svn: 81914
* Drop the raw_ostream required buffer size to 1.Daniel Dunbar2009-09-153-3/+13
| | | | | | | - As best I can tell, we have eliminated all the code which used to require a larger buffer size. llvm-svn: 81912
* Remove references to obsolete -f option.Daniel Dunbar2009-09-152-12/+0
| | | | llvm-svn: 81911
* Update llc/opt PODs to clarify they support .ll input.Daniel Dunbar2009-09-152-17/+19
| | | | llvm-svn: 81910
* Fix -Asserts warning.Daniel Dunbar2009-09-151-1/+2
| | | | llvm-svn: 81909
* lit: When finding nested test suites, check first in the execpath in case thereDaniel Dunbar2009-09-151-13/+22
| | | | | | is a site configuration. llvm-svn: 81902
* Better solution for tracking both the original alignment of the access, and ↵Nate Begeman2009-09-155-71/+55
| | | | | | | | the current alignment based on the source value offset. This avoids increasing the size of mem nodes. llvm-svn: 81897
* Correct comment pastoJim Grosbach2009-09-151-1/+1
| | | | llvm-svn: 81896
* Added a new register class for segment registersSean Callanan2009-09-153-0/+25
| | | | | | | | to the Intel register table. Added 16- and 64-bit MOVs to and from the segment registers to the Intel instruction tables. llvm-svn: 81895
* Change the marker byte for stubs from 0xcd to 0xce (another form ofDale Johannesen2009-09-151-3/+6
| | | | | | | | | interrupt instruction, which shouldn't arise any other way). 0xcd is also used by JITMemoryManager to initialize the buffer to garbage, which means it could appear following a noreturn call even when that is not a stub, confusing X86CompilationCallback2. PR 4929. llvm-svn: 81888
* fix PR4984 by ensuring that fastisel adds properly sign extended GEP ↵Chris Lattner2009-09-152-3/+23
| | | | | | | | displacement values to machineinstrs. llvm-svn: 81886
* rename testChris Lattner2009-09-151-0/+0
| | | | llvm-svn: 81884
* convert to filecheckChris Lattner2009-09-151-4/+20
| | | | llvm-svn: 81882
* add missing fileChris Lattner2009-09-151-0/+32
| | | | llvm-svn: 81881
* Handle AddrMode4 for Thumb2 in rewriteT2FrameIndex. This occurs forBob Wilson2009-09-151-0/+5
| | | | | | | | | | | VLDM/VSTM instructions, and without this check, the code assumes that an offset is allowed, as it would be with VLDR/VSTR. The asm printer, however, silently drops the offset, producing incorrect code. Since the address register in this case is either the stack or frame pointer, the spill location ends up conflicting with some other stack slot or with outgoing arguments on the stack. llvm-svn: 81879
* Fix superreg use in ARMAsmPrinter. Approved by Anton Korobeynikov.Sandeep Patel2009-09-152-2/+43
| | | | llvm-svn: 81878
* several major improvements to the sparc backend: support for weak linkageChris Lattner2009-09-1510-48/+212
| | | | | | and PIC codegen. Patch by Venkatraman Govindaraju! llvm-svn: 81877
* Teach ValueTracking how to look through GlobalAliases. GlobalAliases areDan Gohman2009-09-151-0/+12
| | | | | | | not folded in the constant folder because the constant folder doesn't simplify ConstantExpr operands. llvm-svn: 81864
* Fix an accidental inversion of the inbounds flag.Dan Gohman2009-09-151-3/+3
| | | | llvm-svn: 81862
* When a constant's type is refined, update the constant in placeDan Gohman2009-09-157-215/+209
| | | | | | | | | | | | | | | | | | | | | | | | | | instead of cloning and RAUWing it. - Make AbstractTypeUser a friend of Value so that it can offer its subclasses a way to update a Value's type in place. This is better than a universally visible setType method on Value, and it's sufficient for the immediate need. - Eliminate the constant "convert" functions. This eliminates a lot of logic duplication, and fixes a complicated bug where a constant can't actually be cloned during the type refinement process because some of the types that its folder needs are half-destroyed, being in the middle of refinement themselves. - Move the getValType functions from being static overloaded functions in Constants.cpp to be members of class template specializations in ConstantsContext.h. This means that the code ends up getting instantiated twice, however it also makes it possible to eliminate all "convert" functions, so it's not a big net code size increase. And if desired, the duplicate instantiations could be eliminated with some reorganization. llvm-svn: 81861
* Use llvm-link -S instead of using llvm-dis.Dan Gohman2009-09-1521-24/+24
| | | | llvm-svn: 81860
* Give llvm-link a -S option.Dan Gohman2009-09-152-3/+13
| | | | llvm-svn: 81859
* Don't bother using a PassManager just to print a Module.Dan Gohman2009-09-151-7/+2
| | | | llvm-svn: 81858
* Restore a comment that was lost in the merge.Dan Gohman2009-09-151-0/+4
| | | | llvm-svn: 81857
* Fix apostrophos.Dan Gohman2009-09-157-8/+8
| | | | llvm-svn: 81856
* Add more newlines to make up for the ones removed from the end of instructions.Nick Lewycky2009-09-151-9/+12
| | | | llvm-svn: 81851
OpenPOWER on IntegriCloud