summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add .loc methods to the streamer.Rafael Espindola2010-11-1612-27/+85
| | | | | | | Next: Add support for the !HasDotLocAndDotFile case to the MCAsmStreamer and then switch codegen to use it. llvm-svn: 119384
* I have reverted all contributions made by Jesse Towner in revision 110724Howard Hinnant2010-11-169-134/+21
| | | | llvm-svn: 119383
* Split pseudo-instruction expansion into a separate pass, to make itDan Gohman2010-11-165-13/+92
| | | | | | | easier to debug, and to avoid complications when the CFG changes in the middle of the instruction selection process. llvm-svn: 119382
* Warn about arg1 && arg2 || arg3, as GCC 4.3+ does. Fixes rdar://8659922Argyrios Kyrtzidis2010-11-163-4/+32
| | | | llvm-svn: 119381
* Add const.Rafael Espindola2010-11-161-6/+6
| | | | llvm-svn: 119380
* Use an OwningPtr for the preamble buffer in ASTUnit. This plugs a leakDouglas Gregor2010-11-161-15/+5
| | | | | | | where we failed to free this buffer along one of the paths, and detangles the code a little. llvm-svn: 119379
* turned pointers into pointers to const in function parameters in all ↵Anton Yartsev2010-11-162-186/+186
| | | | | | functions/builtins accepting pointers to a const-qualified type according to PIM and "Language Extensions for CBEA" llvm-svn: 119376
* Fix emergency spilling in LiveIntervals::spillPhysRegAroundRegDefsUses.Jakob Stoklund Olesen2010-11-161-22/+23
| | | | | | | | | | | | | | Always spill the full representative register at any point where any subregister is live. This fixes PR8620 which caused the old logic to get confused and not spill anything at all. The fundamental problem here is that the coalescer is too aggressive about physical register coalescing. It sometimes makes it impossible to allocate registers without these emergency spills. llvm-svn: 119375
* Print out the register class of the current interval.Jakob Stoklund Olesen2010-11-161-2/+3
| | | | llvm-svn: 119374
* Initial check-in of a Python utility to run the lldb test suite and send theJohnny Chen2010-11-161-0/+176
| | | | | | result including the session logs of test failures/errors as a MIME message. llvm-svn: 119371
* Document -enable-no-infs-fp-math and -enable-no-nans-fp-math command line ↵Peter Collingbourne2010-11-162-3/+14
| | | | | | options llvm-svn: 119370
* Tidy up some things in <arm_neon.h>.Bob Wilson2010-11-161-94/+33
| | | | | | | | | Stop defining types with "__neon_" prefixes and then using typedefs without the prefix; there's no reason to do that anymore. Remove types that combine multiple Neon vectors and treat them as a single long vector; they are not used. llvm-svn: 119369
* Implements __block API for c++ objects. There is stillFariborz Jahanian2010-11-163-20/+57
| | | | | | | issue with runtime which I am discussing it with Blaine. This is wip (so no test yet). llvm-svn: 119368
* Reapply "Stop using struct wrappers for Neon vector types in <arm_neon.h>."Bob Wilson2010-11-161-65/+48
| | | | | | I've temporarily disabled the failing clang test. llvm-svn: 119367
* Temporarily disable this check for Neon vector type mangling.Bob Wilson2010-11-161-1/+1
| | | | | | I'll reenable it soon when I'm done reworking <arm_neon.h>. llvm-svn: 119366
* system_error: More conditional error codes for Darwin.Michael J. Spencer2010-11-161-0/+8
| | | | llvm-svn: 119365
* Static analyzer: Catch calls to malloc() withTed Kremenek2010-11-162-3/+71
| | | | | | | | allocation sizes of 0 bytes. Fixes PR 2899. llvm-svn: 119364
* Revert "Stop using struct wrappers for Neon vector types in <arm_neon.h>."Bob Wilson2010-11-161-48/+65
| | | | | | It's breaking buildbots. llvm-svn: 119363
* Parse and ignore some .cfi_* directives.Rafael Espindola2010-11-161-0/+95
| | | | llvm-svn: 119362
* This is the first step in adding sane error handling support to LLVMSystem.Michael J. Spencer2010-11-168-368/+359
| | | | | | | | | | | | | | | | | The system API's will be shifted over to returning an error_code, and returning other return values as out parameters to the function. Code that needs to check error conditions will use the errc enum values which are the same as the posix_errno defines (EBADF, E2BIG, etc...), and are compatable with the error codes in WinError.h due to some magic in system_error. An example would be: if (error_code ec = KillEvil("Java")) { // error_code can be converted to bool. handle_error(ec); } llvm-svn: 119360
* Emit a specific diagnostic when typedefing C++ bool, mirroring gcc.Argyrios Kyrtzidis2010-11-163-2/+15
| | | | | | Fixes rdar://8365458 llvm-svn: 119359
* Stop using struct wrappers for Neon vector types in <arm_neon.h>.Bob Wilson2010-11-161-65/+48
| | | | | | Thanks to Nate Begeman for an earlier version of this patch. llvm-svn: 119358
* Revert inadvertant checkin of CMake libdeps.Jim Grosbach2010-11-161-28/+27
| | | | llvm-svn: 119355
* ARM conditional mov encoding fix.Jim Grosbach2010-11-162-29/+29
| | | | llvm-svn: 119354
* Disambiguate the name lookup for the data type of anon_uint variable.Johnny Chen2010-11-161-2/+2
| | | | llvm-svn: 119353
* Have a few places that want to simplify phi nodes use SimplifyInstructionDuncan Sands2010-11-165-13/+18
| | | | | | rather than calling hasConstantValue. No intended functionality change. llvm-svn: 119352
* Fix missing includes of "llvm/Analysis/Passes.h" in the tutorials. ThanksDan Gohman2010-11-168-0/+8
| | | | | | for Arnaud Allard de Grandmaison for preparing a patch. llvm-svn: 119351
* MSVC doesn't like the noinline attribute at the end of a declaration. Try ↵Benjamin Kramer2010-11-161-1/+1
| | | | | | the other side. llvm-svn: 119349
* Add gcc-4.4.4 headers on Gentoo systems. Patch by Bertjan Broeksema!Nico Weber2010-11-161-0/+5
| | | | llvm-svn: 119348
* In which I discover the existence of loops. Threading an operationDuncan Sands2010-11-164-73/+133
| | | | | | | | | | | over a phi node by applying it to each operand may be wrong if the operation and the phi node are mutually interdependent (the testcase has a simple example of this). So only do this transform if it would be correct to perform the operation in each predecessor of the block containing the phi, i.e. if the other operands all dominate the phi. This should fix the FFMPEG snow.c regression reported by İsmail Dönmez. llvm-svn: 119347
* Remove an unintended restriction on sysroots introduced during the PathChandler Carruth2010-11-161-1/+1
| | | | | | conversion. llvm-svn: 119346
* This really seems like a boring set of fixes to our tests to make them moreChandler Carruth2010-11-169-25/+28
| | | | | | | independent of the underlying system. Let me know if any of these are too aggressive. llvm-svn: 119345
* Simplify some complex emission and implement correct semantics forJohn McCall2010-11-167-107/+304
| | | | | | | | | assignment to volatiles in C. This in effect reverts some of mjs's work in and around r72572. Basically, the C++ standard is quite clear, except that it lies about volatile behavior approximating C's, whereas the C standard is almost actively misleading. llvm-svn: 119344
* Futher reduce the includes of our builtin headers, and teach limits.h to avoidChandler Carruth2010-11-162-6/+18
| | | | | | | | include_next when not hosted or unavailable. This follows the pattern in stdint.h and allows these headers to work even in a freestanding configuration without a standard library. llvm-svn: 119343
* Reverting r119341: doesn't compile, no obvious fix.John McCall2010-11-161-1/+2
| | | | llvm-svn: 119342
* Refactored GRExprEngine::getCXXThisRegion to use CXXMethodDecl::getThisType ↵Marcin Swiderski2010-11-161-2/+1
| | | | | | instead of calculating it by hand. llvm-svn: 119341
* Fix PR8625 and correctly interpret member-calls to static members whenChandler Carruth2010-11-162-7/+23
| | | | | | | | | | | | producing warnings. This feels really fragile, and I've not audited all other argument index-based warnings. I suspect we'll grow this bug on another warning eventually. It might be nice to adjust the argument indices when building up the attribute AST node, as we already have to remember about the 'this' argument within that code to produce correct errors. llvm-svn: 119340
* Re-work the handling of implicit 'this' arguments and silly GCC-style attributeChandler Carruth2010-11-165-27/+94
| | | | | | | | | | | | | | | | argument indexes. This handles the offsets in a consistent manner for all of the attributes which I saw working with these concepts. I've also added tests for the attribute that motivated this: nonnull. I consolidated the tests for format attributes into one file, and fleshed them out a bit to trigger more of the warning cases. Also improved the quality of some of the diagnostics that occur with invalid argument indices. The only really questionable change here is supporting the implicit this argument for the ownership attribute. I'm not sure it's really a sensible concept there, but implemented the logic for consistency. llvm-svn: 119339
* Rework USR generation from CXCursors to use CXStringBufsTed Kremenek2010-11-161-20/+42
| | | | | | | | | | | for the backing of generated USRs. This optmizes for the case when a client generates a sequence of USRs in sequence, disposing of them soon after generating them. By using a string buffer, we recycle malloc'ed memory instead of constantly malloc'ing and copying strings. llvm-svn: 119338
* Change CXTranslationUnit to not directly cast to an ASTUnit*,Ted Kremenek2010-11-1613-193/+316
| | | | | | | | | | | | | | | | | | | but to wrap both an ASTUnit and a "string pool" that will be used for fast USR generation. This requires a bunch of mechanical changes, as there was a ton of code that assumed that CXTranslationUnit and ASTUnit* were the same. Along with this change, introduce CXStringBuf, which provides an llvm::SmallVector<char> backing for repeatedly generating CXStrings without a huge amount of malloc() traffic. This requires making some changes to the representation of CXString by renaming a few fields (but keeping the size of the object the same). llvm-svn: 119337
* Improve diagnostic for calling non-const method on const object. Fixes ↵Argyrios Kyrtzidis2010-11-163-3/+23
| | | | | | rdar://7743000 llvm-svn: 119336
* Handle member initializer in C++ ctor. Zhongxing Xu2010-11-168-18/+83
| | | | | | | | | - Add a new Kind of ProgramPoint: PostInitializer. - Still use GRStmtNodeBuilder. But special handling PostInitializer in GRStmtNodeBuilder::GenerateAutoTransition(). - Someday we should clean up the interface of GRStmtNodeBuilder. llvm-svn: 119335
* Have CXXDeleteExpr::getDestroyedType return the actual destroyed typeCraig Silverstein2010-11-162-2/+6
| | | | | | | | | | | | | | | | | | | in more situations. In particular, for code like template<class T> void Fn() { T* x; delete x; } getDestroyedType() will now return T rather than T*, as it would before this change. On the other hand, for code like this: template<class T> void Fn() { T x; delete x; } getDestroyedType() will return an empty QualType(), since it doesn't know what the actual destroyed type would be. Previously, it would return T. OKed by rjmccall llvm-svn: 119334
* Basic support for C++ in BasicStore:Marcin Swiderski2010-11-161-6/+11
| | | | | | | - CXXThisRegion treated like VarRegion and ObjCIVarRegion in various places, - Reference treated like pointer in BindDeclInternal. llvm-svn: 119333
* Now that we have reliable cast kinds, simplify scalar cast IR gen.John McCall2010-11-161-36/+3
| | | | llvm-svn: 119332
* Kill CK_Unknown and flesh out the documentation for the existing CastKinds.John McCall2010-11-1610-95/+123
| | | | llvm-svn: 119331
* Teach complex compound assignment IR-generation that the RHS ofJohn McCall2010-11-161-3/+7
| | | | | | a compound assignment is always already in the computation type. llvm-svn: 119330
* Make processes use InputReaders for their input. Move the processCaroline Tice2010-11-166-54/+182
| | | | | | | | | ReadThread stuff into the main Process class (out of the Process Plugins). This has the (intended) side effect of disabling the command line tool from reading input/commands while the process is running (the input is directed to the running process rather than to the command interpreter). llvm-svn: 119329
* A bit more of gnu as compatibility when handling relocations with aliases.Rafael Espindola2010-11-162-7/+13
| | | | llvm-svn: 119328
* Add an UnwindPlan Row for the last instruction of a function whenJason Molenda2010-11-161-1/+38
| | | | | | | | we're using the stack pointer to define the CFA again. Makes unwinds while sitting at the 'ret' instruction work, assuming we have accurate function address bounds. llvm-svn: 119327
OpenPOWER on IntegriCloud