summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CBackend/CBackend.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Reapply r110396, with fixes to appease the Linux buildbot gods.Owen Anderson2010-08-061-2/+2
| | | | llvm-svn: 110460
* Revert r110396 to fix buildbots.Owen Anderson2010-08-061-2/+2
| | | | llvm-svn: 110410
* Don't use PassInfo* as a type identifier for passes. Instead, use the ↵Owen Anderson2010-08-051-2/+2
| | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396
* by Alexander Herz:Gabor Greif2010-08-041-0/+7
| | | | | | | | | | | | "The CWriter::GetValueName() method does not check if a value as an alias and emits the alias name which will never be defined in the output .c file (so the output file fails to compile). This can happen if you have multiple inheritance with several destructors defined by clang (...D0Ev, ...D1Ev, ...D2Ev)." -- applied with minor tweaks. Thanks! llvm-svn: 110194
* use ArgOperand APIGabor Greif2010-06-261-24/+24
| | | | llvm-svn: 106945
* fix a -Wbool-conversions warning from clang.Chris Lattner2010-06-141-1/+1
| | | | llvm-svn: 105943
* Add support for thiscall calling convention.Anton Korobeynikov2010-05-161-0/+3
| | | | | | Patch by Charles Davis and Steven Watanabe! llvm-svn: 103902
* Remove the "WantsWholeFile" concept, as it's no longer needed. CBEDan Gohman2010-05-111-5/+5
| | | | | | | | and the others use the regular addPassesToEmitFile hook now, and llc no longer needs a bunch of redundant code to handle the whole-file case. llvm-svn: 103492
* Revert 101465, it broke internal OpenGL testing.Eric Christopher2010-04-161-22/+22
| | | | | | | Probably the best way to know that all getOperand() calls have been handled is to replace that API instead of updating. llvm-svn: 101579
* reapply r101434Gabor Greif2010-04-161-22/+22
| | | | | | | | | | | | | with a fix for self-hosting rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101465
* back out r101423 and r101397, they break llvm-gcc self-host on darwin10Gabor Greif2010-04-161-22/+22
| | | | llvm-svn: 101434
* reapply r101364, which has been backed out in r101368Gabor Greif2010-04-151-22/+22
| | | | | | | | | | | | | with a fix rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101397
* back out r101364, as it trips the linux nightlybot on some clang C++ testsGabor Greif2010-04-151-22/+22
| | | | llvm-svn: 101368
* rotate CallInst operands, i.e. move callee to the backGabor Greif2010-04-151-22/+22
| | | | | | | | | | of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101364
* Implement support for varargs functions without any fixedChris Lattner2010-04-101-16/+23
| | | | | | | | parameters in the CBE by implicitly adding a fixed argument. This allows eliminating a work-around from DAE. Patch by Sylvere Teissier! llvm-svn: 100944
* use abstract interface in two more placesGabor Greif2010-04-081-2/+2
| | | | llvm-svn: 100762
* fix compileGabor Greif2010-04-081-2/+2
| | | | llvm-svn: 100760
* use abstract interfaceGabor Greif2010-04-081-1/+1
| | | | llvm-svn: 100758
* rename llvm::llvm_report_error -> llvm::report_fatal_errorChris Lattner2010-04-071-2/+2
| | | | llvm-svn: 100709
* Remove a memory leak from the CBackend.Jeffrey Yasskin2010-03-191-1/+4
| | | | llvm-svn: 98941
* give Mangler access to TargetData.Chris Lattner2010-03-121-1/+1
| | | | llvm-svn: 98378
* make the mangler take an MCContext instead of an MAI.Chris Lattner2010-03-121-1/+4
| | | | | | No functionality change. llvm-svn: 98363
* Add a flag to addPassesToEmit* to disable the Verifier pass runDan Gohman2010-02-281-1/+2
| | | | | | after LSR, so that clients can opt in. llvm-svn: 97357
* Remove a bunch of duplicated code, where there was one version taking a ↵Duncan Sands2010-02-211-177/+15
| | | | | | | | std::ostream and another taking a raw_ostream, but otherwise identical. Use raw_ostream everywhere. llvm-svn: 96746
* Introduce isOpaqueTy and use it rather than isa<OpaqueType>. Also, move someDuncan Sands2010-02-161-3/+3
| | | | | | methods to try to have the type predicates be more logically positioned. llvm-svn: 96349
* There are two ways of checking for a given type, for example isa<PointerType>(T)Duncan Sands2010-02-161-30/+30
| | | | | | | and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris. llvm-svn: 96344
* Uniformize the names of type predicates: rather than having isFloatTy andDuncan Sands2010-02-151-9/+10
| | | | | | isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! llvm-svn: 96223
* Fix "the the" and similar typos.Dan Gohman2010-02-101-2/+2
| | | | llvm-svn: 95781
* eliminate FileModel::Model, just use CodeGenFileType. The clientChris Lattner2010-02-021-1/+1
| | | | | | | of the code generator shouldn't care what object format a target uses. llvm-svn: 95124
* use both the Mangler and the CBE's mangler for identifiers,Chris Lattner2010-01-221-4/+4
| | | | | | this should fix a problem duncan saw handling symbols with '.' in them. llvm-svn: 94192
* revert 93934, removing the MCAsmInfo endianness bit. I can'tChris Lattner2010-01-201-2/+2
| | | | | | | stomache MCAsmInfo having this, and I found a better solution to this layering issue. llvm-svn: 93985
* give MCAsmInfo a 'has little endian' bit. This is unfortunate, butChris Lattner2010-01-191-2/+2
| | | | | | | | | I really want clients of the streamer to be able to say "emit this 64-bit integer" and have it get broken down right by the streamer. I may change this in the future, we'll see how it works out. llvm-svn: 93934
* stop the CBE from using Mangler::appendMangledName, which is a private ↵Chris Lattner2010-01-171-6/+15
| | | | | | function, it is mangling types, which don't matter how they are done. llvm-svn: 93692
* Get MCSymbol out of the mangling business, and move all the logicChris Lattner2010-01-171-5/+4
| | | | | | | | | | | to Mangler. Now MCSymbol just decides whether to slap quotes around a symbol when printing it. This also fixes some weirdness where two MCSymbols could be created for the same symbol, if one needed to be mangled and got mangled to the other one. llvm-svn: 93690
* now that mangler is in libtarget, it can use MCAsmInfo instead of clientsChris Lattner2010-01-171-17/+34
| | | | | | having to pass various fields from it in. Simplify. llvm-svn: 93686
* move the mangler into libtarget from vmcore.Chris Lattner2010-01-161-1/+1
| | | | llvm-svn: 93664
* reduce duplicate mangling logic by using MCSymbol::printMangledName.Chris Lattner2010-01-131-23/+4
| | | | llvm-svn: 93351
* stop the CBE from using deprecated Mangler stuff.Chris Lattner2010-01-131-17/+39
| | | | llvm-svn: 93341
* change Mangler::makeNameProper to return its result in a SmallVectorChris Lattner2010-01-131-5/+15
| | | | | | | | | | | | instead of returning it in an std::string. Based on this change: 1. Change TargetLoweringObjectFileCOFF::getCOFFSection to take a StringRef 2. Change a bunch of targets to call makeNameProper with a smallstring, making several of them *much* more efficient. 3. Rewrite Mangler::makeNameProper to not build names and then prepend prefixes, not use temporary std::strings, and to avoid other crimes. llvm-svn: 93298
* Remove dead debug info intrinsics.Devang Patel2010-01-051-15/+0
| | | | | | | | | | Intrinsic::dbg_stoppoint Intrinsic::dbg_region_start Intrinsic::dbg_region_end Intrinsic::dbg_func_start AutoUpgrade simply ignores these intrinsics now. llvm-svn: 92557
* Remove dead variable.Bill Wendling2009-12-281-1/+0
| | | | llvm-svn: 92195
* improve portability to avoid conflicting with std::next in c++'0x.Chris Lattner2009-12-031-2/+2
| | | | | | Patch by Howard Hinnant! llvm-svn: 90365
* rename indbr -> indirectbr to appease the residents of #llvm.Chris Lattner2009-10-281-2/+2
| | | | llvm-svn: 85351
* CBE support for indbr.Chris Lattner2009-10-271-0/+7
| | | | llvm-svn: 85311
* Remove FreeInst.Victor Hernandez2009-10-261-6/+0
| | | | | | | Remove LowerAllocations pass. Update some more passes to treate free calls just like they were treating FreeInst. llvm-svn: 85176
* Remove ICmpInst::isSignedPredicate which was a reimplementationNick Lewycky2009-10-251-1/+1
| | | | | | CmpInst::isSigned. llvm-svn: 85037
* Remove MallocInst from LLVM Instructions.Victor Hernandez2009-10-171-6/+1
| | | | llvm-svn: 84299
* Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.Sandeep Patel2009-09-021-0/+2
| | | | llvm-svn: 80773
* Unbreak FP128 stuff in cbeAnton Korobeynikov2009-08-261-1/+2
| | | | llvm-svn: 80115
* eliminate the "Value" printing methods that print to a std::ostream.Chris Lattner2009-08-231-7/+7
| | | | | | This required converting a bunch of stuff off DOUT and other cleanups. llvm-svn: 79819
OpenPOWER on IntegriCloud