summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* reduce size of SmallString to something more reasonableJim Grosbach2009-09-011-1/+1
| | | | llvm-svn: 80710
* Use raw_ostream instead of sstreamJim Grosbach2009-09-011-7/+5
| | | | llvm-svn: 80704
* Add hidden flags to allow binary search of post-RA scheduling errors.David Goodwin2009-09-011-0/+21
| | | | llvm-svn: 80702
* revert inadvertant change from previous commitJim Grosbach2009-09-011-2/+3
| | | | llvm-svn: 80689
* Simply LSDA lable emission to use a direct special-case output instead ofJim Grosbach2009-09-013-21/+12
| | | | | | EmitLabel() llvm-svn: 80677
* Fix pr4843: When an instruction has multiple destination registers that areBob Wilson2009-09-011-11/+55
| | | | | | | | | tied to different source registers, the TwoAddressInstructionPass needs to be smarter. Change it to check before replacing a source register whether that source register is tied to a different destination register, and if so, defer handling it until a subsequent iteration. llvm-svn: 80654
* Clean up LSDA name generation and use for SJLJ exception handling. ThisJim Grosbach2009-09-013-12/+25
| | | | | | | | | | | makes an eggregious hack somewhat more palatable. Bringing the LSDA forward and making it a GV available for reference would be even better, but is beyond the scope of what I'm looking to solve at this point. Objective C++ code could generate function names that broke the previous scheme. This fixes that. llvm-svn: 80649
* Subprogram is a scope. Derive DISubprogram from DIScope.Devang Patel2009-08-312-4/+18
| | | | llvm-svn: 80637
* Rename DIBlock as DILexicalBlock.Devang Patel2009-08-311-1/+1
| | | | llvm-svn: 80633
* Use early exit and reduce indentation.Bob Wilson2009-08-311-157/+157
| | | | llvm-svn: 80631
* If the tied registers are already the same, there is no need to changeBob Wilson2009-08-311-5/+5
| | | | | | them. Move the code to make that change inside the conditional. llvm-svn: 80630
* Add flag to mark structs for Apple Block "byref" variables; also add code toCaroline Tice2009-08-312-2/+254
| | | | | | | modify the type and location debug information for these variables to match the programmer's expectations. llvm-svn: 80625
* Don't mark a register live at an undef use.David Goodwin2009-08-311-13/+8
| | | | llvm-svn: 80621
* Simplify isDerivedType() and other predicate interface.Devang Patel2009-08-311-3/+3
| | | | llvm-svn: 80602
* Output a hex value, because all of the others are hex.Bill Wendling2009-08-311-1/+1
| | | | llvm-svn: 80601
* Revert commit 80428. It completely broke exceptionDuncan Sands2009-08-311-30/+17
| | | | | | handling on x86-32 linux. llvm-svn: 80592
* PR4747Jim Grosbach2009-08-312-36/+23
| | | | | | | | | | | | | Shared landing pads run into trouble with SJLJ, as the dispatch table is mapped to call sites, and merging the pads will throw that off. There needs to be a one-to-one mapping of landing pad exception table entries to invoke call points. Detecting the shared pad during lowering of SJLJ info insn't sufficient, as the dispatch function may still need separate destinations to properly handle phi-nodes. llvm-svn: 80530
* Nuke moribund "std::string" version of EOL(..., Encoding).Bill Wendling2009-08-301-8/+0
| | | | llvm-svn: 80466
* - Add target lowering methods to get the preferred format for the FDE and LSDABill Wendling2009-08-291-17/+30
| | | | | | | | | encodings. - Make some of the values emitted by the FDEs dependent upon the pointer size. This is in line with how GCC does things. And it has the benefit of working for Darwin in 64-bit mode now. llvm-svn: 80428
* Add a form of EOL which emits the text version of a DWARF format encoding. ThisBill Wendling2009-08-291-0/+50
| | | | | | doesn't handle all values of the formatting. Those can be added as needed. llvm-svn: 80427
* Make the augmentation size and next set of bytes agree on size,Eric Christopher2009-08-291-4/+10
| | | | | | | | | and make the reference pointer size as it should be. Fixes an abort on a testcase derived from libunwind's personality test in 64-bit. llvm-svn: 80414
* Another stab at fixing up register kill flags after post-RA scheduling.David Goodwin2009-08-291-20/+63
| | | | llvm-svn: 80410
* Reapply 79977.Devang Patel2009-08-289-136/+134
| | | | | | Use MDNodes to encode debug info in llvm IR. llvm-svn: 80406
* Nuke trailing whitespace.Eric Christopher2009-08-281-9/+9
| | | | llvm-svn: 80401
* Closure is a very generic name. Use AppleBlock instead.Devang Patel2009-08-271-1/+1
| | | | llvm-svn: 80307
* Adjust the MachineBasicBlock verifier rules to be moreDan Gohman2009-08-271-11/+14
| | | | | | tolerant of blocks that end with "unreachable". llvm-svn: 80270
* Revert accidental commit.Bill Wendling2009-08-272-221/+28
| | | | llvm-svn: 80198
* --- Reverse-merging r80147 into '.':Bill Wendling2009-08-272-28/+221
| | | | | | | | | | | | | | | | | | | | | | A include/llvm/ADT/iterator.cmake U autoconf/configure.ac --- Reverse-merging r80161 into '.': U cmake/config-ix.cmake --- Reverse-merging r80171 into '.': U Makefile --- Reverse-merging r80173 into '.': U configure U include/llvm/Config/config.h.in --- Reverse-merging r80180 into '.': A include/llvm/ADT/iterator.h.in Despite common miscomceptions, iterator.h is alive and well. It broke the build bots for several hours. And yet no one bothered to look at them. Gabor and Doug, please review your changes and make sure that they actually build before resubmitting them. llvm-svn: 80197
* Add some checks for MachineCFG consistency. Use AnalyzeBranch andDan Gohman2009-08-271-0/+133
| | | | | | | do extra checking when it succeeds, as those are cases where CodeGen will be doing particularly interesting CFG modifications. llvm-svn: 80196
* Rework getPersonalityIndex slightly - 0 is now a valid and not-NULLEric Christopher2009-08-261-3/+3
| | | | | | personality function. llvm-svn: 80153
* If we're emitting additional CIEs due to personality functionsEric Christopher2009-08-262-3/+8
| | | | | | | don't emit the default one. Explicitly check for the NULL CIE later. llvm-svn: 80146
* Nuke trailing whitespace.Eric Christopher2009-08-261-14/+13
| | | | llvm-svn: 80145
* Add extload expansion for f128Anton Korobeynikov2009-08-261-3/+6
| | | | llvm-svn: 80116
* -fast is now -O0. -fast-isel is no longer experimental.Dan Gohman2009-08-261-2/+2
| | | | llvm-svn: 80104
* Revert 79977. It causes llvm-gcc bootstrap failures on some platforms.Devang Patel2009-08-269-134/+136
| | | | llvm-svn: 80073
* Add isClosure() predicate. This is used to add DW_AT_APPLE_block attribute.Devang Patel2009-08-261-4/+1
| | | | | | Patch by Caroline Tice. llvm-svn: 80061
* Get rid of this horrible "benign race" by exploiting ManagedStatic to initializeOwen Anderson2009-08-251-7/+14
| | | | | | the array on its first access. llvm-svn: 80040
* Fixup register kills after scheduling.David Goodwin2009-08-251-21/+94
| | | | llvm-svn: 80002
* - Rename EmitCommonInformationEntry to EmitCIE.Bill Wendling2009-08-252-19/+15
| | | | | | - Rename EmitFunctionDescriptionEntry to EmitFDE. llvm-svn: 79981
* Update DebugInfo interface to use metadata, instead of special named ↵Devang Patel2009-08-259-136/+134
| | | | | | | | llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well. This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!) llvm-svn: 79977
* - Emit new line after each FDE.Bill Wendling2009-08-251-1/+3
| | | | | | - Fix comment. llvm-svn: 79971
* Rename functions to something more descriptive. At the very least mention theBill Wendling2009-08-252-14/+19
| | | | | | CIE and FDE in their names. llvm-svn: 79969
* prune the #includes in raw_ostream.h by moving a Chris Lattner2009-08-242-3/+4
| | | | | | | member out of line. ftostr is not particularly speedy, so that method is presumably not perf sensitive. llvm-svn: 79885
* remove the last uses of Config/alloca.hChris Lattner2009-08-231-1/+0
| | | | llvm-svn: 79873
* Prune #includes from llvm/Linker.h and llvm/System/Path.h,Chris Lattner2009-08-231-1/+1
| | | | | | | | | | | | | | | | | | forcing them down into various .cpp files. This change also: 1. Renames TimeValue::toString() and Path::toString() to ::str() for similarity with the STL. 2. Removes all stream insertion support for sys::Path, forcing clients to call .str(). 3. Removes a use of Config/alloca.h from bugpoint, using smallvector instead. 4. Weans llvm-db off <iostream> sys::Path really needs to be gutted, but I don't have the desire to do it at this point. llvm-svn: 79869
* SJLJ pass needs to punt if there's no personality function available.Jim Grosbach2009-08-231-23/+27
| | | | llvm-svn: 79858
* Fix PR4753.Jakob Stoklund Olesen2009-08-231-1/+15
| | | | | | | | When undoing a reuse in ReuseInfo::GetRegForReload, check if it was only a sub-register being used. The MachineOperand::getSubReg() method is only valid for virtual registers, so we have to recover the sub-register index manually. llvm-svn: 79855
* Kill off more cerr/cout uses and prune includes a bit.Benjamin Kramer2009-08-233-20/+8
| | | | llvm-svn: 79852
* Fix some refactos for iostream changes (in -Asserts mode).Daniel Dunbar2009-08-233-20/+20
| | | | | | - The world needs better C++ refactoring tools, can I get an Amen!? llvm-svn: 79843
* remove some uses of llvm/Support/Streams.hChris Lattner2009-08-235-26/+3
| | | | llvm-svn: 79842
OpenPOWER on IntegriCloud