summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* When we're doing a compare of load-AND-constant to 0Dale Johannesen2008-11-071-0/+46
| | | | | | | | | (e.g. a bitfield test) narrow the load as much as possible. The has the potential to avoid unnecessary partial-word load-after-store conflicts, which cause stalls on several targets. Also a size win on x86 (testb vs testl). llvm-svn: 58825
* - Modify the stack protector algorithm so that the stack slot is allocated inBill Wendling2008-11-073-42/+37
| | | | | | | | | LLVM IR code and not in the selection DAG ISel. This is a cleaner solution. - Fix the heuristic for determining if protectors are necessary. The previous one wasn't checking the proper type size. llvm-svn: 58824
* Remove unneeded header file.Bill Wendling2008-11-061-1/+0
| | | | llvm-svn: 58823
* Don't build a vector of returns. Just modify the Function in the loop.Bill Wendling2008-11-061-46/+49
| | | | llvm-svn: 58822
* Initial, rudimentary implementation of operator overloading for binaryDouglas Gregor2008-11-068-43/+189
| | | | | | | | | | | | | | | | | | operators. For example, one can now write "x + y" where x or y is a class or enumeration type, and Clang will perform overload resolution for "+" based on the overloaded operators it finds. The other kinds of overloadable operators in C++ will follow this same approach. Three major issues remain: 1) We don't find member operators 2) Since we don't have user-defined conversion operators, we can't call any of the built-in overloaded operators in C++ [over.built]. 3) Once we've done the semantic checks, we drop the overloaded operator on the floor; it doesn't get into the AST at all. llvm-svn: 58821
* Fixed scalarizing an extract subvector and prevent an infinite loopMon P Wang2008-11-062-3/+9
| | | | | | when simplify a vector. llvm-svn: 58820
* The size limit is for individual arrays. So if any array has more than 8 bytesBill Wendling2008-11-061-5/+3
| | | | | | in it, then emit stack protectors. llvm-svn: 58819
* Encode extend instructions; more clean up.Evan Cheng2008-11-064-75/+142
| | | | llvm-svn: 58818
* Parsing, ASTs, and semantic analysis for the declaration of overloadedDouglas Gregor2008-11-0617-12/+639
| | | | | | | | | operators in C++. Overloaded operators can be called directly via their operator-function-ids, e.g., "operator+(foo, bar)", but we don't yet implement the semantics of operator overloading to handle, e.g., "foo + bar". llvm-svn: 58817
* Fix a use of an invalid iterator when -debug-pass=Details is used.Dan Gohman2008-11-061-1/+1
| | | | llvm-svn: 58816
* Don't recalculate the stack position of the stack protector.Bill Wendling2008-11-061-0/+2
| | | | llvm-svn: 58815
* Emit label for llvm.dbg.func.start of the inlined function.Devang Patel2008-11-062-3/+9
| | | | llvm-svn: 58814
* Clarify documentation. A module pass MP can require a function paqss FP only ↵Devang Patel2008-11-061-1/+2
| | | | | | if FP does not require any module pass. llvm-svn: 58813
* - Improve naming consistency: Branch -> BrFrm, BranchMisc -> BrMiscFrm.Evan Cheng2008-11-064-76/+48
| | | | | | | - Consolidate instruction formats. - Other clean up. llvm-svn: 58808
* Improve JIT debugging outputs format consistency.Evan Cheng2008-11-062-16/+18
| | | | llvm-svn: 58807
* Reclaim some bits in IdentifierInfo, for later use as overloaded operator names.Douglas Gregor2008-11-062-11/+20
| | | | llvm-svn: 58806
* plug leakage of mutex data. pthread_mutex_destroy() doesnt free our ↵Nuno Lopes2008-11-061-1/+1
| | | | | | malloc'ed memory. llvm-svn: 58805
* Sema-check virtual declarations. Complete dynamic_cast checking.Sebastian Redl2008-11-067-9/+72
| | | | llvm-svn: 58804
* Add the remaining C++0x keywordsDouglas Gregor2008-11-062-1/+16
| | | | llvm-svn: 58802
* Formating/comment changes - no functionality change.Duncan Sands2008-11-061-13/+8
| | | | llvm-svn: 58801
* Remove opcode from instruction TS flags; add MOVCC support; fix addrmode3 ↵Evan Cheng2008-11-066-234/+228
| | | | | | encoding bug. llvm-svn: 58800
* - Rename stackprotector_{prologue,epilogue} to stackprotector_{create,check}.Bill Wendling2008-11-065-19/+11
| | | | | | | - Get rid of "HasStackProtector" in MachineFrameInfo. - Modify intrinsics to tell which are doing what with memory. llvm-svn: 58799
* Update VC++ projects.Steve Naroff2008-11-063-36/+52
| | | | llvm-svn: 58798
* Update VC++ proj.Steve Naroff2008-11-062-0/+5
| | | | llvm-svn: 58797
* Widening cleanupMon P Wang2008-11-064-25/+22
| | | | llvm-svn: 58796
* Bring back RegionExtent classes.Zhongxing Xu2008-11-061-0/+79
| | | | llvm-svn: 58795
* Handle smul<x><y>, smulw<y>, smla<x><y>, smlaw<y>.Evan Cheng2008-11-063-64/+101
| | | | llvm-svn: 58793
* Adjust the stack protector heuristic to care about only arrays or calls toBill Wendling2008-11-061-1/+9
| | | | | | "alloca". llvm-svn: 58792
* Implement the stack protector stack accesses via intrinsics:Bill Wendling2008-11-065-9/+105
| | | | | | | | | | | | - stackprotector_prologue creates a stack object and stores the guard there. - stackprotector_epilogue reads the stack guard from the stack position created by stackprotector_prologue. - The PrologEpilogInserter was changed to make sure that the stack guard is first on the stack frame. llvm-svn: 58791
* Fix so_imm encoding bug; add support for MOVi2pieces.Evan Cheng2008-11-063-16/+56
| | | | llvm-svn: 58790
* Fix encoding of multiple instructions with 3 src operands; also handle ↵Evan Cheng2008-11-064-77/+96
| | | | | | smmul, smmla, and smmls. llvm-svn: 58789
* Need a \n.Evan Cheng2008-11-061-1/+2
| | | | llvm-svn: 58788
* InstructionNamer preserves everything.Devang Patel2008-11-061-0/+4
| | | | llvm-svn: 58787
* Emit label for llvm.dbg.func.start of the inlined function.Devang Patel2008-11-062-3/+77
| | | | llvm-svn: 58786
* Add post-build event for clangDriver (to copy clang.exe into "dstroot").Steve Naroff2008-11-061-3/+9
| | | | llvm-svn: 58783
* Undo 58778 but makes the binary dump prettier.Evan Cheng2008-11-051-3/+21
| | | | llvm-svn: 58782
* Add comments to function.Bill Wendling2008-11-051-0/+6
| | | | llvm-svn: 58781
* Encode pic load / store instructions; fix some encoding bugs.Evan Cheng2008-11-053-89/+153
| | | | llvm-svn: 58780
* Add command line option -entry-funcion to override entry function (default ↵Evan Cheng2008-11-051-5/+12
| | | | | | is main). llvm-svn: 58779
* Remove debug output that's not really useful.Evan Cheng2008-11-051-13/+0
| | | | llvm-svn: 58778
* Make ISel ignore dead nodes. The DAGCombiner normally eliminatesDan Gohman2008-11-052-0/+27
| | | | | | | dead nodes, but in this case its missing one. Fixing the DAGCombiner is desirable, but it's somewhat involved. llvm-svn: 58777
* Updated checker build.Ted Kremenek2008-11-051-1/+1
| | | | llvm-svn: 58776
* opt was not exporting the Mangler symbolsAndrew Lenharth2008-11-051-1/+2
| | | | llvm-svn: 58775
* Add a test case for CFMakeCollectable.Ted Kremenek2008-11-051-0/+13
| | | | llvm-svn: 58772
* Fix regression with handling of CFMakeCollectable.Ted Kremenek2008-11-051-1/+6
| | | | llvm-svn: 58771
* Improve assert messages.Sebastian Redl2008-11-051-2/+2
| | | | llvm-svn: 58770
* Move named cast sema functions to their own file.Sebastian Redl2008-11-052-660/+677
| | | | llvm-svn: 58769
* Parsing, representation, and preliminary semantic analysis of destructors.Douglas Gregor2008-11-0514-110/+580
| | | | | | | | | | | Implicit declaration of destructors (when necessary). Extended Declarator to store information about parsed constructors and destructors; this will be extended to deal with declarators that name overloaded operators (e.g., "operator +") and user-defined conversion operators (e.g., "operator int"). llvm-svn: 58767
* AnalysisManager can now be used to for analyses over TranslationUnits.Ted Kremenek2008-11-051-5/+22
| | | | llvm-svn: 58766
* Add PR number.Devang Patel2008-11-051-0/+1
| | | | llvm-svn: 58765
OpenPOWER on IntegriCloud