aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Make strcpy_chk lower to strcpy if we have a safe size.Eric Christopher2010-01-292-5/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94783 91177308-0d34-0410-b5e6-96231b3b80d8
* Quick fix to make the header file for the enhancedSean Callanan2010-01-291-3/+3
| | | | | | | | disassembly information have a better comment (and better guard macros). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94781 91177308-0d34-0410-b5e6-96231b3b80d8
* Added a bare-bones Makefile to build the enhanced disassemblySean Callanan2010-01-294-1/+108
| | | | | | | | | library as a static and a shared library. Added dependencies so the target-specific enhanced disassembly info tables are built before the library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94780 91177308-0d34-0410-b5e6-96231b3b80d8
* Recognize 'add_executable' when analyzing CMake files.Ted Kremenek2010-01-291-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94777 91177308-0d34-0410-b5e6-96231b3b80d8
* Update CMake build.Ted Kremenek2010-01-291-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94776 91177308-0d34-0410-b5e6-96231b3b80d8
* Add constant support to object size handling and remove defaultEric Christopher2010-01-292-10/+66
| | | | | | | | | | lowering. We'll either figure it out, or not and be lowered by SelectionDAGBuild. Add test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94775 91177308-0d34-0410-b5e6-96231b3b80d8
* Generic reformatting and comment fixing. No functionality change.Bill Wendling2010-01-291-19/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94771 91177308-0d34-0410-b5e6-96231b3b80d8
* Add newline to debugging output, and fix some grammar-os in comment.Bill Wendling2010-01-291-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94765 91177308-0d34-0410-b5e6-96231b3b80d8
* Added a custom TableGen backend to support theSean Callanan2010-01-295-0/+911
| | | | | | | | enhanced disassembler, and the necessary makefile rules to build the table for X86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94764 91177308-0d34-0410-b5e6-96231b3b80d8
* mem2reg erases the dbg.declare intrinsics that it converts to dbg.val intrinsicsVictor Hernandez2010-01-291-3/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94763 91177308-0d34-0410-b5e6-96231b3b80d8
* Assign the ordering of SDNodes in a much less intrusive fashion. After theBill Wendling2010-01-284-692/+172
| | | | | | | | "visit*" method is called, take the newly created nodes, walk them in a DFS fashion, and if they don't have an ordering set, then give it one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94757 91177308-0d34-0410-b5e6-96231b3b80d8
* Support some more options...Mikhail Glushenkov2010-01-281-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94752 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the folding ruleDan Gohman2010-01-282-22/+84
| | | | | | | | | | | | | | | | | | getelementptr (i8* inttoptr (i64 1 to i8*), i32 -1) to inttoptr (i64 0 to i8*) from the VMCore constant folder. It didn't handle sign-extension properly in the case where the source integer is smaller than a pointer size. And, it relied on an assumption about sizeof(i8). The Analysis constant folder still folds these kinds of things; it has access to TargetData, so it can do them right. Add a testcase which tests that the VMCore constant folder doesn't miscompile this, and that the Analysis folder does fold it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94750 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace strcpy with memcpy when we have the length around anyway.Benjamin Kramer2010-01-285-14/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94746 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR6165. The bug was that LHSKnownZero was being and'd with DemandedMaskDuncan Sands2010-01-282-2/+30
| | | | | | | | when it should have been and'd with LowBits. Fix that and while there beef up the logic in the case of a negative LHS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94745 91177308-0d34-0410-b5e6-96231b3b80d8
* Add llvm::Program::ChangeStderrToBinary().Douglas Gregor2010-01-283-2/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94743 91177308-0d34-0410-b5e6-96231b3b80d8
* Check Type::isSized before calling ScalarEvolution::getAllocSizeExpr,Dan Gohman2010-01-281-21/+23
| | | | | | | rather than after. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94742 91177308-0d34-0410-b5e6-96231b3b80d8
* convert the last 3 targets to use EmitFunctionBody() now thatChris Lattner2010-01-284-146/+48
| | | | | | | | | | | | | | it has before/end body hooks. lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp | 49 ++----------- lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp | 87 ++++++------------------ lib/Target/XCore/AsmPrinter/XCoreAsmPrinter.cpp | 56 +++------------ test/CodeGen/XCore/ashr.ll | 2 4 files changed, 48 insertions(+), 146 deletions(-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94741 91177308-0d34-0410-b5e6-96231b3b80d8
* Make getAlignOf return an i64, for consistency with getSizeOf andDan Gohman2010-01-282-4/+3
| | | | | | | | getOffsetOf, and remove the comment about assuming i8 is byte-aligned, which is no longer applicable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94738 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove SCEVAllocSizeExpr and SCEVFieldOffsetExpr, and in their placeDan Gohman2010-01-286-207/+144
| | | | | | | | | | | | | | | | | use plain SCEVUnknowns with ConstantExpr::getSizeOf and ConstantExpr::getOffsetOf constants. This eliminates a bunch of special-case code. Also add code for pattern-matching these expressions, for clients that want to recognize them. Move ScalarEvolution's logic for expanding array and vector sizeof expressions into an element count times the element size, to expose the multiplication to subsequent folding, into the regular constant folder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94737 91177308-0d34-0410-b5e6-96231b3b80d8
* add target hooks for emitting random gunk before and after the function body.Chris Lattner2010-01-282-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94732 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug introduced by r94490 where it created a X86ISD::CMP whose output ↵Evan Cheng2010-01-282-8/+49
| | | | | | | | | type is different from its inputs. This fixes PR6146. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94731 91177308-0d34-0410-b5e6-96231b3b80d8
* switch blackfin to the default runOnMachineFunctionChris Lattner2010-01-281-43/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94729 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate a now-useless class.Chris Lattner2010-01-281-13/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94728 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch MSP430, SPU, Sparc, and SystemZ to use EmitFunctionBody().Chris Lattner2010-01-286-284/+30
| | | | | | | | | Diffstat: 6 files changed, 30 insertions(+), 284 deletions(-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94727 91177308-0d34-0410-b5e6-96231b3b80d8
* Update of 94055 to track the IR level call site information via an intrinsic.Jim Grosbach2010-01-287-8/+84
| | | | | | | | | This allows code gen and the exception table writer to cooperate to make sure landing pads are associated with the correct invoke locations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94726 91177308-0d34-0410-b5e6-96231b3b80d8
* Record the death of ModuleProvier and GhostLinkage in the release notes andJeffrey Yasskin2010-01-281-1/+18
| | | | | | | give upgrade instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94723 91177308-0d34-0410-b5e6-96231b3b80d8
* Give AsmPrinter the most common expected implementation of Chris Lattner2010-01-285-114/+32
| | | | | | | | | | runOnMachineFunction, and switch PPC to use EmitFunctionBody. The two ppc asmprinters now don't heave to define runOnMachineFunction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94722 91177308-0d34-0410-b5e6-96231b3b80d8
* Truncate the release notes so they're ready to accumulate notes for the 2.7 ↵Jeffrey Yasskin2010-01-281-438/+45
| | | | | | release. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94720 91177308-0d34-0410-b5e6-96231b3b80d8
* switch ARM to EmitFunctionBody().Chris Lattner2010-01-281-45/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94719 91177308-0d34-0410-b5e6-96231b3b80d8
* emit a 0 byte instead of a noop if a function is empty on darwin.Chris Lattner2010-01-282-5/+3
| | | | | | | "0" is nice and target independent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94718 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the argument from EmitJumpTableInfo, because it doesn't need it.Chris Lattner2010-01-2814-103/+105
| | | | | | | | | | Move the X86 implementation of function body emission up to AsmPrinter::EmitFunctionBody, which works by calling the virtual EmitInstruction method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94716 91177308-0d34-0410-b5e6-96231b3b80d8
* Drop the argument to AsmPrinter::EmitConstantPool and make it virtual.Chris Lattner2010-01-284-4/+7
| | | | | | | | | Overload it in the ARM backend to do nothing, since is does insane constant pool emission. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94708 91177308-0d34-0410-b5e6-96231b3b80d8
* don't emit constant pools twice.Chris Lattner2010-01-281-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94706 91177308-0d34-0410-b5e6-96231b3b80d8
* rename printVisibility to EmitVisibility and make it private,Chris Lattner2010-01-282-11/+10
| | | | | | | constify EmitLinkage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94705 91177308-0d34-0410-b5e6-96231b3b80d8
* switch ARM to use EmitFunctionHeader.Chris Lattner2010-01-271-44/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94703 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate the ARMFunctionInfo::Align member, using Chris Lattner2010-01-273-19/+6
| | | | | | | MachineFunction::Alignment instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94701 91177308-0d34-0410-b5e6-96231b3b80d8
* add a helper function for bumping up the alignment of a machine function.Chris Lattner2010-01-271-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94700 91177308-0d34-0410-b5e6-96231b3b80d8
* switch blackfin to use EmitFunctionHeader. BlackfinAsmPrinter.cppChris Lattner2010-01-271-37/+5
| | | | | | | is now less than 200 LOC! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94699 91177308-0d34-0410-b5e6-96231b3b80d8
* switch mips to use the shared EmitFunctionHeader() functionChris Lattner2010-01-271-41/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94698 91177308-0d34-0410-b5e6-96231b3b80d8
* Changed constants to an enum so as not to pollute theSean Callanan2010-01-271-4/+4
| | | | | | | global namespace needlessly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94697 91177308-0d34-0410-b5e6-96231b3b80d8
* Added a header file defining the externally-visible C APISean Callanan2010-01-271-0/+470
| | | | | | | for the LLVM disassemblers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94696 91177308-0d34-0410-b5e6-96231b3b80d8
* If the only use of something is a DEBUG_VALUE, don'tDale Johannesen2010-01-271-0/+14
| | | | | | | | | let that stop it from being deleted, and change the DEBUG_VALUE value to undef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94694 91177308-0d34-0410-b5e6-96231b3b80d8
* Treat MO_REG 0 location as undefined in DEBUG_VALUE,Dale Johannesen2010-01-271-2/+8
| | | | | | | | per document. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94693 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an svn:ignore.Dan Gohman2010-01-270-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94692 91177308-0d34-0410-b5e6-96231b3b80d8
* Need to recurse for all operands of function-local metadata; and handle ↵Victor Hernandez2010-01-271-6/+3
| | | | | | Instructions (which map to themselves) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94691 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid creating redundant PHIs in SSAUpdater::GetValueInMiddleOfBlock.Bob Wilson2010-01-272-43/+82
| | | | | | | | This was already being done in SSAUpdater::GetValueAtEndOfBlock so I've just changed SSAUpdater to check for existing PHIs in both places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94690 91177308-0d34-0410-b5e6-96231b3b80d8
* Update CMake build.Ted Kremenek2010-01-271-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94687 91177308-0d34-0410-b5e6-96231b3b80d8
* Kill ModuleProvider and ghost linkage by inverting the relationship betweenJeffrey Yasskin2010-01-2762-720/+624
| | | | | | | | | | | | | | | | | | | | | | Modules and ModuleProviders. Because the "ModuleProvider" simply materializes GlobalValues now, and doesn't provide modules, it's renamed to "GVMaterializer". Code that used to need a ModuleProvider to materialize Functions can now materialize the Functions directly. Functions no longer use a magic linkage to record that they're materializable; they simply ask the GVMaterializer. Because the C ABI must never change, we can't remove LLVMModuleProviderRef or the functions that refer to it. Instead, because Module now exposes the same functionality ModuleProvider used to, we store a Module* in any LLVMModuleProviderRef and translate in the wrapper methods. The bindings to other languages still use the ModuleProvider concept. It would probably be worth some time to update them to follow the C++ more closely, but I don't intend to do it. Fixes http://llvm.org/PR5737 and http://llvm.org/PR5735. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94686 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't bother with sprintf, just pass the Twine through.Benjamin Kramer2010-01-273-7/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94684 91177308-0d34-0410-b5e6-96231b3b80d8