summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* pass machinemoduleinfo down into getSymbolForDwarfGlobalReference, Chris Lattner2009-09-174-0/+5
| | | | | | currently unused. llvm-svn: 82157
* Teach ScalarEvolution how to reason about no-wrap flags on loopsDan Gohman2009-09-171-15/+37
| | | | | | | | where the induction variable has a non-unit stride, such as {0,+,2}, and there are expressions such as {1,+,2} inside the loop formed with or or add nsw operators. llvm-svn: 82151
* grammarJim Grosbach2009-09-171-1/+1
| | | | llvm-svn: 82150
* Initialize HasMetadata to zero.Benjamin Kramer2009-09-171-2/+2
| | | | llvm-svn: 82145
* Remove simple regalloc. It has bit rotted.Evan Cheng2009-09-172-262/+0
| | | | llvm-svn: 82127
* add a version of the APFloat constructor that initializes to 0.0Chris Lattner2009-09-171-0/+8
| | | | llvm-svn: 82110
* Fix PR4910: Broken logic in coalescer means when a physical register ↵Evan Cheng2009-09-171-3/+4
| | | | | | liveness is being shortened, the sub-registers were not. The symptom is the register allocator could not find a free register for this particular test. llvm-svn: 82108
* Some platforms may need malloc.h for alloca.Daniel Dunbar2009-09-171-3/+6
| | | | llvm-svn: 82100
* Update CMake.Daniel Dunbar2009-09-171-0/+1
| | | | llvm-svn: 82097
* Added the LODS (load byte into register, usuallySean Callanan2009-09-162-0/+10
| | | | | | | as part string parsing) instructions to the Intel instruction tables. llvm-svn: 82089
* Add StringRef::{rfind, rsplit}Daniel Dunbar2009-09-162-0/+14
| | | | llvm-svn: 82087
* Added the LAR (load segment access rights)Sean Callanan2009-09-162-0/+21
| | | | | | instructions to the Intel instruction tables. llvm-svn: 82084
* Added the LOOP family of instructions to the IntelSean Callanan2009-09-161-0/+6
| | | | | | instruction tables. llvm-svn: 82083
* Added an alternate form of register-register CMPSean Callanan2009-09-162-0/+8
| | | | | | to the Intel instruction tables. llvm-svn: 82081
* Fix typo.Devang Patel2009-09-161-1/+1
| | | | llvm-svn: 82080
* At iSel time, update DebugLoc based on debug info attached with an instruction.Devang Patel2009-09-161-1/+30
| | | | llvm-svn: 82077
* Add a new pass for doing late hoisting of floating-point and vectorDan Gohman2009-09-162-1/+123
| | | | | | | | | | | constants out of loops. These aren't covered by the regular LICM pass, because in LLVM IR constants don't require separate instructions. They're not always covered by the MachineLICM pass either, because it doesn't know how to unfold folded constant-pool loads. This is somewhat experimental at this point, and off by default. llvm-svn: 82076
* Print debug info attached with an instruction.Devang Patel2009-09-162-1/+26
| | | | llvm-svn: 82075
* Expand vector floating-point conversions not supported by NEON.Bob Wilson2009-09-161-0/+6
| | | | llvm-svn: 82074
* Provide a way to extract location info from DILocation.Devang Patel2009-09-161-0/+23
| | | | llvm-svn: 82064
* Parse debug info attached with an instruction.Devang Patel2009-09-163-0/+19
| | | | llvm-svn: 82063
* Add llvm::Metadata to manage metadata used in a context. Devang Patel2009-09-164-0/+82
| | | | | | This interface will be used to attach metadata with an instruction. llvm-svn: 82060
* Fix incorrect assert that should be a user error for code like 'mov $0, %%eax'.Kevin Enderby2009-09-161-1/+2
| | | | llvm-svn: 82054
* Change FoldPHIArgBinOpIntoPHI to decline folding if it would introduce twoDan Gohman2009-09-161-7/+13
| | | | | | | | phis, similar to the FoldPHIArgGEPIntoPHI change. Also, delete some comments that don't reflect the code. llvm-svn: 82053
* Don't sort the vector when it is empty. This should fix some expensive checkingBenjamin Kramer2009-09-161-1/+2
| | | | | | failures. llvm-svn: 82040
* Reapplied r81355 with the problems fixed.Andreas Neustifter2009-09-163-18/+31
| | | | | | | (See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090907/086737.html and http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090907/086746.html) llvm-svn: 82039
* updated lib/CodeGen/CMakeLists.txt to unbreak cmake build after r82018Xerxes Ranby2009-09-161-0/+1
| | | | llvm-svn: 82038
* Preserve ProfileInfo during CodeGenPrepare.Andreas Neustifter2009-09-162-2/+24
| | | | llvm-svn: 82034
* move FnStubs/GVSTubs/HiddenGVStub handling out of the X86 asmprinterChris Lattner2009-09-164-43/+44
| | | | | | and use MachineModuleInfoMachO instead. llvm-svn: 82022
* revert a hunk of r82018 that wasn't supposed to go in yet.Chris Lattner2009-09-161-0/+5
| | | | llvm-svn: 82020
* add a new MachineModuleInfoMachO class, which is the per-moduleChris Lattner2009-09-162-5/+44
| | | | | | stuff common across all macho targets. llvm-svn: 82018
* the pointer MMI keeps will start out with object-file format specific stuffChris Lattner2009-09-161-2/+2
| | | | llvm-svn: 82012
* tidy upChris Lattner2009-09-161-3/+3
| | | | llvm-svn: 82011
* rearrange X86ATTAsmPrinter::doFinalization, making a scan of Chris Lattner2009-09-162-33/+43
| | | | | | the global variable list only happen for COFF targets. llvm-svn: 82010
* remove the AsmPrinter::printMCInst hook hack now thatChris Lattner2009-09-162-6/+1
| | | | | | we have MCInstPrinter. llvm-svn: 82006
* fix cmake buildShantonu Sen2009-09-161-0/+1
| | | | llvm-svn: 81999
* Do not try and sink a load whose chain result has more than one use, when Nate Begeman2009-09-161-2/+5
| | | | | | | | trying to create RMW opportunities in the x86 backend. This can cause a cycle to appear in the graph, since the other uses may eventually feed into the TokenFactor we are sinking the load below. llvm-svn: 81996
* Added the ENTER instruction, which sets up a stackSean Callanan2009-09-161-0/+5
| | | | | | frame, to the Intel instruction tables. llvm-svn: 81995
* Added the definitions for one-bit left shifts toSean Callanan2009-09-162-4/+15
| | | | | | | | | | the Intel instruction tables. The patterns will stay blank because ADD reg, reg is faster, but having the encoding available is useful for the disassembler. llvm-svn: 81994
* Don't sink gep operators through phi nodes if the result would requireDan Gohman2009-09-161-1/+14
| | | | | | | | more than one phi, since that leads to higher register pressure on entry to the phi. This is especially problematic when the phi is in a loop header, as it increases register pressure throughout the loop. llvm-svn: 81993
* 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-169-36/+149
| | | | | | | | | | | | | | | | | | | | | | | | 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
* 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-161-0/+6
| | | | | | 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-162-11/+6
| | | | llvm-svn: 81970
* Expand some more vector operations not supported by Neon.Bob Wilson2009-09-161-0/+6
| | | | llvm-svn: 81969
* Eliminate AsmPrinter::EmitExternalGlobal, inlining its (now)Chris Lattner2009-09-162-8/+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
OpenPOWER on IntegriCloud