summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add an isAggregateType predicate.Dan Gohman2008-05-301-0/+9
| | | | llvm-svn: 51794
* Fix indentation.Evan Cheng2008-05-301-1/+1
| | | | llvm-svn: 51793
* Fix indentation.Evan Cheng2008-05-301-6/+6
| | | | llvm-svn: 51792
* Add an operator< for SmallVector.Dan Gohman2008-05-301-0/+5
| | | | llvm-svn: 51791
* The coalescer doesn't need LiveVariables now that we have register use ↵Owen Anderson2008-05-302-15/+6
| | | | | | iterators. llvm-svn: 51790
* rewrite operand loops to use iteratorsGabor Greif2008-05-301-24/+26
| | | | llvm-svn: 51789
* Make all help strings start in upper case.Mikhail Glushenkov2008-05-301-4/+4
| | | | llvm-svn: 51788
* PR1893: Fix up the type of tentative definitions of incomplete array Eli Friedman2008-05-302-2/+26
| | | | | | types so that they end up the correct size. llvm-svn: 51787
* Forgot to commit this file.Owen Anderson2008-05-301-3/+3
| | | | llvm-svn: 51786
* Fix and enable generating general union initializers. Essentially, what Eli Friedman2008-05-302-9/+57
| | | | | | | | | | | | this does is reconstruct the type for structs and arrays if the type wouldn't be compatible otherwise. The assertion about packing in the struct type reconstruction code sucks, but I don't see any obvious way to fix it. Maybe we need a general utility method to take a list of types and alignments and try to construct an unpacked type if possible? llvm-svn: 51785
* Fix the -opt switch and add a test case for it.Mikhail Glushenkov2008-05-304-8/+27
| | | | llvm-svn: 51784
* Allow the type of a global to be different from the type of its Eli Friedman2008-05-301-69/+62
| | | | | | | | | | | | | | | | | associated declaration. This is a prerequisite to handling general union initializations; for example, an array of unions involving pointers has to be turned into a struct because the elements can have incompatible types. I refactored the code a bit to make it more readable; now, the logic for definitions is all in EmitGlobalVarInit. The second parameter for GetAddrOfGlobalVar is now dead; I'll remove it separately. By itself, this patch should not cause any visible changes. llvm-svn: 51783
* Fix indentation.Mikhail Glushenkov2008-05-301-1/+1
| | | | llvm-svn: 51782
* Add a --dry-run option to llvmc2. Patch by Holger Schurig.Mikhail Glushenkov2008-05-302-2/+8
| | | | llvm-svn: 51781
* Preserve the register coallescer, and update live intervals more correctly ↵Owen Anderson2008-05-301-1/+4
| | | | | | by triggering a renumbering after phi elimination. llvm-svn: 51780
* Allow a pointer implicitly cast to a bool as a constant expression, as Eli Friedman2008-05-302-17/+38
| | | | | | | | | | required by the standard (the standard doesn't know anything about implicit casts). Disallow pointers cast to non-integral arithmetic types as constant expressions. This was previously allowed by accident. llvm-svn: 51779
* Make sure to allow assigning a pointer to a bool.Eli Friedman2008-05-302-11/+22
| | | | llvm-svn: 51778
* Since LCSSA switched over to DenseMap, we have to be more careful to avoid ↵Owen Anderson2008-05-301-4/+5
| | | | | | iterator invalidation. Fixes PR2385. llvm-svn: 51777
* Patches for building llvm on Solaris x86. Contributed by Nathan Keynes.Evan Cheng2008-05-3013-40/+45
| | | | llvm-svn: 51775
* Use llvm::cl::desc for description of the -Wimplicit-function-declaration ↵Ted Kremenek2008-05-301-2/+2
| | | | | | | | option. Patch by Holger Schurig! llvm-svn: 51774
* Fix some strict-aliasing warnings by using Stmt* instead of Expr* in ↵Ted Kremenek2008-05-303-16/+20
| | | | | | VariableArrayType, EnumConstantDecl, and VarDecl. llvm-svn: 51772
* Give a proper error message when a command line option is defined more thanMatthijs Kooijman2008-05-301-1/+1
| | | | | | | once (ie, at two different places in the source, not two times on the commandline). llvm-svn: 51771
* Use eraseFromParent() instead of doing that manually in two places.Matthijs Kooijman2008-05-301-2/+2
| | | | llvm-svn: 51770
* Fix constant vector init for initializer lists with an incomplete list Eli Friedman2008-05-302-6/+13
| | | | | | of elements. llvm-svn: 51769
* Fix crash with -serialize (reported to cfe-dev). The issue was Eli Friedman2008-05-301-0/+1
| | | | | | | | | essentially that we were destroying the declarations twice. (Note that we don't use -serialize directly in the testsuite, only SerializeTest.) llvm-svn: 51768
* Always check that the definition of a function has the correct type. Eli Friedman2008-05-302-1/+7
| | | | | | This fixes a crash on the included testcase (found in NetHack). llvm-svn: 51767
* Let Instruction::getOpcodeName() return something useful for the newMatthijs Kooijman2008-05-301-0/+2
| | | | | | insertvalue / extractvalue instructions. llvm-svn: 51766
* Emit parameter and local variable debug information with -g.Sanjiv Gupta2008-05-303-3/+78
| | | | llvm-svn: 51765
* Add FIXME to CodeGen struct layout.Eli Friedman2008-05-301-1/+5
| | | | llvm-svn: 51764
* Some additions to constant initializer generation code. Adds Eli Friedman2008-05-301-28/+132
| | | | | | | | | | | | | | bit-field initialization; ugly code, X86-only, but it works, at least for basic stuff. Separates/adds union initialization; currently disabled, though, because the struct/array code needs modifications to support elements of the wrong type. Fixes PR2381 and PR2309 with the bit-field initialization. And NetHack compiles and appears to work with a few tweaks (to work around the lack of transparent_union support, and clang being a bit strict about conflicting declarations). llvm-svn: 51763
* Cleanup/refactoring of Sema struct layout. This patch unifies the structEli Friedman2008-05-303-98/+131
| | | | | | | | | | and union codepaths and fixes some minor bugs. I'm reasonably confident this is accurate, at least for X86. I'll correct any bugs as I find them; I haven't found any for a while, though. llvm-svn: 51762
* Add the "AsCheapAsAMove" flag to some 64-bit xor instructions.Bill Wendling2008-05-301-2/+3
| | | | llvm-svn: 51761
* Add a --save-temps option.Mikhail Glushenkov2008-05-304-7/+25
| | | | llvm-svn: 51760
* Add a check for side effect-free options (specified only in the OptionList).Mikhail Glushenkov2008-05-302-2/+41
| | | | llvm-svn: 51759
* Documentation update.Mikhail Glushenkov2008-05-301-0/+27
| | | | llvm-svn: 51758
* Refactoring: remove code duplication introduced in the previous patch.Mikhail Glushenkov2008-05-301-86/+65
| | | | llvm-svn: 51757
* Refactoring: split CollectProperties into two separate function objects.Mikhail Glushenkov2008-05-301-137/+226
| | | | llvm-svn: 51756
* Show argv[0] in error messages (like gcc).Mikhail Glushenkov2008-05-301-4/+3
| | | | llvm-svn: 51755
* New feature: OptionList.Mikhail Glushenkov2008-05-303-17/+86
| | | | | | | | | | | | | | | | | | It can be handy to have all information about options gathered in a single place to provide an overview of all supported options. This patch allows the following: def Options : OptionList<[ (switch_option "E", (help "Help string")), (alias_option "quiet", "q") ... ]>; Tool-specific option properties (like 'append_cmd') have (obviously) no meaning in this context, so the only properties that are allowed are 'help' and 'required'. See usage example in examples/Clang.td. llvm-svn: 51754
* Documentation update.Mikhail Glushenkov2008-05-302-66/+120
| | | | llvm-svn: 51753
* A small optimization: use static char* array instead of StrVector.Mikhail Glushenkov2008-05-303-27/+37
| | | | llvm-svn: 51752
* Make it possible to test if the '-o' option is provided.Mikhail Glushenkov2008-05-302-5/+13
| | | | | | | | | | The following is now allowed: (case (not_empty "o"), do_something, ...) This didn't work previously because "-o" is built-in. llvm-svn: 51751
* Fix: 'sink' handling was broken.Mikhail Glushenkov2008-05-302-5/+17
| | | | llvm-svn: 51750
* Add support for option aliases.Mikhail Glushenkov2008-05-302-18/+70
| | | | llvm-svn: 51749
* Allow nesting of case expressions.Mikhail Glushenkov2008-05-301-17/+36
| | | | | | | | | | | The following is now legal: (case (in_language "c"), (case (switch_on "E"), "gcc -x c -E $INFILE", (default), "gcc -x c $INFILE"), (default), "gcc $INFILE $OUTFILE") llvm-svn: 51748
* Small error message improvement.Mikhail Glushenkov2008-05-301-0/+5
| | | | llvm-svn: 51747
* Remove RequireDefault parameter from EmitCaseConstructHandler.Mikhail Glushenkov2008-05-301-9/+3
| | | | | | There are now no situations when 'default' is required. llvm-svn: 51746
* Fix some headers.Mikhail Glushenkov2008-05-308-8/+8
| | | | llvm-svn: 51745
* New tests for the 'case' expression: not_empty, in_language.Mikhail Glushenkov2008-05-308-24/+44
| | | | llvm-svn: 51744
* -E should print to stdout.Mikhail Glushenkov2008-05-302-5/+6
| | | | llvm-svn: 51743
OpenPOWER on IntegriCloud