summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Fix an over aggressive assumption that struct decls will have a pointer toChris Lattner2008-11-101-1/+1
| | | | | | | an array that is empty. Instead of requiring this array, allow a null pointer. This shrinks all forward references of structs. llvm-svn: 58959
* Fix a bug with default arguments that apple gcc doesn't notice that llvmbb does.Chris Lattner2008-11-101-1/+1
| | | | llvm-svn: 58958
* move some cases around to silence these sorts of warnings in Chris Lattner2008-11-101-6/+6
| | | | | | | | | | release-asserts build: llvm/CodeGen/SelectionDAGNodes.h:1298: warning: control may reach end of non-void function 'unsigned int llvm::MVT::getSizeInBits() const' being inlined what an unhelpful warning. llvm-svn: 58957
* add new fileChris Lattner2008-11-101-0/+1
| | | | llvm-svn: 58955
* Add a new set of helper classes for creating and reading debug Chris Lattner2008-11-102-0/+1056
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | information. This logically replaces the "Desc" classes in MachineModuleInfo. Nice features of these classes are that they: 1. Are much more efficient than MMI because they don't create a temporary parallel data structure for debug info that has to be 'serialized' and 'deserialized' into/out of the module. 2. These provide a much cleaner abstraction for debug info than MMI, which will make it easier to change the implementation in the future (to be MDNode-based). 3. These are much easier to use than the MMI interfaces, requiring a lot less code in the front-ends. 4. These can be used to both create (for frontends) and read (for codegen) debug information. DebugInfoBuilder can only be used to create the nodes. So far, this is implemented just enough to support the debug info generation needs of clang. This can and should be extended to support the full set of debug info constructs, and we should switch llvm-gcc and llc over to using this in the near future. This code also has a ton of FIXMEs in it, because the way we currently represent debug info in LLVM IR is basically insane in a variety of details. This sort of issue should be fixed when we eventually reimplement debug info on top of MDNodes. llvm-svn: 58954
* CMake: Builds a native tblgen when cross-compiling and the user didn'tOscar Fuentes2008-11-102-28/+17
| | | | | | set LLVM_TABLEGEN. llvm-svn: 58953
* Forgot these.Evan Cheng2008-11-101-19/+19
| | | | llvm-svn: 58952
* CMake: Implement magic word `all' for selecting all targets. CheckOscar Fuentes2008-11-101-4/+31
| | | | | | that specified targets are known. llvm-svn: 58951
* CMake: Non-working code for auto-building the native tblgen util whenOscar Fuentes2008-11-102-5/+42
| | | | | | cross-compiling. llvm-svn: 58950
* Rename isGVNonLazyPtr to isIndirectSym to reflect how it will be used.Evan Cheng2008-11-108-48/+48
| | | | llvm-svn: 58949
* Correction for the last patch. Should match the conditional in the first partBill Wendling2008-11-091-34/+42
| | | | | | of the select match, not the select instruction itself. llvm-svn: 58947
* The method of doing the matching with a 'select' instruction was wrong. TheBill Wendling2008-11-092-32/+56
| | | | | | | | | | | | | | | | | | original code was matching like this: if (match(A, m_Not(m_Value(B)))) B was already matched as a 'select' instruction. However, this isn't matching what we think it's matching. It would match B as a 'Value', so basically anything would match to it. In this case, a Constant matched. B was replaced with a constant representation. And then the wrong value would be used in the SelectInst::Create statement, causing a crash. After thinking on this for a moment, and after Nick L. told me how the pattern matching stuff was supposed to work, the solution was to match NOT an m_Value, but an m_Select. llvm-svn: 58946
* CMake: Corrected detection of `nm'.Oscar Fuentes2008-11-091-1/+3
| | | | llvm-svn: 58941
* CMake: Support for cross-compiling. For now, requires a previouslyOscar Fuentes2008-11-096-5/+26
| | | | | | | | | | | | | built native tblgen which is passed to cmake in the variable LLVM_TABLEGEN. See http://www.cmake.org/Wiki/CmakeMingw for a quick example on how to cross-compile with CMake. llvm-svn: 58939
* fix validation problem.Chris Lattner2008-11-091-5/+4
| | | | llvm-svn: 58938
* XFAIL this while waiting for a fix.Duncan Sands2008-11-091-0/+1
| | | | llvm-svn: 58934
* fix leakage of ValueNumberingNuno Lopes2008-11-091-0/+1
| | | | llvm-svn: 58933
* Temporarily revert 58825, which breaks PPC bootstrap.Dale Johannesen2008-11-091-1/+3
| | | | | | xs llvm-svn: 58930
* If the LHS of the FCMP is coming from a UIToFP instruction, then we don't wantBill Wendling2008-11-092-33/+134
| | | | | | | | | | | | | | | | | | | | | | | to generate signed ICMP instructions to replace the FCMP. This would violate the following: define i1 @test1(i32 %val) { %1 = uitofp i32 %val to double %2 = fcmp ole double %1, 0.000000e+00 ret i1 %2 } would be transformed into: define i1 @test1(i32 %val) { %1 = icmp slt i33 %val, 1 ret i1 %1 } which is obviously wrong. This patch modifes InstCombiner::FoldFCmp_IntToFP_Cst to handle when the LHS comes from UIToFP. llvm-svn: 58929
* Typo fixAnton Korobeynikov2008-11-091-1/+1
| | | | llvm-svn: 58928
* CellSPU: Update expected counts on expected patternsScott Michel2008-11-091-5/+5
| | | | llvm-svn: 58927
* Temporary revert my last commit: it seems it's triggering some subtle bug in ↵Anton Korobeynikov2008-11-086-19/+31
| | | | | | | | backend and breaks llvm-gcc llvm-svn: 58926
* CMake: corrected library target name for dependency: LLVMCellSPU ->Oscar Fuentes2008-11-081-1/+1
| | | | | | LLVMCellSPUCodeGen. llvm-svn: 58925
* CMake: Reflected changes on the CellSPU target build. May require aOscar Fuentes2008-11-082-2/+13
| | | | | | clean start. llvm-svn: 58924
* Fixed a pasto.Oscar Fuentes2008-11-081-1/+2
| | | | llvm-svn: 58923
* Allow $CALL and $ENV in command names. Fixes #3025.Mikhail Glushenkov2008-11-081-1/+1
| | | | llvm-svn: 58922
* CellSPU: Bring SPU's assembly printer more in-line with current LLVM codeScott Michel2008-11-085-647/+627
| | | | | | structure. Assembly printer now outputs the correct section for strings. llvm-svn: 58921
* Try to produce better code when scalarizing VSETCC.Duncan Sands2008-11-081-8/+26
| | | | llvm-svn: 58920
* Factor out offset printing code into generic AsmPrinter.Anton Korobeynikov2008-11-086-31/+19
| | | | | | | FIXME: it seems, that most of targets don't support offsets wrt CPI/GlobalAddress', was it intentional? llvm-svn: 58917
* The Index field of an AttributeWithIndex is of type unsigned, not uint16_t.Nicolas Geoffray2008-11-081-2/+2
| | | | llvm-svn: 58908
* StoreInst does not produce any result thus it's useless to create newAnton Korobeynikov2008-11-081-1/+1
| | | | | | | variable for it. This greatly reduces amount of unused variables in llvm2cpp-generated code llvm-svn: 58905
* Properly escape dashes in TableGen's LLVMC2 emitter.Anton Korobeynikov2008-11-081-2/+2
| | | | | | Patch by Patrick Walton! llvm-svn: 58901
* Fix syntax of iterate_complex example. Noticed by Martin!Eric Christopher2008-11-081-1/+1
| | | | llvm-svn: 58900
* Moved InvalidateInstructionCache to ARMJITInfo::emitFunctionStub which knows ↵Evan Cheng2008-11-081-22/+21
| | | | | | size of stub. llvm-svn: 58899
* Remove a InvalidateInstructionCache call with incorrect size.Evan Cheng2008-11-081-4/+0
| | | | llvm-svn: 58898
* Rename startFunctionStub to startGVStub since it's also used for GV non-lazy ↵Evan Cheng2008-11-088-42/+39
| | | | | | ptr. llvm-svn: 58897
* Tell ARMJITInfo if codegen relocation is PIC. It changes how function stubs ↵Evan Cheng2008-11-083-8/+13
| | | | | | are generated. llvm-svn: 58896
* Rename isString -> isExternalSymbol; getString -> getExternalSymbol since ↵Evan Cheng2008-11-082-7/+7
| | | | | | these work on externsym machine relocations. llvm-svn: 58895
* More debug output.Evan Cheng2008-11-081-0/+2
| | | | llvm-svn: 58894
* Fix relocation for calls to external symbols.Evan Cheng2008-11-081-1/+1
| | | | llvm-svn: 58893
* CellSPU: Fix prologue/epilogue emission when function contains calls butScott Michel2008-11-081-2/+2
| | | | | | theframe size is 0; the prologue and epilogue should be emitted in this case. llvm-svn: 58890
* Rework r58829, allowing removal of dbg info intrinsics during allocaDaniel Dunbar2008-11-081-20/+24
| | | | | | | | promotion. - Eliminate uses after free and simplify tests. Devang: Please check that this is still doing what you intended. llvm-svn: 58887
* Add LLVMC2 tool definitions for Objective-C and Objective-C++.Daniel Dunbar2008-11-084-2/+66
| | | | llvm-svn: 58885
* Skip over two-address use operands.Evan Cheng2008-11-081-0/+12
| | | | llvm-svn: 58883
* Handle ARM machine constantpool entry with non-lazy ptr.Evan Cheng2008-11-083-6/+24
| | | | llvm-svn: 58882
* Indentation.Evan Cheng2008-11-081-4/+4
| | | | llvm-svn: 58881
* remove unavailable clang projectTed Kremenek2008-11-081-6/+0
| | | | llvm-svn: 58879
* Use ARMFunctionInfo to track number of constpool entries and jumptables.Evan Cheng2008-11-083-11/+28
| | | | llvm-svn: 58877
* Generated code for generic expansion of SETUGT etc.Dale Johannesen2008-11-081-0/+1
| | | | | | | | | is noticeably worse than previous PPC-specific code. Since the latter was also wrong in some cases and correctness is more important than efficiency, I'm disabling this test temporarily while I fix it. llvm-svn: 58876
* Xfail an incorrect test.Dale Johannesen2008-11-081-0/+7
| | | | llvm-svn: 58875
OpenPOWER on IntegriCloud