summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Rename CodeGenFunction::EmitMemSetToZero to EmitNullInitialization. Handle ↵Anders Carlsson2010-05-218-14/+58
| | | | | | setting null data member pointers correctly. Fixes PR7139. llvm-svn: 104387
* When instantiating a function declaration within a function template,Douglas Gregor2010-05-212-0/+11
| | | | | | | be sure to merge its parameter scope with its parent's scope. Fixes PR7184. llvm-svn: 104386
* Allow machine cse to cse instructions which define physical registers. ↵Evan Cheng2010-05-211-27/+81
| | | | | | Controlled by option -machine-cse-phys-defs. llvm-svn: 104385
* down with export.Chris Lattner2010-05-211-1/+2
| | | | llvm-svn: 104383
* Improved TypeLoc::getSourceRange().Abramo Bagnara2010-05-212-8/+43
| | | | llvm-svn: 104382
* Fix section attribute name.Eric Christopher2010-05-211-1/+1
| | | | llvm-svn: 104381
* Change CodeGen/ARM/2009-11-02-NegativeLane.ll to use 16-bit vector elementsBob Wilson2010-05-212-7/+14
| | | | | | | | so that it will continue to test what it was meant to test when I commit a separate change for better support of BUILD_VECTOR and VECTOR_SHUFFLE for Neon. Fix a DAG combiner crash exposed by this test change. llvm-svn: 104380
* another unneeded line.Chris Lattner2010-05-211-2/+1
| | | | llvm-svn: 104379
* major update to the C++ status page. C++ support is Chris Lattner2010-05-211-2234/+47
| | | | | | now done and no more patches to it will be accepted. llvm-svn: 104378
* - Change MachineInstr::findRegisterDefOperandIdx so it can also look for defsEvan Cheng2010-05-218-28/+43
| | | | | | | | | | that are aliases of the specified register. - Rename modifiesRegister to definesRegister since it's looking a def of the specific register or one of its super-registers. It's not looking for def of a sub-register or alias that could change the specified register. - Added modifiesRegister to look for defs of aliases. llvm-svn: 104377
* Propagate access specifiers to anonymous union members nested within classes.John McCall2010-05-219-21/+68
| | | | | | Fixes <rdar://problem/7987650>. llvm-svn: 104376
* Fix crash in CFG construction for 'break' statements appearing in statement ↵Ted Kremenek2010-05-212-7/+20
| | | | | | | | expressions within the increment code of a for loop. llvm-svn: 104375
* Use CanQualType to enforce the use of a canonical type argument toDouglas Gregor2010-05-215-6/+22
| | | | | | | CXXBasePaths::isAmbiguous(), rather than just asserting that we have a canonical type. Fixes PR7176. llvm-svn: 104374
* don't make _Bool be a keyword in -fms-extensions mode, patch byChris Lattner2010-05-212-2/+4
| | | | | | Steven Watanabe! llvm-svn: 104373
* Add MachineInstr::readsWritesVirtualRegister() to determine if an instructionJakob Stoklund Olesen2010-05-212-12/+26
| | | | | | | | | | reads or writes a register. This takes partial redefines and undef uses into account. Don't actually use it yet. That caused miscompiles. llvm-svn: 104372
* Try to fix MSVC build.Benjamin Kramer2010-05-211-0/+1
| | | | llvm-svn: 104371
* SimplifyDevang Patel2010-05-211-44/+23
| | | | llvm-svn: 104338
* Previous commit message should refer to 104308.Dale Johannesen2010-05-211-1/+1
| | | | llvm-svn: 104337
* Fix two bugs in 104348:Dale Johannesen2010-05-211-3/+9
| | | | | | | Case where MMX is disabled wasn't handled right. MMX->MMX bitconverts are Legal. llvm-svn: 104336
* Don't remove the break/continue scope of a for loop until after we'veDouglas Gregor2010-05-211-4/+2
| | | | | | | | emitted the increment expression. Fixes PR7189. If someone knows how to write a useful test for this, I'd be grateful. llvm-svn: 104335
* added an assertion to MCObjectWriter::WriteBytes to catch misuse of the ↵Nathan Jeffords2010-05-211-0/+2
| | | | | | | | ZeroFillSize parameter If the size of the string is greater than the zero fill size, the function will attempt to write a very large string of zeros to the object file (~4GB on 32 bit platforms). This assertion will catch the scenario and crash the program before the write occurs. llvm-svn: 104334
* now that fp reg kill insertion stuff happens as a separateChris Lattner2010-05-212-38/+58
| | | | | | | | | | | | | | | | | | pass after isel instead of being interlaced with it, we can trust that all the code for a function has been isel'd before it is run. The practical impact of this is that we can scan for machine instr phis instead of doing a fuzzy match on the LLVM BB for phi nodes. Doing the fuzzy match required knowing when isel would produce an fp reg stack phi which was gross. It was also wrong in cases where select got lowered to a branch tree because cmovs aren't available (PR6828). Just do the scan on machine phis which is simpler, faster and more correct. This fixes PR6828. llvm-svn: 104333
* TypeVisitor doesn't visit Stmts.Nick Lewycky2010-05-211-2/+2
| | | | llvm-svn: 104332
* Use less evil form of switch stmt.Chris Lattner2010-05-211-2/+4
| | | | llvm-svn: 104331
* use continue to reduce nesting.Chris Lattner2010-05-211-14/+17
| | | | llvm-svn: 104330
* pull a nested loop of this pass out to its own function,Chris Lattner2010-05-211-42/+55
| | | | | | eliminating the gymnastics around the ContainsFPCode var. llvm-svn: 104328
* When generating the call arguments in a thunk to call the thunkee, doDouglas Gregor2010-05-212-3/+54
| | | | | | | | not make copies non-POD arguments or arguments passed by reference: just copy the pointers directly. This eliminates another source of the dreaded memcpy-of-non-PODs. Fixes PR7188. llvm-svn: 104327
* modernize this pass a bit, fit in 80 columns.Chris Lattner2010-05-211-6/+9
| | | | llvm-svn: 104326
* constify accessor.Chris Lattner2010-05-212-2/+3
| | | | llvm-svn: 104325
* Revert "Use MachineInstr::readsWritesVirtualRegister to determine if a ↵Jakob Stoklund Olesen2010-05-213-34/+58
| | | | | | | | register is read." This reverts r104322. I think it was causing miscompilations. llvm-svn: 104323
* Use MachineInstr::readsWritesVirtualRegister to determine if a register is read.Jakob Stoklund Olesen2010-05-213-58/+34
| | | | | | This correctly handles partial redefines and undef uses. llvm-svn: 104322
* Teach VirtRegRewriter to handle spilling in instructions that have multipleJakob Stoklund Olesen2010-05-212-1/+52
| | | | | | | | | | | | | definitions of the virtual register. This happens when spilling the registers produced by REG_SEQUENCE: %reg1047:5<def>, %reg1047:6<def>, %reg1047:7<def> = VLD3d8 %reg1033, 0, pred:14, pred:%reg0 The rewriter would spill the register multiple times, dead store elimination tried to keep up, but ended up cutting the branch it was sitting on. llvm-svn: 104321
* If the first definition of a virtual register is a partial redef, add anJakob Stoklund Olesen2010-05-213-7/+24
| | | | | | | <imp-def> operand for the full register. This ensures that the full physical register is marked live after register allocation. llvm-svn: 104320
* Changed test to use FileCheck.Fariborz Jahanian2010-05-211-5/+10
| | | | llvm-svn: 104319
* Currently, createMachOStreamer() is invoked directly in llvm-mc whichMatt Fleming2010-05-213-1/+68
| | | | | | | | | isn't ideal if we want to be able to use another object file format. Add a createObjectStreamer() factory method so that the correct object file streamer can be instantiated for a given target triple. llvm-svn: 104318
* Split out the x86_32 an x86_64 ELF backends as they handle ELFMatt Fleming2010-05-211-2/+14
| | | | | | differently. This will make adding ELF support easier in the long run. llvm-svn: 104317
* Add support for parsing the ELF .type assembler directive.Matt Fleming2010-05-214-1/+52
| | | | llvm-svn: 104316
* Teach the RecursiveASTVisitor to enter parts of the AST previously missed.Chandler Carruth2010-05-211-94/+184
| | | | | | | | | | | | | | | Factor its implementation to ease the addition of these custom edges to traverse. With this patch we get initializer expressions, block bodies, type source info, and function argument, result, and exception types. There are probably still some more missed edges. While we're here, clean up and flesh out a bunch of comments. Patch by Zhanyong Wan; I've done a cursory review, but further review appreciated. This is fast becoming one of the most important public APIs to the AST. llvm-svn: 104315
* Add braces to avoid an ambiguous else, fixing a GCC warning.Chandler Carruth2010-05-211-1/+2
| | | | llvm-svn: 104314
* Allocate space in a block record for implicit references to the Objective CJohn McCall2010-05-215-115/+131
| | | | | | | | | | 'self' variable arising from uses of the 'super' keyword. Also reorganize some code so that BlockInfo (now CGBlockInfo) can be opaque outside of CGBlocks.cpp. Fixes rdar://problem/8010633. llvm-svn: 104312
* Removed scaleNumbering method declaration from LiveInterval (not defined, ↵Lang Hames2010-05-211-4/+0
| | | | | | not used). llvm-svn: 104311
* When emitting an lvalue for an anonymous struct or union member duringJohn McCall2010-05-214-2/+62
| | | | | | | class initialization, drill down through an arbitrary number of anonymous records. llvm-svn: 104310
* Introduce a method to get from an anonymous struct or union record declarationJohn McCall2010-05-213-30/+17
| | | | | | to the associated object declaration. llvm-svn: 104309
* Fix i64->f64 conversion, x86-64, -no-sse. A bitDale Johannesen2010-05-213-0/+45
| | | | | | | tricky since there's a 3rd 64-bit type, MMX vectors. PR 7135. llvm-svn: 104308
* Change ARM scheduling default to list-hybrid if the target supports floating ↵Evan Cheng2010-05-219-15/+18
| | | | | | point instructions (and is not using soft float). llvm-svn: 104307
* Rename -pre-RA-sched=hybrid to -pre-RA-sched=list-hybrid.Evan Cheng2010-05-211-1/+1
| | | | llvm-svn: 104306
* When instantiating anonymous structs/unions within a function, makeDouglas Gregor2010-05-212-1/+36
| | | | | | | | | sure that the anonymous struct/union record declaration gets instantiated before the variable declaration, and that it and its fields (recursively) get entries in the local instantiation map. Fixes PR7088. llvm-svn: 104305
* docs: Man page tweaks, to mention the integrated assembler and theDaniel Dunbar2010-05-211-6/+19
| | | | | | -integrated-as and -no-integrated-as options. llvm-svn: 104304
* Remove dead option.Daniel Dunbar2010-05-211-3/+0
| | | | llvm-svn: 104303
* Simplify.Devang Patel2010-05-211-16/+8
| | | | llvm-svn: 104302
OpenPOWER on IntegriCloud