Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | It's not safe to propagate implicit_def that defines part of a register. | Evan Cheng | 2010-05-10 | 1 | -0/+2 |
| | | | | llvm-svn: 103436 | ||||
* | Clear RegSequences vector after eliminating REG_SEQUENCE instructions. | Evan Cheng | 2010-05-10 | 1 | -0/+1 |
| | | | | llvm-svn: 103435 | ||||
* | simplify more. | Chris Lattner | 2010-05-10 | 1 | -1/+1 |
| | | | | llvm-svn: 103431 | ||||
* | Simplify by using startswith instead of substr. | Chris Lattner | 2010-05-10 | 1 | -2/+2 |
| | | | | llvm-svn: 103430 | ||||
* | fix PR7105 by enumerating MDNodes on all @llvm.foo | Chris Lattner | 2010-05-10 | 1 | -5/+10 |
| | | | | | | function calls, not just recognized intrinsics. llvm-svn: 103428 | ||||
* | Fix PR6875: | David Greene | 2010-05-10 | 1 | -15/+31 |
| | | | | | | | | | | | | | | | This includes a patch by Roman Divacky to fix the initial crash. Move the actual addition of passes from *PassManager::add to *PassManager::addImpl. That way, when adding printer passes we won't recurse infinitely. Finally, check to make sure that we are actually adding a FunctionPass to a FunctionPassManager before doing a print before or after it. Immutable passes are strange in this way because they aren't FunctionPasses yet they can be and are added to the FunctionPassManager. llvm-svn: 103425 | ||||
* | Add new configure option, --disable-timestamps, intended to turn off ↵ | Daniel Dunbar | 2010-05-10 | 1 | -0/+2 |
| | | | | | | | | | anything which would mess up binary/object comparisons. Currently: - Disables 'Built on ...' in 'foo --version'. - Disables timestamps from being embedded into .dir files. llvm-svn: 103423 | ||||
* | Fix whitespace in debug output to be consistent. | Dan Gohman | 2010-05-10 | 1 | -1/+1 |
| | | | | llvm-svn: 103422 | ||||
* | Be careful with operand promotion. For a binary operation, the source ↵ | Evan Cheng | 2010-05-10 | 1 | -4/+10 |
| | | | | | | operands may be the same. PR7018. rdar://7939869. llvm-svn: 103419 | ||||
* | Model vld2 / vst2 with reg_sequence. | Evan Cheng | 2010-05-10 | 3 | -18/+95 |
| | | | | llvm-svn: 103411 | ||||
* | Re-defined valno is always valno even for partial re-def's. | Evan Cheng | 2010-05-10 | 1 | -2/+1 |
| | | | | llvm-svn: 103410 | ||||
* | Fix PR7096. When a block containing multiple defs is tail duplicated, the | Bob Wilson | 2010-05-10 | 1 | -1/+1 |
| | | | | | | | SSAUpdater for the value from the first def may see uses of undefined values, because the later defs will not have been updated yet. llvm-svn: 103407 | ||||
* | Fix encoding of 'sf' and 'sfh' instructions. | Kalle Raiskila | 2010-05-10 | 1 | -3/+3 |
| | | | | llvm-svn: 103399 | ||||
* | Add an assertion to catch attempts to access off the end of the array. | Duncan Sands | 2010-05-10 | 1 | -0/+2 |
| | | | | | | Based on a patch by Javier Martinez. llvm-svn: 103391 | ||||
* | updated handling dllexport in X86AsmPrinter | Nathan Jeffords | 2010-05-09 | 1 | -8/+22 |
| | | | | | | changed dllexport code to use EmitBytes instead of EmitRawText, and changed the export option to use /EXPORT: instead of -export: on the windows platform llvm-svn: 103377 | ||||
* | made COFF target dllexport logic apply to all subtargets | Nathan Jeffords | 2010-05-09 | 1 | -28/+26 |
| | | | | llvm-svn: 103373 | ||||
* | test commit, added a comment to MCSectionCOFF::PrintSwitchToSection function | Nathan Jeffords | 2010-05-09 | 1 | -0/+1 |
| | | | | llvm-svn: 103372 | ||||
* | make simplifycfg insert an llvm.trap before the 'unreachable' it introduces | Chris Lattner | 2010-05-08 | 1 | -3/+11 |
| | | | | | | | | | | | | | | | | | | | | | when it detects undefined behavior. llvm.trap generally codegens into some thing really small (e.g. a 2 byte ud2 instruction on x86) and debugging this sort of thing is "nontrivial". For example, we now compile: void foo() { *(int*)0 = 42; } into: _foo: pushl %ebp movl %esp, %ebp ud2 Some may even claim that this is a security hole, though that seems dubious to me. This addresses rdar://7958343 - Optimizing away null dereference potentially allows arbitrary code execution llvm-svn: 103356 | ||||
* | Teach instcombine to transform a bitcast/(zext|trunc)/bitcast sequence | Chris Lattner | 2010-05-08 | 1 | -0/+70 |
| | | | | | | | | | | | with a vector input and output into a shuffle vector. This sort of sequence happens when the input code stores with one type and reloads with another type and then SROA promotes to i96 integers, which make everyone sad. This fixes rdar://7896024 llvm-svn: 103354 | ||||
* | Fix PR7052, patch by Jakub Staszak! | Chris Lattner | 2010-05-08 | 1 | -3/+3 |
| | | | | llvm-svn: 103347 | ||||
* | break coff symbol definition stuff out into proper MCStreamer callbacks, | Chris Lattner | 2010-05-08 | 5 | -21/+62 |
| | | | | | | patch by Nathan Jeffords! llvm-svn: 103346 | ||||
* | Run interrupt routines as part of report_fatal_error, since we are failing | Daniel Dunbar | 2010-05-08 | 1 | -0/+7 |
| | | | | | | ungracefully. llvm-svn: 103334 | ||||
* | Add llvm::sys::RunInterruptHandlers(), which runs the registered SIGINT cleanup | Daniel Dunbar | 2010-05-08 | 2 | -1/+7 |
| | | | | | | stuff. llvm-svn: 103333 | ||||
* | When pruning candidate formulae out of an LSRUse, update the | Dan Gohman | 2010-05-07 | 1 | -3/+11 |
| | | | | | | | | | | | | | LSRUse's Regs set after all pruning is done, rather than trying to do it on the fly, which can produce an incomplete result. This fixes a case where heuristic pruning was stripping all formulae from a use, which led the solver to enter an infinite loop. Also, add a few asserts to diagnose this kind of situation. llvm-svn: 103328 | ||||
* | Instead of just verifying compile unit, verify entire type, variable, ↵ | Devang Patel | 2010-05-07 | 1 | -11/+10 |
| | | | | | | namespace etc.. llvm-svn: 103327 | ||||
* | Remove DIGlobal. | Devang Patel | 2010-05-07 | 3 | -22/+10 |
| | | | | llvm-svn: 103325 | ||||
* | Add DINameSpace::Verify(). | Devang Patel | 2010-05-07 | 1 | -0/+11 |
| | | | | llvm-svn: 103318 | ||||
* | SDDbgValues are apparently not being legalized. Fix a symptom of the problem, | Dan Gohman | 2010-05-07 | 1 | -1/+7 |
| | | | | | | | and not the real problem itself, by dropping debug info for i128 values. rdar://7958162. llvm-svn: 103310 | ||||
* | Minimally fix this code to not abort on mdnodes with integer data | Dan Gohman | 2010-05-07 | 1 | -5/+7 |
| | | | | | | wider than 64 bits. llvm-svn: 103309 | ||||
* | Verify variable directly. | Devang Patel | 2010-05-07 | 3 | -39/+3 |
| | | | | llvm-svn: 103305 | ||||
* | add COFF support for COMDAT sections, patch by Nathan Jeffords! | Chris Lattner | 2010-05-07 | 3 | -9/+24 |
| | | | | llvm-svn: 103304 | ||||
* | Verify entire type descriptor not just tag. | Devang Patel | 2010-05-07 | 1 | -2/+2 |
| | | | | llvm-svn: 103303 | ||||
* | Fix i386 relocations to Weak Definitions. The relocation entries should be | Kevin Enderby | 2010-05-07 | 2 | -20/+13 |
| | | | | | | | external and the item to be relocated should not have the address of the symbol added in. llvm-svn: 103302 | ||||
* | Verify compile unit also. | Devang Patel | 2010-05-07 | 1 | -0/+3 |
| | | | | llvm-svn: 103300 | ||||
* | Fix PR 7087, and probably other things, by extending | Dale Johannesen | 2010-05-07 | 1 | -1/+11 |
| | | | | | | | | | getConstantFP to accept the two supported long double target types. This was not the original intent, but there are other places that assume this works and it's easy enough to do. llvm-svn: 103299 | ||||
* | Wrap const MDNode * inside DIDescriptor. | Devang Patel | 2010-05-07 | 4 | -66/+68 |
| | | | | llvm-svn: 103295 | ||||
* | Clean up the conditional for handling of sign_extend_inreg based on | Jim Grosbach | 2010-05-07 | 1 | -2/+5 |
| | | | | | | | | whether the extract instructions are available. rdar://7956878 llvm-svn: 103277 | ||||
* | Use overloaded operators instead of DIDescriptor::getNode() | Devang Patel | 2010-05-07 | 5 | -11/+11 |
| | | | | llvm-svn: 103276 | ||||
* | Avoid DIDescriptor::getNode(). Use overloaded operators instead. | Devang Patel | 2010-05-07 | 3 | -149/+149 |
| | | | | llvm-svn: 103272 | ||||
* | Testing svn access with a note added to documentation. | Kalle Raiskila | 2010-05-07 | 1 | -0/+2 |
| | | | | llvm-svn: 103271 | ||||
* | Update CMake build. | Ted Kremenek | 2010-05-07 | 1 | -0/+1 |
| | | | | llvm-svn: 103269 | ||||
* | switch MCSectionCOFF from a syntactic to semantic representation, | Chris Lattner | 2010-05-07 | 5 | -85/+185 |
| | | | | | | patch by Peter Housel! llvm-svn: 103267 | ||||
* | Update CMake build. | Ted Kremenek | 2010-05-07 | 1 | -0/+1 |
| | | | | llvm-svn: 103266 | ||||
* | Add some words to this output to indicate what the numbers mean. | Dan Gohman | 2010-05-07 | 1 | -4/+4 |
| | | | | llvm-svn: 103264 | ||||
* | Add a simple module-level debug info printer. It just sets up a | Dan Gohman | 2010-05-07 | 2 | -0/+87 |
| | | | | | | DebugInfoFinder and iterates over all the contents calling print. llvm-svn: 103262 | ||||
* | Fix the new print functions to call print instead of dump. | Dan Gohman | 2010-05-07 | 1 | -11/+11 |
| | | | | llvm-svn: 103261 | ||||
* | Add an LLVM IR version of code sinking. This uses the same simple algorithm | Dan Gohman | 2010-05-07 | 1 | -0/+267 |
| | | | | | | as MachineSink, but it isn't constrained by MachineInstr-level details. llvm-svn: 103257 | ||||
* | Convert the DebugInfo classes dump() methods into print(raw_ostream &) | Dan Gohman | 2010-05-07 | 1 | -52/+102 |
| | | | | | | methods, and add dump functions implemented in terms of the print. llvm-svn: 103254 | ||||
* | Use VLD2q32 / VST2q32 to reload / spill QQ (pair of Q) registers when stack ↵ | Evan Cheng | 2010-05-07 | 2 | -15/+39 |
| | | | | | | slot is sufficiently aligned. Use VLDMD / VSTMD otherwise. llvm-svn: 103235 | ||||
* | Use VSTMD / VLDMD for spills and reloads of Q registers instead of VSTMQ / ↵ | Evan Cheng | 2010-05-07 | 1 | -9/+15 |
| | | | | | | VLDQ. The later are aliases which ought to be eliminated but we can't because they are used for storing and loading v2f64 values. llvm-svn: 103234 |