summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [ELF] Update for LLVM Object/ELF changes.Michael J. Spencer2013-01-154-389/+238
| | | | llvm-svn: 172516
* [Object][ELF] Simplify ELFObjectFile by using ELFType.Michael J. Spencer2013-01-154-550/+476
| | | | | | | | | | | | | This simplifies the usage and implementation of ELFObjectFile by using ELFType to replace: <endianness target_endianness, std::size_t max_alignment, bool is64Bits> This does complicate the base ELF types as they must now use template template parameters to partially specialize for the 32 and 64bit cases. However these are only defined once. llvm-svn: 172515
* PR14950: Fix out-of-bounds function parameter access in literal operator lookup.Richard Smith2013-01-152-1/+7
| | | | llvm-svn: 172514
* [ELF] Replace [...] x_{begin,end}() with range<[...]> x().Michael J. Spencer2013-01-151-170/+112
| | | | llvm-svn: 172513
* [Core] Add iterator ranges.Michael J. Spencer2013-01-153-1/+988
| | | | | | | This is based on code by Jeffrey Yasskin. It has been modified to compile with MSVC and reformated to LLVM style. llvm-svn: 172512
* [ELF] Fix use of LLVM RTTI.Michael J. Spencer2013-01-151-51/+29
| | | | llvm-svn: 172511
* PR14918: Don't confuse braced-init-lists after template variable declarationsRichard Smith2013-01-152-27/+28
| | | | | | | | | | | with function definitions. We really should remove Parser::isDeclarationAfterDeclarator entirely, since it's meaningless in C++11 (an open brace could be either a function definition or an initializer, which is what it's trying to differentiate between). The other caller of it happens to be correct right now... llvm-svn: 172510
* Add -fopenmp -cc1 option and wire it up to define _OPENMP, from Alexey Bataev!Douglas Gregor2013-01-155-1/+32
| | | | llvm-svn: 172509
* [Support] Add LLVM_CONSTEXPR.Michael J. Spencer2013-01-151-0/+6
| | | | | | Marks a decl as constexpr if the compiler supports it. llvm-svn: 172508
* remove const from FindByNameShankar Easwaran2013-01-151-1/+1
| | | | llvm-svn: 172507
* <rdar://problem/13010909>Greg Clayton2013-01-151-2/+2
| | | | | | Don't accidentally sign extend unsigned bitfields. llvm-svn: 172506
* Fix for the separation between -i and -u in expression.Jim Ingham2013-01-151-1/+12
| | | | llvm-svn: 172505
* Fix behavior of [[gnu::]] function attributes. Per g++'s behavior, theseRichard Smith2013-01-153-1/+25
| | | | | | | | | | | attributes appertain to a declaration, even though they would be much more naturally modelled as appertaining to a function type. Previously, we would try to distribute them from the declarator to the function type, then reject them for being at an incorrect location. Now, we just distribute them as far as the declarator; the existing attribute handling code can actually apply them there just fine. llvm-svn: 172504
* Separated the "expr --unwind-on-error" behavior into two parts, actual ↵Jim Ingham2013-01-1528-105/+425
| | | | | | | | | | | | | | | | errors (i.e. crashes) which continue to be controlled by the --unwind-on-error flag, and --ignore-breakpoint which separately controls behavior when a called function hits a breakpoint. For breakpoints, we don't unwind, we either stop, or ignore the breakpoint, which makes more sense. Also make both these behaviors globally settable through "settings set". Also handle the case where a breakpoint command calls code that ends up re-hitting the breakpoint. We were recursing and crashing. Now we just stop without calling the second command. <rdar://problem/12986644> <rdar://problem/9119325> llvm-svn: 172503
* [docs] Add driver documentation.Michael J. Spencer2013-01-153-14/+115
| | | | | | This gives an overview of the driver and explains how to add options and driver flavors. llvm-svn: 172502
* [docs] Update status.Michael J. Spencer2013-01-151-0/+9
| | | | llvm-svn: 172501
* [ADT/StringMap] Follow-up to r172455, use the correct constructor for ↵Argyrios Kyrtzidis2013-01-151-1/+2
| | | | | | | | setting the InitialSize, previously it was calling the "StringMapImpl(unsigned itemSize)" constructor. llvm-svn: 172500
* LTO: Also init TTI for codegen passes.Nadav Rotem2013-01-151-0/+1
| | | | llvm-svn: 172499
* [IR] Add verifier support for llvm.module.flags.Daniel Dunbar2013-01-153-20/+123
| | | | | | | - Also, update the LangRef documentation on module flags to match the implementation. llvm-svn: 172498
* [driver] Warnings for warning options are handled by the frontend. The ↵Chad Rosier2013-01-155-9/+16
| | | | | | | | | | driver needs to process the warning options to setup diagnostic state, but should not be emitting warnings as these would be rudndant with what the frontend emits. rdar://13001556 llvm-svn: 172497
* This patch fixes a Mips specific bug where Jack Carter2013-01-152-1/+44
| | | | | | | | | | | we need to generate a N64 compound relocation R_MIPS_GPREL_32/R_MIPS_64/R_MIPS_NONE. The bug was exposed by the SingleSourcetest case DuffsDevice.c. Contributer: Jack Carter llvm-svn: 172496
* Add new merge-by-content Merge attribute for use by anonymousNick Kledzik2013-01-158-17/+88
| | | | | | constants and string literals which the linker should coalesce. llvm-svn: 172495
* Add a few other missing LOG_ types to set_logging() in RNBRemote.cpp;Jason Molenda2013-01-151-10/+37
| | | | | | | document some simple bourne shell to re-generate these from the DNBDefs.h header file in case this needs to be done again in the future. llvm-svn: 172494
* Adding a test case for expression parser's support for Unicode strings. This ↵Enrico Granata2013-01-153-0/+110
| | | | | | is an expected failure for now llvm-svn: 172493
* <rdar://problem/12790664>Enrico Granata2013-01-146-73/+212
| | | | | | Single-character Unicode data formatters llvm-svn: 172492
* Now GenericAsmParser and AsmParser are no longer friends, GenericAsmParser canEli Bendersky2013-01-141-4/+0
| | | | | | | | simply use the getParser method from MCAsmParserExtension, working through the MCAsmParser interface. There's no longer a need to overload that method to cast it to the concrete AsmParser. llvm-svn: 172491
* Properly encapsulate additional methods and data from AsmParser.Eli Bendersky2013-01-142-68/+115
| | | | | | | | | This finally allows AsmParser to no longer list GenericAsmParser as a friend. All member vars directly accessed by GenericAsmParser have been properly encapsulated and exposed through the MCAsmParser interface. This reduces the coupling between AsmParser and GenericAsmParser. llvm-svn: 172490
* Remove trailing spaces.Jakub Staszak2013-01-143-78/+78
| | | | llvm-svn: 172489
* This change is to implement following rules under the condition C_A and/or C_RShuxin Yang2013-01-142-8/+223
| | | | | | | | | | | | | | | | | | | | | --------------------------------------------------------------------------- C_A: reassociation is allowed C_R: reciprocal of a constant C is appropriate, which means - 1/C is exact, or - reciprocal is allowed and 1/C is neither a special value nor a denormal. ----------------------------------------------------------------------------- rule1: (X/C1) / C2 => X / (C2*C1) (if C_A) => X * (1/(C2*C1)) (if C_A && C_R) rule 2: X*C1 / C2 => X * (C1/C2) if C_A rule 3: (X/Y)/Z = > X/(Y*Z) (if C_A && at least one of Y and Z is symbolic value) rule 4: Z/(X/Y) = > (Z*Y)/X (similar to rule3) rule 5: C1/(X*C2) => (C1/C2) / X (if C_A) rule 6: C1/(X/C2) => (C1*C2) / X (if C_A) rule 7: C1/(C2/X) => (C1/C2) * X (if C_A) llvm-svn: 172488
* Document that we should recognize attributes supported by gcc with C++11Dmitri Gribenko2013-01-141-0/+2
| | | | | | | | [[gnu::...]] syntax Pointed out by Richard Smith on the mailing list. llvm-svn: 172487
* clang-format goodnessTobias Grosser2013-01-142-88/+68
| | | | llvm-svn: 172486
* Refactor to call ActOnFinishFullExpr on every full expression. TeachRichard Smith2013-01-1410-67/+121
| | | | | | | | ActOnFinishFullExpr that some of its checks only apply to discarded-value expressions. This adds missing checks for unexpanded variadic template parameter packs to a handful of constructs. llvm-svn: 172485
* [ms-inline asm] Extend support for parsing Intel bracketed memory operands thatChad Rosier2013-01-142-95/+468
| | | | | | | have an arbitrary ordering of the base register, index register and displacement. rdar://12527141 llvm-svn: 172484
* Improve r172468: const_cast is not needed hereDmitri Gribenko2013-01-141-3/+2
| | | | llvm-svn: 172483
* Fix shadowed variable warningNick Kledzik2013-01-141-3/+3
| | | | llvm-svn: 172482
* Improve r172471: avoid all those extra casts on the lines nearbyDmitri Gribenko2013-01-141-4/+6
| | | | llvm-svn: 172481
* This patch addresses an incorrect transformation in the DAG combiner.Bill Schmidt2013-01-142-5/+49
| | | | | | | | | | | | | | | | | | | | | | The included test case is derived from one of the GCC compatibility tests. The problem arises after the selection DAG has been converted to type-legalized form. The combiner first sees a 64-bit load that can be converted into a pre-increment form. The original load feeds into a SRL that isolates the upper 32 bits of the loaded doubleword. This looks like an opportunity for DAGCombiner::ReduceLoadWidth() to replace the 64-bit load with a 32-bit load. However, this transformation is not valid, as the replacement load is not a pre-increment load. The pre-increment load produces an extra result, which feeds a subsequent add instruction. The replacement load only has one result value, and this value is propagated to all uses of the pre- increment load, including the add. Because the add is looking for the second result value as its operand, it ends up attempting to add a constant to a token chain, resulting in a crash. So the patch simply disables this transformation for any load with more than two result values. llvm-svn: 172480
* Once a function has been JIT-compiled once, don'tSean Callanan2013-01-141-0/+2
| | | | | | JIT it again. llvm-svn: 172477
* Multiprecision subtraction builtins.Michael Gottesman2013-01-143-2/+99
| | | | | | We lower these into 2x chained usub.with.overflow intrinsics. llvm-svn: 172476
* Follow up of commit r172472.Quentin Colombet2013-01-141-28/+15
| | | | | | Refactor the big if/else sequence into one string switch for ARM subtype selection. llvm-svn: 172475
* Improve r172464: const_cast is not needed if the variable is not constDmitri Gribenko2013-01-141-3/+2
| | | | llvm-svn: 172474
* Complete the existing support of ARM v6m, v7m, and v7em, i.e., respectively ↵Quentin Colombet2013-01-142-1/+13
| | | | | | | | cortex-m0, cortex-m3, and cortex-m4 on the backend side. Adds new subtype values for the MachO format and use them when the related triple are set. llvm-svn: 172472
* Fix CastingDavid Greene2013-01-141-1/+2
| | | | | | Fix a casting-away-const compiler warning. llvm-svn: 172471
* Fix CastingDavid Greene2013-01-141-1/+2
| | | | | | Do proper casting to eliminate a const-away-cast compiler warning. llvm-svn: 172470
* Fix More CastsDavid Greene2013-01-141-3/+8
| | | | | | Properly cast some more code that triggered cast-away-const errors. llvm-svn: 172469
* Fix Another CastDavid Greene2013-01-141-1/+2
| | | | | | Properly cast code to eliminate cast-away-const errors. llvm-svn: 172468
* Fix Casting BugDavid Greene2013-01-141-1/+3
| | | | | | Add a const version of getFpValPtr to avoid a cast-away-const warning. llvm-svn: 172467
* Fix More CastsDavid Greene2013-01-141-1/+2
| | | | | | Fix another cast-away-const cast. llvm-svn: 172466
* Fix CastingDavid Greene2013-01-141-1/+1
| | | | | | Stop a gcc warning about casting away const. llvm-svn: 172465
* Fix CastsDavid Greene2013-01-141-1/+2
| | | | | | Use const_cast<> to avoid cast-away-const errors. llvm-svn: 172464
OpenPOWER on IntegriCloud