summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Move promoteExprToType from being a static method in SemaExpr.cpp to beingChris Lattner2008-01-165-47/+77
| | | | | | | | | | a method named ImpCastExprToType in Sema. Use this method to insert implicit casts for case statements from their operand type to the condition type of the switch. This fixes a crash on test/CodeGen/statements.c, reported by Eli Friedman. llvm-svn: 46083
* add accessors to switchstmt.Chris Lattner2008-01-161-0/+5
| | | | llvm-svn: 46082
* Fixed broken bitmasking in the ctor of ProgramPoint.Ted Kremenek2008-01-161-1/+1
| | | | llvm-svn: 46081
* Added missing call to the checker's Initialize() method in the alternateTed Kremenek2008-01-161-2/+4
| | | | | | ctor for GREngine. llvm-svn: 46080
* Added missing ctor to ExplodedGraph.Ted Kremenek2008-01-161-0/+2
| | | | llvm-svn: 46079
* Fixed incorrect pointer mask.Ted Kremenek2008-01-161-1/+1
| | | | llvm-svn: 46078
* Shortened driver option for running the GR-constants analysis to --grconstants.Ted Kremenek2008-01-161-1/+1
| | | | llvm-svn: 46076
* Add missing header file for GRConstants analysis.Ted Kremenek2008-01-161-0/+31
| | | | llvm-svn: 46075
* Hooked up the GRConstants analysis to the driver.Ted Kremenek2008-01-168-31/+46
| | | | | | | Fixed some compilation errors with GREngine that showed up during template instantiation. llvm-svn: 46074
* add testcase for regressionChris Lattner2008-01-161-0/+9
| | | | llvm-svn: 46073
* Fix a ppc long double regression I introduced yesterday due to aChris Lattner2008-01-161-0/+1
| | | | | | simplification. This fixes automotive-basicmath on PPC. llvm-svn: 46072
* More cleanups in DoStmt. The NodeSets are now vectors instead of sets, sinceTed Kremenek2008-01-161-21/+14
| | | | | | | node caching in GREngine will guarantee that we do not insert a node twice into a nodeset. llvm-svn: 46071
* Sema::MergeFunctionDecl()...make sure diagnostic is accurate (wrt function ↵Steve Naroff2008-01-164-11/+18
| | | | | | declarations/definitions). Patch by Carl Lewis! llvm-svn: 46070
* merge a few pieces of code that do the store/load to stack Chris Lattner2008-01-161-30/+12
| | | | | | pattern to use EmitStackConvert now. llvm-svn: 46066
* rename ExpandBIT_CONVERT to EmitStackConvert, generalizing Chris Lattner2008-01-161-15/+37
| | | | | | it to allow it to emit different load and store kinds. llvm-svn: 46065
* simplify a bunch of code by using SelectionDAG::CreateStackTemporary Chris Lattner2008-01-161-28/+6
| | | | | | instead of inlining its body. llvm-svn: 46062
* Change legalizeop of FP_ROUND and FP_EXTEND to not fall throughChris Lattner2008-01-161-32/+55
| | | | | | | | | into the ANY_EXTEND/ZERO_EXTEND/SIGN_EXTEND code to simplify it. Unmerge the code for FP_ROUND and FP_EXTEND from each other to make each one simpler. llvm-svn: 46061
* make sure to use a cpu that has sse.Chris Lattner2008-01-161-1/+1
| | | | llvm-svn: 46060
* make it more clear that this predicate only applies to scalar FP types.Chris Lattner2008-01-162-10/+10
| | | | llvm-svn: 46058
* introduce a isTypeInSSEReg predicate, which allows us to simplifyChris Lattner2008-01-162-21/+18
| | | | | | some code. No functionality change. llvm-svn: 46055
* My previous commit had an incomplete message, it should have been:Chris Lattner2008-01-162-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | make the 'fp return in ST(0)' optimization smart enough to look through token factor nodes. THis allows us to compile testcases like CodeGen/X86/fp-stack-retcopy.ll into: _carg: subl $12, %esp call L_foo$stub fstpl (%esp) fldl (%esp) addl $12, %esp ret instead of: _carg: subl $28, %esp call L_foo$stub fstpl 16(%esp) movsd 16(%esp), %xmm0 movsd %xmm0, 8(%esp) fldl 8(%esp) addl $28, %esp ret Still not optimal, but much better and this is a trivial patch. Fixing the rest requires invasive surgery that is is not llvm 2.2 material. llvm-svn: 46054
* make the 'fp return in ST(0)' optimization smart enough to Chris Lattner2008-01-161-1/+1
| | | | | | look through token factor llvm-svn: 46053
* various whitespace cleanups, no functionality change.Chris Lattner2008-01-161-7/+7
| | | | llvm-svn: 46052
* Adjusted DSPtr::Profile method again, since my last patch broke the build.Ted Kremenek2008-01-161-1/+2
| | | | llvm-svn: 46051
* Factor the ReachesChainWithoutSideEffects out of dag combiner into Chris Lattner2008-01-163-28/+40
| | | | | | | a public SDOperand::reachesChainWithoutSideEffects method. No functionality change. llvm-svn: 46050
* Changed 'Profile' method for DSPtr to incorporate the flags from theTed Kremenek2008-01-161-1/+1
| | | | | | variant type, and not just the pointer value. llvm-svn: 46049
* Do not strip llvm.used values.Devang Patel2008-01-163-3/+43
| | | | llvm-svn: 46045
* Renamed some internal classes for the GR-Constant Propagation analysis.Ted Kremenek2008-01-161-38/+62
| | | | | | | | Cleaned up GRConstants::AddBinding to not directly reference the predecessor node. Now we just manipulate the current state, and a driver function creates nodes as needed. llvm-svn: 46040
* Typo.Fariborz Jahanian2008-01-161-1/+1
| | | | llvm-svn: 46038
* Added support for rewriting of continue/break statements inside ObjC2's ↵Fariborz Jahanian2008-01-152-6/+133
| | | | | | foreach-stmt. llvm-svn: 46037
* Added skeleton implementation of new constant-prop. analysis usingTed Kremenek2008-01-151-0/+273
| | | | | | the graph reachability engine. llvm-svn: 46036
* Added ctor to GRNodeBuilder.Ted Kremenek2008-01-151-0/+2
| | | | llvm-svn: 46035
* Changed ImmutableMap::find to return an iterator instead of a pointerTed Kremenek2008-01-151-10/+11
| | | | | | to the tree node. llvm-svn: 46034
* - Introduces versioning macro LLVM_LTO_VERSIONDevang Patel2008-01-152-18/+75
| | | | | | | - Communicate symbol visibility - Communicate code generation model llvm-svn: 46033
* Commit a piece that I missed before, patch by Alain FrischChris Lattner2008-01-151-13/+19
| | | | llvm-svn: 46032
* Missed file from previous checkin.Dale Johannesen2008-01-151-0/+1
| | | | llvm-svn: 46030
* Fix and enable EH for x86-64 Darwin. AddsDale Johannesen2008-01-155-13/+33
| | | | | | | | | ShortenEHDataFor64Bits as a not-very-accurate abstraction to cover all the changes in DwarfWriter. Some cosmetic changes to Darwin assembly code for gcc testsuite compatibility. llvm-svn: 46029
* Move some calls to getVRegDef higher in the callgraph, so they don't get ↵Owen Anderson2008-01-152-13/+15
| | | | | | executed as frequently in performance sensitive code. llvm-svn: 46027
* improve compatibility with mingw, patch by Alain FrischChris Lattner2008-01-152-1/+9
| | | | llvm-svn: 46026
* add a test to ensure that argpromote of one argument doesn't Chris Lattner2008-01-151-0/+26
| | | | | | break the byval attr on some other argument. llvm-svn: 46025
* Add description of 'llvm.trap' intrinsic. Also, minor fixes in formatting. Anton Korobeynikov2008-01-151-5/+39
| | | | llvm-svn: 46024
* verify x86 generates ud2 for llvm.trapChris Lattner2008-01-151-0/+9
| | | | llvm-svn: 46023
* Finish up handling all permutations of "complex int" (in ↵Steve Naroff2008-01-152-5/+29
| | | | | | | | | | Sema::UsualArithmeticConversions()). A FIXME remains to verify the conversion rules are consistent with GCC. Thanks to Eli for the new/improved test case... llvm-svn: 46022
* Unbreak the build.Evan Cheng2008-01-151-3/+3
| | | | llvm-svn: 46021
* new testcase for llvm.trap.Chris Lattner2008-01-151-0/+9
| | | | llvm-svn: 46020
* If someone wants to implement ppc TRAP, they can go for it :)Chris Lattner2008-01-151-0/+1
| | | | llvm-svn: 46019
* The type of the 'abort' node should be pointer type (becauseChris Lattner2008-01-151-1/+2
| | | | | | | it's a function pointer) not MVT::Other. This fixes builtin_trap lowering on ppc, alpha, ia64 llvm-svn: 46018
* rename SDTRet -> SDTNone.Chris Lattner2008-01-157-13/+11
| | | | | | Move definition of 'trap' sdnode up from x86 instrinfo to targetselectiondag.td. llvm-svn: 46017
* Remove DefInst from LiveVariables::VarInfo. Use the facilities on ↵Owen Anderson2008-01-154-38/+20
| | | | | | MachineRegisterInfo instead. llvm-svn: 46016
* no need to expand ISD::TRAP to X86ISD::TRAP, just match ISD::TRAP.Chris Lattner2008-01-153-17/+6
| | | | llvm-svn: 46015
OpenPOWER on IntegriCloud