summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* It's not safe to propagate implicit_def that defines part of a register.Evan Cheng2010-05-101-0/+2
| | | | llvm-svn: 103436
* Clear RegSequences vector after eliminating REG_SEQUENCE instructions.Evan Cheng2010-05-101-0/+1
| | | | llvm-svn: 103435
* simplify more.Chris Lattner2010-05-101-1/+1
| | | | llvm-svn: 103431
* Simplify by using startswith instead of substr.Chris Lattner2010-05-101-2/+2
| | | | llvm-svn: 103430
* fix PR7105 by enumerating MDNodes on all @llvm.fooChris Lattner2010-05-101-5/+10
| | | | | | function calls, not just recognized intrinsics. llvm-svn: 103428
* Fix PR6875:David Greene2010-05-101-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 Dunbar2010-05-101-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 Gohman2010-05-101-1/+1
| | | | llvm-svn: 103422
* Be careful with operand promotion. For a binary operation, the source ↵Evan Cheng2010-05-101-4/+10
| | | | | | operands may be the same. PR7018. rdar://7939869. llvm-svn: 103419
* Model vld2 / vst2 with reg_sequence.Evan Cheng2010-05-103-18/+95
| | | | llvm-svn: 103411
* Re-defined valno is always valno even for partial re-def's.Evan Cheng2010-05-101-2/+1
| | | | llvm-svn: 103410
* Fix PR7096. When a block containing multiple defs is tail duplicated, theBob Wilson2010-05-101-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 Raiskila2010-05-101-3/+3
| | | | llvm-svn: 103399
* Add an assertion to catch attempts to access off the end of the array.Duncan Sands2010-05-101-0/+2
| | | | | | Based on a patch by Javier Martinez. llvm-svn: 103391
* updated handling dllexport in X86AsmPrinterNathan Jeffords2010-05-091-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 subtargetsNathan Jeffords2010-05-091-28/+26
| | | | llvm-svn: 103373
* test commit, added a comment to MCSectionCOFF::PrintSwitchToSection functionNathan Jeffords2010-05-091-0/+1
| | | | llvm-svn: 103372
* make simplifycfg insert an llvm.trap before the 'unreachable' it introducesChris Lattner2010-05-081-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 sequenceChris Lattner2010-05-081-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 Lattner2010-05-081-3/+3
| | | | llvm-svn: 103347
* break coff symbol definition stuff out into proper MCStreamer callbacks,Chris Lattner2010-05-085-21/+62
| | | | | | patch by Nathan Jeffords! llvm-svn: 103346
* Run interrupt routines as part of report_fatal_error, since we are failingDaniel Dunbar2010-05-081-0/+7
| | | | | | ungracefully. llvm-svn: 103334
* Add llvm::sys::RunInterruptHandlers(), which runs the registered SIGINT cleanupDaniel Dunbar2010-05-082-1/+7
| | | | | | stuff. llvm-svn: 103333
* When pruning candidate formulae out of an LSRUse, update theDan Gohman2010-05-071-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 Patel2010-05-071-11/+10
| | | | | | namespace etc.. llvm-svn: 103327
* Remove DIGlobal.Devang Patel2010-05-073-22/+10
| | | | llvm-svn: 103325
* Add DINameSpace::Verify().Devang Patel2010-05-071-0/+11
| | | | llvm-svn: 103318
* SDDbgValues are apparently not being legalized. Fix a symptom of the problem,Dan Gohman2010-05-071-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 dataDan Gohman2010-05-071-5/+7
| | | | | | wider than 64 bits. llvm-svn: 103309
* Verify variable directly.Devang Patel2010-05-073-39/+3
| | | | llvm-svn: 103305
* add COFF support for COMDAT sections, patch by Nathan Jeffords!Chris Lattner2010-05-073-9/+24
| | | | llvm-svn: 103304
* Verify entire type descriptor not just tag.Devang Patel2010-05-071-2/+2
| | | | llvm-svn: 103303
* Fix i386 relocations to Weak Definitions. The relocation entries should beKevin Enderby2010-05-072-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 Patel2010-05-071-0/+3
| | | | llvm-svn: 103300
* Fix PR 7087, and probably other things, by extendingDale Johannesen2010-05-071-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 Patel2010-05-074-66/+68
| | | | llvm-svn: 103295
* Clean up the conditional for handling of sign_extend_inreg based onJim Grosbach2010-05-071-2/+5
| | | | | | | | whether the extract instructions are available. rdar://7956878 llvm-svn: 103277
* Use overloaded operators instead of DIDescriptor::getNode()Devang Patel2010-05-075-11/+11
| | | | llvm-svn: 103276
* Avoid DIDescriptor::getNode(). Use overloaded operators instead.Devang Patel2010-05-073-149/+149
| | | | llvm-svn: 103272
* Testing svn access with a note added to documentation.Kalle Raiskila2010-05-071-0/+2
| | | | llvm-svn: 103271
* Update CMake build.Ted Kremenek2010-05-071-0/+1
| | | | llvm-svn: 103269
* switch MCSectionCOFF from a syntactic to semantic representation,Chris Lattner2010-05-075-85/+185
| | | | | | patch by Peter Housel! llvm-svn: 103267
* Update CMake build.Ted Kremenek2010-05-071-0/+1
| | | | llvm-svn: 103266
* Add some words to this output to indicate what the numbers mean.Dan Gohman2010-05-071-4/+4
| | | | llvm-svn: 103264
* Add a simple module-level debug info printer. It just sets up aDan Gohman2010-05-072-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 Gohman2010-05-071-11/+11
| | | | llvm-svn: 103261
* Add an LLVM IR version of code sinking. This uses the same simple algorithmDan Gohman2010-05-071-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 Gohman2010-05-071-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 Cheng2010-05-072-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 Cheng2010-05-071-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
OpenPOWER on IntegriCloud