| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Start inferring side effect information more aggressively, and fix many bugs ↵ | Chris Lattner | 2008-01-10 | 10 | -102/+192 |
| | | | | | | | | | | | | | | | in the x86 backend where instructions were not marked maystore/mayload, and perf issues where instructions were not marked neverHasSideEffects. It would be really nice if we could write patterns for copy instructions. I have audited all the x86 instructions down to MOVDQAmr. The flags on others and on other targets are probably not right in all cases, but no clients currently use this info that are enabled by default. llvm-svn: 45829 | ||||
| * | Clearify the meaning of immutable StackObject. | Evan Cheng | 2008-01-10 | 1 | -3/+3 |
| | | | | | llvm-svn: 45828 | ||||
| * | Fix a crash on code like: let x = 1 {x | Chris Lattner | 2008-01-10 | 1 | -1/+4 |
| | | | | | llvm-svn: 45827 | ||||
| * | rename X86InstrX86-64.td -> X86Instr64bit.td | Chris Lattner | 2008-01-10 | 2 | -5/+5 |
| | | | | | llvm-svn: 45826 | ||||
| * | add SDNPSideEffect node property declaration | Chris Lattner | 2008-01-10 | 1 | -0/+1 |
| | | | | | llvm-svn: 45825 | ||||
| * | remove explicit sets of 'neverHasSideEffects' that can now be | Chris Lattner | 2008-01-10 | 6 | -13/+12 |
| | | | | | | | inferred from the instr patterns. llvm-svn: 45824 | ||||
| * | if an instr lacks a pattern, assume it has side effects (unless never has ↵ | Chris Lattner | 2008-01-10 | 1 | -1/+4 |
| | | | | | | | s-e is true). llvm-svn: 45823 | ||||
| * | start inferring 'no side effects'. | Chris Lattner | 2008-01-10 | 4 | -56/+62 |
| | | | | | llvm-svn: 45822 | ||||
| * | get def use info more correct. | Chris Lattner | 2008-01-10 | 7 | -11/+19 |
| | | | | | llvm-svn: 45821 | ||||
| * | Added some text about the ccc script provided by Sanghyeon Seo. | Ted Kremenek | 2008-01-10 | 1 | -0/+24 |
| | | | | | llvm-svn: 45820 | ||||
| * | Infer mayload | Chris Lattner | 2008-01-10 | 1 | -3/+13 |
| | | | | | llvm-svn: 45819 | ||||
| * | add SDNPMayLoad to the 'load' sdnode definition. This is enough to get all ↵ | Chris Lattner | 2008-01-10 | 1 | -1/+3 |
| | | | | | | | | | the x86 instructions (with patterns) that load memory marked, for example. llvm-svn: 45818 | ||||
| * | realize that instructions who match intrinsics that read memory read memory. | Chris Lattner | 2008-01-10 | 3 | -3/+15 |
| | | | | | | | Also, instructions with any nodes that are SDNPMayLoad also read memory. llvm-svn: 45817 | ||||
| * | verify that the frame index is immutable before remat'ing (still disabled) | Chris Lattner | 2008-01-10 | 1 | -7/+10 |
| | | | | | | | or being side-effect free. llvm-svn: 45816 | ||||
| * | Don't use LiveVariables::VarInfo::DefInst. | Owen Anderson | 2008-01-10 | 1 | -1/+8 |
| | | | | | llvm-svn: 45815 | ||||
| * | Codegen improvement has reduced one spill. | Evan Cheng | 2008-01-10 | 1 | -1/+1 |
| | | | | | llvm-svn: 45814 | ||||
| * | Mark byval parameter stack objects mutable for now. | Evan Cheng | 2008-01-10 | 1 | -7/+8 |
| | | | | | llvm-svn: 45813 | ||||
| * | Add a isImmutable bit to StackObject. Fixed stack objects are immutable (in ↵ | Evan Cheng | 2008-01-10 | 1 | -5/+18 |
| | | | | | | | the function) unless specified otherwise. llvm-svn: 45812 | ||||
| * | Emit unused EH frames for weak definitions on Darwin, | Dale Johannesen | 2008-01-10 | 5 | -14/+31 |
| | | | | | | | | because assembler/linker can't cope with weak absolutes. PR 1880. llvm-svn: 45811 | ||||
| * | add support for the GCC -include option. | Chris Lattner | 2008-01-10 | 1 | -2/+21 |
| | | | | | llvm-svn: 45810 | ||||
| * | Compiler driver | Seo Sanghyeon | 2008-01-10 | 1 | -0/+95 |
| | | | | | llvm-svn: 45809 | ||||
| * | Fix some 80 col violations | Chris Lattner | 2008-01-10 | 1 | -17/+12 |
| | | | | | llvm-svn: 45808 | ||||
| * | Ted apparently likes crazy whitespace at the end of line. Crush his spirit by | Chris Lattner | 2008-01-10 | 1 | -1/+1 |
| | | | | | | | removing them, fitting the file into 80 columns. :) llvm-svn: 45807 | ||||
| * | Put return type of synthesize method on same line as method declaration, ↵ | Fariborz Jahanian | 2008-01-10 | 1 | -2/+2 |
| | | | | | | | space after method declaration header. llvm-svn: 45806 | ||||
| * | Get rid of all uses of LiveVariables::VarInfo::DefInst in favor of the ↵ | Owen Anderson | 2008-01-10 | 1 | -58/+66 |
| | | | | | | | | | equivalent API from MachineRegisterInfo. Once all clients are switched over, the former will be going away. llvm-svn: 45805 | ||||
| * | provide def_* and use_* iterators in addition to reg_* iterators. | Chris Lattner | 2008-01-10 | 1 | -12/+51 |
| | | | | | | | | The first only returns definitions of a register, the second only returns uses, the third returns both. llvm-svn: 45803 | ||||
| * | Added "InfeasibleEdge" to represent an infeasible state transition. | Ted Kremenek | 2008-01-10 | 1 | -2/+13 |
| | | | | | llvm-svn: 45802 | ||||
| * | Add more comments explaining the basics of how the decision of when to ↵ | Owen Anderson | 2008-01-10 | 1 | -7/+37 |
| | | | | | | | | | rename and when to insert copies is made. llvm-svn: 45799 | ||||
| * | Do not use the stack pointer directly, issue a copyfromreg instead. ↵ | Evan Cheng | 2008-01-10 | 1 | -1/+1 |
| | | | | | | | Otherwise we can end up with something like ADD32ri %esp, x which two-address pass won't like. llvm-svn: 45798 | ||||
| * | Get rid of the isKillInst predicate. LiveVariables already provides this ↵ | Owen Anderson | 2008-01-10 | 1 | -14/+10 |
| | | | | | | | information. llvm-svn: 45797 | ||||
| * | Fix PR1845 and rdar://5676945. Generic vectors smaller | Chris Lattner | 2008-01-10 | 2 | -19/+23 |
| | | | | | | | | | | | | | | | than hardware supported type will be scalarized, so we can infer their alignment from that info. We now codegen pr1845 into: _boolVectorSelect: lbz r2, 0(r3) stb r2, -16(r1) blr llvm-svn: 45796 | ||||
| * | new testcase for PR1845 | Chris Lattner | 2008-01-10 | 1 | -0/+11 |
| | | | | | llvm-svn: 45795 | ||||
| * | Pass rewritten output to 'clang' for verification. | Fariborz Jahanian | 2008-01-10 | 4 | -4/+4 |
| | | | | | llvm-svn: 45794 | ||||
| * | Allow messaging expression as foreach's collection expression. | Fariborz Jahanian | 2008-01-10 | 5 | -13/+61 |
| | | | | | llvm-svn: 45793 | ||||
| * | Remove comments that do not correspond to anything after recent refactoring. | Evan Cheng | 2008-01-10 | 1 | -41/+28 |
| | | | | | llvm-svn: 45792 | ||||
| * | Copies need to be inserted before the first terminator, not at the end of ↵ | Owen Anderson | 2008-01-10 | 1 | -2/+2 |
| | | | | | | | the block. llvm-svn: 45791 | ||||
| * | Add a FIXME to commit r45784. Thanks mrs! | Steve Naroff | 2008-01-09 | 1 | -1/+2 |
| | | | | | llvm-svn: 45790 | ||||
| * | Fix Sema::ActOnDeclarator() to call MergeFunctionDecl for function decls ↵ | Steve Naroff | 2008-01-09 | 2 | -8/+13 |
| | | | | | | | that aren't in scope. Since C functions are in a flat namespace, we need to give them special treatment (when compared with variables and typedefs). llvm-svn: 45789 | ||||
| * | Renamed various traits and classes. Added "Infeasible" bit to ExplodedNodeImpl | Ted Kremenek | 2008-01-09 | 2 | -21/+36 |
| | | | | | | | | | so that nodes can be marked as representing an infeasible program point. This flag lets the path-sensitive solver know that no successors should be generated for such nodes. llvm-svn: 45788 | ||||
| * | Special copy SUnit's do not have SDNode's. | Evan Cheng | 2008-01-09 | 2 | -2/+34 |
| | | | | | llvm-svn: 45787 | ||||
| * | Renamed Stmt***Edge and ***StmtEdge (where *** = "Stmt" or "Blk") classes to | Ted Kremenek | 2008-01-09 | 1 | -21/+71 |
| | | | | | | | | | | | BExpr*** and ***BExpr respectively. These edges represent program locations between the entrance/exit of a block and Block-level Expressions. Also added ***SExpr and SExpr*** ProgramEdges to represent the locations in the program between the evaluation of subexpressions and block-level expressions. llvm-svn: 45786 | ||||
| * | Removed some files related to the path-sensitive solver as part of some | Ted Kremenek | 2008-01-09 | 3 | -455/+0 |
| | | | | | | | code restructuring. (new files will be introduced shortly) llvm-svn: 45785 | ||||
| * | Fix ASTContext::typesAreCompatible to allow for int/enum compatibility (C99 ↵ | Steve Naroff | 2008-01-09 | 3 | -3/+17 |
| | | | | | | | | | 6.7.2.2p4). Fix Sema::MergeFunctionDecl to allow for function type compatibility (by using the predicate on ASTContext). Function types don't have to be identical to be compatible... llvm-svn: 45784 | ||||
| * | Clean up StrongPHIElimination a bit, and add some more comments to the ↵ | Owen Anderson | 2008-01-09 | 1 | -6/+46 |
| | | | | | | | | | internal structures. There's still more work to do on this front. llvm-svn: 45783 | ||||
| * | Teach Sema::ActOnCompoundLiteral about constraint C99 6.5.2.5p3. | Steve Naroff | 2008-01-09 | 2 | -3/+8 |
| | | | | | llvm-svn: 45782 | ||||
| * | Fix compile failures with g++-4.3. | Duncan Sands | 2008-01-09 | 2 | -0/+2 |
| | | | | | llvm-svn: 45781 | ||||
| * | many cleanups and fixed, contributed by Sam Bishop | Chris Lattner | 2008-01-09 | 1 | -39/+36 |
| | | | | | llvm-svn: 45780 | ||||
| * | Fix isIntegerConstantExpr to compare against zero for casts to bool instead of | Chris Lattner | 2008-01-09 | 1 | -1/+12 |
| | | | | | | | | | | | | | | | truncating. This allows us to compile: void foo() { static _Bool foo = 4; } into: @foo1 = internal global i8 1 instead of: @foo1 = internal global i8 4 llvm-svn: 45779 | ||||
| * | implement proper support for _Bool in memory, which is usually i8, not i1. | Chris Lattner | 2008-01-09 | 6 | -8/+48 |
| | | | | | | | This fixes a crash reported by Seo Sanghyeon llvm-svn: 45778 | ||||
| * | Type-cast RHS of assignment to prevent warning compiling rewritten foreach code. | Fariborz Jahanian | 2008-01-09 | 2 | -5/+40 |
| | | | | | llvm-svn: 45777 | ||||

