summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix up some of the visiting for array types -- we weren't good aboutCraig Silverstein2010-07-161-7/+68
| | | | | | | | | | | | getting array indices before -- and for some of the builtin operators: sizeof, offsetof, unaryops like __is_enum. Also fix the function visitor to visit exception types in function parameters. Reviewed by wan and chandlerc. llvm-svn: 108533
* Initialize a couple of fields inherited for our private use.John McCall2010-07-161-0/+2
| | | | llvm-svn: 108532
* When performing template name lookup for a dependent member accessDouglas Gregor2010-07-162-5/+24
| | | | | | | | | expression such as the "foo" in "this->blah.foo<1, 2>", and we can't look into the type of "this->blah" (e.g., because it is dependent), look into the local scope of a template of the same name. Fixes <rdar://problem/8198511>. llvm-svn: 108531
* Remove the rest of my instcombine changes. Back to the drawing board on ↵Owen Anderson2010-07-161-28/+0
| | | | | | this one. llvm-svn: 108530
* Allow x87 FP registers to be alive globally in a function.Jakob Stoklund Olesen2010-07-162-37/+389
| | | | | | | | | | | | | | | | FP_REG_KILL instructions are still inserted, but can be disabled by passing -live-x87 to llc. The X87FPRegKillInserterPass is going to be removed shortly. CFG edges are partioned into bundles where the x87 stack must be allocated identically. Code is insertad at the end of each basic block that shuffles the live FP registers to match the outgoing bundles expectations. This fix is in preparation for some upcoming register allocator improvements that may extend the live range of registers beyond a basic block, similar to LICM. It also provides a nice runtime speedup if you are building with -mfpmath=387. llvm-svn: 108529
* Add a little more data to chained PCHs. WIPSebastian Redl2010-07-165-41/+69
| | | | llvm-svn: 108528
* Revert Microsoft-specific override of the "typedef requires a name"Douglas Gregor2010-07-165-9/+10
| | | | | | | diagnostic. Instead, put it and the "declaration does not declare anything" warning into -Wmissing-declarations. llvm-svn: 108527
* Suppress the "typedef requires a name" warning in Microsoft-extensions modeDouglas Gregor2010-07-162-2/+4
| | | | llvm-svn: 108526
* Remove extraneous semicolons after member functionsDouglas Gregor2010-07-161-4/+4
| | | | llvm-svn: 108525
* Fix constructor initialization order. Patch by Bill Lynch.Benjamin Kramer2010-07-165-17/+18
| | | | llvm-svn: 108524
* Feed the right output into FileCheck.Benjamin Kramer2010-07-161-2/+2
| | | | llvm-svn: 108523
* eliminate CallInst::ArgOffsetGabor Greif2010-07-168-44/+37
| | | | llvm-svn: 108522
* Treat template parameters as part of the declaration-specifiers for theJohn McCall2010-07-165-12/+69
| | | | | | | | purpose of access control. Fixes PR7644. I can't actually find anything directly justifying this, but it seems obvious. llvm-svn: 108521
* Get rid of a bunch of duplicated ELF enum values.Eli Friedman2010-07-165-131/+41
| | | | llvm-svn: 108520
* A few more minor additions to ELF.h.Eli Friedman2010-07-161-0/+9
| | | | llvm-svn: 108519
* Remove bogus link.Eric Christopher2010-07-161-1/+0
| | | | llvm-svn: 108518
* Arrays and vectors with different numbers of elements are not equivalent.Nick Lewycky2010-07-162-4/+28
| | | | llvm-svn: 108517
* Remove unnecessary conditional.Eric Christopher2010-07-161-2/+0
| | | | llvm-svn: 108516
* LoopSimplify does not update domfrontier correctly.Tobias Grosser2010-07-162-2/+22
| | | | | | This fixes PR7649. llvm-svn: 108513
* Add dump() to DominanceFrontierTobias Grosser2010-07-162-0/+8
| | | | llvm-svn: 108512
* Make this grossness default to the error it should always be.Chandler Carruth2010-07-162-2/+2
| | | | llvm-svn: 108511
* Sema: Fix a bug with #pragma options align=reset, reset against an empty stackDaniel Dunbar2010-07-162-14/+30
| | | | | | is well defined, it resets to the default alignment. llvm-svn: 108508
* Remove many calls to TII::isMoveInstr. Targets should be producing COPY anyway.Jakob Stoklund Olesen2010-07-1615-228/+74
| | | | | | TII::isMoveInstr is going tobe completely removed. llvm-svn: 108507
* Add forgotten test case.Jakob Stoklund Olesen2010-07-161-0/+28
| | | | llvm-svn: 108506
* Butcher a perfectly reasonable diagnostic to pacify old versions of SWIG.Chandler Carruth2010-07-164-8/+10
| | | | llvm-svn: 108505
* Add initial test cases for scanf format string checking.Ted Kremenek2010-07-161-0/+14
| | | | llvm-svn: 108503
* Add the main scanf-parsing logic that I meant to include in my previous commit.Ted Kremenek2010-07-161-0/+214
| | | | llvm-svn: 108502
* Add missing header file.Ted Kremenek2010-07-161-0/+71
| | | | llvm-svn: 108501
* Add most of the boilerplate support for scanf format string checking. This ↵Ted Kremenek2010-07-168-1059/+1360
| | | | | | | | | | | | | includes handling the parsing of scanf format strings and hooking the checking into Sema. Most of this checking logic piggybacks on what was already there for checking printf format strings, but the checking logic has been refactored to support both. What is left to be done is to support argument type checking in format strings and of course fix the usual tail of bugs that will follow. llvm-svn: 108500
* Add builtin definition for scanf, including extending the builtin encoding toTed Kremenek2010-07-164-0/+37
| | | | | | | | | | represent builtins that have the "scanf" attribution (via the format attribute) just like we do with printf functions. Follow-up work is needed to add similar support for fscanf et al. This is to support format-string checking for scanf functions. llvm-svn: 108499
* Use the source-order scheduler instead of the "fast" scheduler at -O0,Dan Gohman2010-07-163-4/+4
| | | | | | | because it's more likely to keep debug line information in its original order. llvm-svn: 108496
* build/Darwin: Add an LLVM_LTO_VERSION_OFFSET make variable to allow offsettingDaniel Dunbar2010-07-161-1/+9
| | | | | | the libLTO library version from the actual build version. llvm-svn: 108495
* Also revert 108422, it's causing some test failures.Eric Christopher2010-07-162-34/+0
| | | | | | Working on testcases for Owen. llvm-svn: 108494
* build/Clang: Build and install libLTO as part of clang-only/install-clang ↵Daniel Dunbar2010-07-161-2/+4
| | | | | | targets. llvm-svn: 108493
* Fix this test.Dan Gohman2010-07-161-1/+1
| | | | llvm-svn: 108491
* Fix for PR3800: make sure not to evaluate the expression for a read-writeEli Friedman2010-07-163-16/+51
| | | | | | asm operand twice. llvm-svn: 108489
* Builtins/ARM: __clear_cache doesn't seem to have a consistent prototype, declareDaniel Dunbar2010-07-163-2/+13
| | | | | | | the builtin as void __clear_cache(...) to workaround this, which appears to match what GCC does. llvm-svn: 108487
* Wrote the code that looks at a context to seeSean Callanan2010-07-164-28/+228
| | | | | | | if the variables in that context allow a particular JIT compiled expression to run in that context. llvm-svn: 108485
* The SelectionDAGBuilder's handling of debug info, on rareDale Johannesen2010-07-163-12/+207
| | | | | | | | | | occasions, caused code to be generated in a different order. All cases I've seen involved float softening in the type legalizer, and this could be perhaps be fixed there, but it's better not to generate things differently in the first place. 7797940 (6/29/2010..7/15/2010). llvm-svn: 108484
* Oops, didn't define AreTypesSame correctly.Sean Callanan2010-07-161-2/+2
| | | | llvm-svn: 108483
* IRgen: Support user defined attributes on block runtime functions.Daniel Dunbar2010-07-164-0/+85
| | | | | | | | | | | | | | | | | | - This issue here is that /usr/include/Blocks.h wants to define some of the block runtime globals as weak, depending on the target. This doesn't work in Clang because we aren't using the AST decl for these globals. - The fix is a pretty gross hack which just watches all the decls for the specific blocks globals we need to know about; if we see one we use it, otherwise we use the hand coded type. In time, I would like to clean this up by changing IRgen to ask Sema/AST for the decl, which would then be lazily loaded from the builtin table if necessary. This could be used in a whole host of places in IRgen and would get rid of a lot of grotty hand coding of LLVM IR; however, we need some extra Sema support for this as well as support for builtin global variables. llvm-svn: 108482
* IRgen: Move blocks runtime interfaces to CodeGenModule.Daniel Dunbar2010-07-164-67/+80
| | | | llvm-svn: 108481
* Suppress !+Asserts warning.Daniel Dunbar2010-07-161-0/+1
| | | | llvm-svn: 108480
* Revert. This isn't the correct way to go.Bill Wendling2010-07-154-27/+4
| | | | llvm-svn: 108478
* When deferring the emission of declarations with initializers in C++, rememberJohn McCall2010-07-155-7/+61
| | | | | | | the order they appeared in the translation unit. If they get emitted, put them in their proper order. Fixes rdar://problem/7458115 llvm-svn: 108477
* Fix the order that SCEVExpander considers add operands in so thatDan Gohman2010-07-152-2/+54
| | | | | | | it doesn't miss an opportunity to form a GEP, regardless of the relative loop depths of the operands. This fixes rdar://8197217. llvm-svn: 108475
* Handle code gen for the unreachable instruction if it's the only instruction inBill Wendling2010-07-154-4/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the function. We'll just turn it into a "trap" instruction instead. The problem with not handling this is that it might generate a prologue without the equivalent epilogue to go with it: $ cat t.ll define void @foo() { entry: unreachable } $ llc -o - t.ll -relocation-model=pic -disable-fp-elim -unwind-tables .section __TEXT,__text,regular,pure_instructions .globl _foo .align 4, 0x90 _foo: ## @foo Leh_func_begin0: ## BB#0: ## %entry pushq %rbp Ltmp0: movq %rsp, %rbp Ltmp1: Leh_func_end0: ... The unwind tables then have bad data in them causing all sorts of problems. Fixes <rdar://problem/8096481>. llvm-svn: 108473
* Set "optimization is ON" and supply other optional parameters. This helps ↵Devang Patel2010-07-151-2/+6
| | | | | | codegenerator preserve info in case the symbol is deleted. llvm-svn: 108471
* Improve test case. Thanks EliDouglas Gregor2010-07-151-0/+1
| | | | llvm-svn: 108470
* Don't suppress the emission of available_externally functions markedDouglas Gregor2010-07-152-1/+16
| | | | | | with always_inline attribute. Thanks to Howard for the tip. llvm-svn: 108469
OpenPOWER on IntegriCloud