summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Relax the typesafty rules of block pointers types whichFariborz Jahanian2010-04-012-6/+7
| | | | | | take'id' or return 'id' in their type. Fixes radar 7814131. llvm-svn: 100129
* The SSAUpdater should avoid recursive traversals of the CFG, since that mayBob Wilson2010-04-012-16/+24
| | | | | | blow out the stack for really big functions. Start by fixing an easy case. llvm-svn: 100126
* Overhaul checking of non-type template arguments that should refer toDouglas Gregor2010-04-019-188/+347
| | | | | | | | | | | an object or function. Our previous checking was too lax, and ended up allowing missing or extraneous address-of operators, among other evils. The new checking provides better diagnostics and adheres more closely to the standard. Fixes PR6563 and PR6749. llvm-svn: 100125
* Driver: Add support for a CLANGXX_IS_PRODUCTION build variable, which enableDaniel Dunbar2010-04-016-7/+24
| | | | | | Clang++ support, even in "Production" mode (for testing purposes). llvm-svn: 100119
* - Avoid using floating point stores to implement memset unless the value is ↵Evan Cheng2010-04-017-17/+32
| | | | | | | | zero. - Do not try to infer GV alignment unless its type is sized. It's not possible to infer alignment if it has opaque type. llvm-svn: 100118
* Skip instructions until new scope is seen.Devang Patel2010-04-011-6/+18
| | | | llvm-svn: 100117
* Cosmetic changes.Devang Patel2010-04-011-5/+5
| | | | | | Update comment, rename a local variable. llvm-svn: 100116
* Fix -Asserts warning, and protect against missing case.Daniel Dunbar2010-04-011-2/+3
| | | | llvm-svn: 100115
* Remove accidental include and add a comment.Benjamin Kramer2010-04-011-2/+2
| | | | llvm-svn: 100107
* Various improvements to MemoryBuffer::getFile:Benjamin Kramer2010-04-011-17/+26
| | | | | | | | | | - Use a RAII object to close the FD. - Use sys::StrError instead of thread-unsafe strerror calls. - Recover gracefully if read returns zero. This works around an issue on DragonFlyBSD where /dev/null has an st_size of 136 but we can't read 136 bytes from it. llvm-svn: 100106
* Include *.inc in install targetKovarththanan Rajaratnam2010-04-011-0/+6
| | | | | | Fixes PR6755. llvm-svn: 100105
* Add -mcpu to memcpy / memset tests to ensure they behave the same on all ↵Evan Cheng2010-04-013-9/+8
| | | | | | hosts / targets. llvm-svn: 100101
* Introduce ImmutableCallSite, useful for contexts where no mutationGabor Greif2010-04-016-182/+227
| | | | | | | | | is necessary. Inherits from new templated baseclass CallSiteBase<> which is highly customizable. Base CallSite on it too, in a configuration that allows full mutation. Adapt some call sites in analyses to employ ImmutableCallSite. llvm-svn: 100100
* Use the element type to compute the array size when the base region is a ↵Zhongxing Xu2010-04-013-4/+31
| | | | | | | | VarRegion. Patch by Jordy Rose. llvm-svn: 100099
* Initial support for visiting CXXMemberCallExpr.Zhongxing Xu2010-04-012-6/+93
| | | | llvm-svn: 100098
* Clean up this file a little, no functionality change. This is a subset of myNick Lewycky2010-04-011-11/+10
| | | | | | patch back in r94322. llvm-svn: 100097
* switch IRBuilder to use NewDebugLoc for locations insteadChris Lattner2010-04-012-10/+13
| | | | | | | | | | of raw mdnodes. This allows frontends to specify debug locations without ever creating an MDNode for the DILocation. This requires a corresponding clang/llvm-gcc change which I'll try to commit as simultaneously as possible. llvm-svn: 100095
* adjust to IRBuilder change and use faster DebugLoc apis.Chris Lattner2010-04-012-21/+11
| | | | llvm-svn: 100093
* add comments, don't require inlined-at to be specified.Chris Lattner2010-04-011-1/+3
| | | | llvm-svn: 100092
* Fix sdisel memcpy, memset, memmove lowering:Evan Cheng2010-04-0114-182/+312
| | | | | | | | | | | | | 1. Makes it possible to lower with floating point loads and stores. 2. Avoid unaligned loads / stores unless it's fast. 3. Fix some memcpy lowering logic bug related to when to optimize a load from constant string into a constant. 4. Adjust x86 memcpy lowering threshold to make it more sane. 5. Fix x86 target hook so it uses vector and floating point memory ops more effectively. rdar://7774704 llvm-svn: 100090
* Nehalem unaligned memory access is fast.Evan Cheng2010-04-013-2/+15
| | | | llvm-svn: 100089
* Switch the representation of the location in instruction fromChris Lattner2010-04-013-12/+54
| | | | | | | | | | | | | being a TrackingVH<MDNode> to a NewDebugLoc, shrinking sizeof(Instruction) a lot, and providing clients the ability to deal with locations in terms of NewDebugLoc instead of having to deal with Metadata. This is still fully compatible with all clients that *do* use MDNodes for everything of course. No functionality change. llvm-svn: 100088
* include header.Chris Lattner2010-04-011-0/+1
| | | | llvm-svn: 100087
* rewrite handling of forward ref'd instruction metadata Chris Lattner2010-04-012-9/+60
| | | | | | | | to used deferred resolution instead of creating a temporary node + rauw. There is no reason to create the temporary mdnode, then do rauw, then destroy it. llvm-svn: 100086
* change this from using '!dbg' to using '!dbgx'. TheChris Lattner2010-04-011-4/+4
| | | | | | MD used here isn't valid for !dbg. llvm-svn: 100085
* fix a bug in DebugRecVH::deleted/allUsesReplacedWith. If an Chris Lattner2010-04-011-4/+7
| | | | | | | entry in the Scope+InlinedAt drops to a non-canonical form, we need to reset the idx member of both VH's to 0. llvm-svn: 100084
* no really, we don't need to copy strings around in the accessor.Chris Lattner2010-04-011-1/+1
| | | | llvm-svn: 100083
* eliminate a temporary smallvectorChris Lattner2010-04-012-13/+5
| | | | llvm-svn: 100082
* add a method to decode a DILocation into a NewDebugLoc.Chris Lattner2010-04-012-1/+19
| | | | llvm-svn: 100081
* Improve C++ constructor handling.Zhongxing Xu2010-04-012-2/+5
| | | | llvm-svn: 100080
* Fix typo.Eric Christopher2010-04-011-1/+1
| | | | llvm-svn: 100079
* Add aeskeygenassist intrinsic and rename all of the aes intrinsics toEric Christopher2010-04-012-26/+38
| | | | | | | aes instead of sse4.2. Add a brief todo for a subtarget flag and rework the aeskeygenassist instruction to more closely match the docs. llvm-svn: 100078
* First start at wmmintrin.h file with Intel AES-NI instructions.Eric Christopher2010-04-012-0/+75
| | | | llvm-svn: 100077
* There are no known O'Caml problems at the moment.Erick Tryzelaar2010-04-011-14/+0
| | | | llvm-svn: 100076
* update cmakefile.Chris Lattner2010-04-011-0/+1
| | | | llvm-svn: 100074
* Add a new "NewDebugLoc" class which will eventually replace DebugLoc,Chris Lattner2010-04-013-1/+369
| | | | | | | | | | | | and will replace the 'DbgInfo' member in Instruction. The benefit of NewDebugLoc is that it is compact (8 bytes vs 12/24 bytes for the DbgInfo member in Instruction on a 32/64 bit system), it means that we will end up not having to allocate MDNodes to represent the "DILocations" in common cases of -O0 -g, and it is much more efficient to get things out of than the MDNode. llvm-svn: 100072
* Fix a bug (PR 6699) in RegionStore::RemoveDeadBindings() whereTed Kremenek2010-04-012-32/+47
| | | | | | array values with a non-zero offset would get prematurely pruned from the store. llvm-svn: 100067
* vml[as] are slow on 1136jf-s also.Jim Grosbach2010-04-011-1/+2
| | | | llvm-svn: 100066
* Reapply r100056. It doesn't look like it's the one that's causing a failure.Bill Wendling2010-04-011-35/+23
| | | | llvm-svn: 100065
* Pass -m32/-m64 to assembler.Mikhail Glushenkov2010-03-311-0/+2
| | | | llvm-svn: 100064
* Revert r100056. It was causing a failure on MSVC.Bill Wendling2010-03-311-23/+35
| | | | llvm-svn: 100062
* Improve diagnostics when an elaborated-type-specifer containing aDouglas Gregor2010-03-318-13/+15
| | | | | | | | | | | | | | | | nested-name-specifier (e.g., "class T::foo") fails to find a tag member in the scope nominated by the nested-name-specifier. Previously, we gave a bland error: 'Nested' does not name a tag member in the specified scope which didn't actually say where we were looking, which was rather horrible when the nested-name-specifier was instantiated. Now, we give something a bit better: error: no class named 'Nested' in 'NoDepBase<T>' llvm-svn: 100060
* Reverting 100048; it broke two Frontend debug info tests.Stuart Hastings2010-03-312-26/+10
| | | | llvm-svn: 100058
* Rewrite CorrectExtraCFGEdges() to make it more understandable.Bill Wendling2010-03-311-35/+23
| | | | | | | | | | * Set the "DestA" and "DestB" according to how they're understood by the method. I.e., if one or both of them should point to the "fall through" block, then point to the fall through block. * Improve the loop that removes superfluous edges to be more understandable. llvm-svn: 100056
* clang/Darwin: Don't include enable_execute_stack in libcc_kext.a.Daniel Dunbar2010-03-311-1/+0
| | | | llvm-svn: 100055
* Change the representation of dependent elaborated-type-specifiersDouglas Gregor2010-03-317-17/+125
| | | | | | | | | | | | | | (such as "class T::foo") from an ElaboratedType of a TypenameType to a DependentNameType, which more accurately models the underlying concept. Improve template instantiation for DependentNameType nodes that represent nested-name-specifiers, by performing tag name lookup and checking the resulting tag appropriately. Fixes PR5681. There is still much testing and cleanup to do in this area. llvm-svn: 100054
* Add a redundant PHI testcase for SSAUpdater to go with svn r100047.Bob Wilson2010-03-311-0/+46
| | | | llvm-svn: 100050
* Debug info can now properly represent functions inside classes inside other ↵Stuart Hastings2010-03-312-10/+26
| | | | | | functions. Partial fix for Radar 7424645. llvm-svn: 100048
* Rewrite part of the SSAUpdater to be more careful about inserting redundantBob Wilson2010-03-312-159/+286
| | | | | | | | PHIs. The previous algorithm was unable to reliably detect when existing PHIs in a cycle can be reused. I'm still working on reducing a testcase. Radar 7711900. llvm-svn: 100047
* <rdar://problem/7733536> Move libcompiler_rt over to a dylib target for ↵Nick Kledzik2010-03-312-23/+21
| | | | | | Libsystem llvm-svn: 100045
OpenPOWER on IntegriCloud