summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* DebugLoc form of getNOT().Bill Wendling2009-01-302-0/+18
| | | | llvm-svn: 63433
* Implement and test aggregate initialization in C++. Major changes:Douglas Gregor2009-01-307-56/+304
| | | | | | | | | | | | | | | | - Support initialization of reference members; complain if any reference members are left uninitialized. - Use C++ copy-initialization for initializing each element (falls back to constraint checking in C) - Make sure we diagnose when one tries to provide an initializer list for a non-aggregate. - Don't complain about empty initializers in C++ (they are permitted) - Unrelated but necessary: don't bother trying to convert the decl-specifier-seq to a type when we're dealing with a C++ constructor, destructor, or conversion operator; it results in spurious warnings. llvm-svn: 63431
* add imag_info section and data (for objc2 nonfragile abi).Fariborz Jahanian2009-01-301-6/+17
| | | | llvm-svn: 63430
* - Propagate debug loc info for SELECT.Bill Wendling2009-01-301-25/+32
| | | | | | | - Added xform for (select X, 1, Y) and (select X, Y, 0), which was commented on, but missing. llvm-svn: 63428
* x86_64 ABI: Fix thinko in prev commit, 64-bit vectors should have SSEDaniel Dunbar2009-01-301-1/+1
| | | | | | class, not integer. llvm-svn: 63426
* Propagate debug loc info for Shifts.Bill Wendling2009-01-301-60/+68
| | | | llvm-svn: 63424
* Fix horrible non-termination bug in LiveVariables. The issue was thatTed Kremenek2009-01-304-26/+46
| | | | | | | | | | | the liveness state of block-level expressions could oscillate because of two issues: - The initial value before a merge was not always set to "Top" - The set of live block-level expressions is a union, not an intersection This fixes <rdar://problem/650084>. llvm-svn: 63421
* Propagate debug loc info for XOR and MatchRotate.Bill Wendling2009-01-301-32/+38
| | | | llvm-svn: 63420
* Propagate debug loc info for OR. Also clean up some comments.Bill Wendling2009-01-301-21/+24
| | | | llvm-svn: 63419
* Generate list of implemented classes and categories in theirFariborz Jahanian2009-01-301-1/+56
| | | | | | own sections (related to objc2 nonfragile abi). llvm-svn: 63418
* Perform obvious constant arithmetic folding.Bill Wendling2009-01-301-6/+8
| | | | llvm-svn: 63417
* Propagate debug loc info for AND. Also clean up some comments.Bill Wendling2009-01-301-21/+31
| | | | llvm-svn: 63416
* DiagnosticKinds.def is gone.Chris Lattner2009-01-301-4/+0
| | | | llvm-svn: 63415
* memset takes an int, not a char.Chris Lattner2009-01-301-1/+1
| | | | llvm-svn: 63414
* x86_64 ABI: Pass <1 x double> in memory. This is arguably wrong, butDaniel Dunbar2009-01-301-4/+7
| | | | | | matches gcc 4.2 (not llvm-gcc). llvm-svn: 63413
* Move method out-of-line.Ted Kremenek2009-01-302-30/+31
| | | | llvm-svn: 63412
* Propagate debug loc info in SimplifyBinOpWithSameOpcodeHands.Bill Wendling2009-01-301-8/+9
| | | | llvm-svn: 63411
* Fix inverted logic in ParentMap::hasParent()Ted Kremenek2009-01-301-1/+1
| | | | llvm-svn: 63410
* wire up -fno-show-source-location option, patch by Alexei Svitkine!Chris Lattner2009-01-301-1/+7
| | | | llvm-svn: 63409
* Code gen. for @protocol expression in the new nonfragile abi.Fariborz Jahanian2009-01-301-4/+34
| | | | llvm-svn: 63408
* add testcase for PR3437 and r63405Chris Lattner2009-01-301-2/+4
| | | | llvm-svn: 63407
* Remove testing -use-x86_64-abi option; current implementation isDaniel Dunbar2009-01-301-7/+1
| | | | | | robust enough for general use. llvm-svn: 63406
* avoid emitting a bogus line marker for the top level #includeChris Lattner2009-01-301-1/+3
| | | | | | | | | | | | | | | | | | | | | location. We now -E a file containing "foo" into: # 1 "t.c" # 1 "t.c" 1 # 1 "<predefines>" 1 # 1 "t.c" 2 foo instead of: # 1 "t.c" # 1 "t.c" 1 # 0 "t.c" # 1 "<predefines>" 1 # 1 "t.c" 2 foo llvm-svn: 63405
* x86_64 ABI: Split small vectors which cross an eightbyte boundary. Down to ↵Daniel Dunbar2009-01-301-2/+7
| | | | | | 33/500 return type failures. llvm-svn: 63404
* use precise gettersGabor Greif2009-01-301-5/+8
| | | | llvm-svn: 63403
* use precise gettersGabor Greif2009-01-301-2/+2
| | | | llvm-svn: 63402
* Each input file is encoded as a separate compile unit in LLVM debuggingDevang Patel2009-01-305-128/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | information output. However, many target specific tool chains prefer to encode only one compile unit in an object file. In this situation, the LLVM code generator will include debugging information entities in the compile unit that is marked as main compile unit. The code generator accepts maximum one main compile unit per module. If a module does not contain any main compile unit then the code generator will emit multiple compile units in the output object file. [Part 1] Update DebugInfo APIs to accept optional boolean value while creating DICompileUnit to mark the unit as "main" unit. By defaults all units are considered non-main. Update SourceLevelDebugging.html to document "main" compile unit. Update DebugInfo APIs to not accept and encode separate source file/directory entries while creating various llvm.dbg.* entities. There was a recent, yet to be documented, change to include this additional information so no documentation changes are required here. Update DwarfDebug to handle "main" compile unit. If "main" compile unit is seen then all DIEs are inserted into "main" compile unit. All other compile units are used to find source location for llvm.dbg.* values. If there is not any "main" compile unit then create unique compile unit DIEs for each llvm.dbg.compile_unit. [Part 2] Create separate llvm.dbg.compile_unit for each input file. Mark compile unit create for main_input_filename as "main" compile unit. Use appropriate compile unit, based on source location information collected from the tree node, while creating llvm.dbg.* values using DebugInfo APIs. --- This is Part 1. llvm-svn: 63400
* Closed out a few radars that were addressed by designated initializersDouglas Gregor2009-01-301-0/+16
| | | | llvm-svn: 63398
* " Attached is a patch for TextDiagnosticPrinter that adds an optionalChris Lattner2009-01-302-6/+10
| | | | | | | | | | parameter that allows users to omit the printing of the source location on a diagnostic. So basically it would omit the "abc.c:5:1: " at the beginning of the line." Patch by Alexei Svitkine! llvm-svn: 63396
* Switch Type::isAggregateType to use the C++ definition of "aggregateDouglas Gregor2009-01-305-10/+18
| | | | | | | | type" rather than the C definition. We do this because both C99 and Clang always use "aggregate type" as "aggregate or union type", and the C++ definition includes union types. llvm-svn: 63395
* Make sure to cast the VLA size of array to the type of size_t. Fixes PR3442.Anders Carlsson2009-01-302-1/+17
| | | | llvm-svn: 63394
* Simplify/cleanup r63219 (based on Chris review).Steve Naroff2009-01-301-13/+1
| | | | llvm-svn: 63393
* fix RUN lineNuno Lopes2009-01-301-1/+1
| | | | llvm-svn: 63392
* enable test as it worksNuno Lopes2009-01-301-1/+1
| | | | llvm-svn: 63391
* enable test as it already worksNuno Lopes2009-01-301-3/+2
| | | | llvm-svn: 63390
* As Duncan suggested, add braces for the one-line "else branch".Zhou Sheng2009-01-301-1/+2
| | | | | | Thanks, Duncan. llvm-svn: 63389
* This is to fix the bug in IntrinsicLowering.cpp,Zhou Sheng2009-01-301-1/+2
| | | | | | | | the LowerPartSet(). It didn't handle the situation correctly when the low, high argument values are in reverse order (low > high) with 'Val' type i32 (a corner case). llvm-svn: 63388
* Fixed the comment. No functionality change.Sanjiv Gupta2009-01-301-1/+1
| | | | llvm-svn: 63387
* This is case is to uncover the bug in IntrinsicLowering.cpp,Zhou Sheng2009-01-301-0/+17
| | | | | | | | the LowerPartSet(). It didn't handle the situation correctly when the low, high argument values are in reverse order (low > high) with 'Val' type is i32 (a corner case). llvm-svn: 63386
* Add -fno-blocks support. This fixes block-no-block-def.c.Mike Stump2009-01-303-4/+13
| | | | llvm-svn: 63385
* Add opposite_of and inverse_opt to support -fno- style options. ThisMike Stump2009-01-302-1/+54
| | | | | | is necessary for eventual gcc commmand line compatibility. llvm-svn: 63384
* x86_64 ABI: Implement classification for arrays.Daniel Dunbar2009-01-301-55/+101
| | | | | | | - This brings us down to an 8% failure rate on the first 500 return types tests (from 12%). llvm-svn: 63383
* Use sublw for comparison with literals instead of subwf.Sanjiv Gupta2009-01-301-9/+11
| | | | llvm-svn: 63382
* When PerformBuildVectorCombine, avoid creating a X86ISD::VZEXT_LOAD ofMon P Wang2009-01-301-1/+5
| | | | | | an illegal type. llvm-svn: 63380
* Implement constant generation of ImplicitValueInitExprs.Anders Carlsson2009-01-301-1/+6
| | | | llvm-svn: 63379
* ccc: Forward -fobjc-nonfragile-abi to clang.Daniel Dunbar2009-01-302-0/+2
| | | | llvm-svn: 63378
* Enable emitting of constant values in non-default address space as well. The ↵Sanjiv Gupta2009-01-307-116/+119
| | | | | | APIs emitting constants now take an additional parameter signifying the address space in which to emit. The APIs like getData8BitsDirective() etc are made virtual enabling targets to be able to define appropirate directivers for various sizes and address spaces. llvm-svn: 63377
* Propagate debug loc info in SimplifyNodeWithTwoResults.Bill Wendling2009-01-301-7/+8
| | | | llvm-svn: 63376
* Propagate debug loc info for MULHS.Bill Wendling2009-01-301-2/+2
| | | | llvm-svn: 63375
* Propagate debug loc info for SREM and UREM.Bill Wendling2009-01-301-10/+12
| | | | llvm-svn: 63374
OpenPOWER on IntegriCloud