summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Preserve line number information.Devang Patel2011-04-281-0/+7
| | | | llvm-svn: 130450
* Coalesce some DEBUGs (moving an only-used-in-DEBUG variable's declaration ↵Matt Beaumont-Gay2011-04-281-6/+7
| | | | | | into the DEBUG) llvm-svn: 130448
* We require threse bits to be zero, too.Benjamin Kramer2011-04-281-2/+2
| | | | | | | This shouldn't happen in practice because the icmp would be a constant. Add a check so we don't miscompile code if something goes wrong. llvm-svn: 130446
* Only read *predecessor once so as to fix a theoretical issue where it changesNick Lewycky2011-04-281-7/+10
| | | | | | | | | | | | | | | | | | | between two reads (threading). Fix an off-by-one in the indirect counter table that I meant to revert after an earlier experiment. Whoops! Implement GCOV_PREFIX. Doesn't handle GCOV_PREFIX_STRIP yet. Fix an off-by-one in string emission. Extra whoops! Tolerate DISubprograms that have null Function*'s attached to them. I don't yet understand what this means, but it happens when you have a global static with a non-trivial constructor/destructor. Fix a crash on switch statements with a single successor (default-only). llvm-svn: 130443
* Target/X86/MC: Add an option for disabling arith relaxation, for my own testingDaniel Dunbar2011-04-281-0/+11
| | | | | | purposes. llvm-svn: 130438
* Add the getExprForFDESymbol method that responsible for computing theRafael Espindola2011-04-283-14/+17
| | | | | | expressions used in the FDE to refer to symbols. llvm-svn: 130437
* Beautify debug info probe output.Devang Patel2011-04-281-4/+13
| | | | llvm-svn: 130435
* Add MemoryBuffer::getBufferKind() to report whether a memory buffer uses ↵Ted Kremenek2011-04-281-0/+8
| | | | | | malloc'ed or mmap'ed memory. This is for performance analysis. llvm-svn: 130432
* Remove DbgDeclare only if all uses are converted.Devang Patel2011-04-281-1/+5
| | | | llvm-svn: 130431
* Remove bounded StringRef::compare() since nothing but Clang SA was using it ↵Lenny Maiorani2011-04-281-21/+0
| | | | | | and it is just as easy to use StringRef::substr() preceding StringRef::compare() to achieve the same thing. llvm-svn: 130430
* fast-isel sret calls, try 2. We actually do need to do something on x86-32. ↵Eli Friedman2011-04-281-2/+4
| | | | | | rdar://problem/9303592 . llvm-svn: 130429
* Fix a comment.Benjamin Kramer2011-04-281-1/+1
| | | | llvm-svn: 130428
* improve comment.Chris Lattner2011-04-281-1/+6
| | | | llvm-svn: 130426
* Do not lose line number info while eliminating tail call.Devang Patel2011-04-281-1/+3
| | | | llvm-svn: 130419
* final step needed to resolve PR6627, which allows us to flatten the code down toChris Lattner2011-04-281-3/+7
| | | | | | | | | | | | a nice and tidy: %x1 = load i32* %0, align 4 %1 = icmp eq i32 %x1, 1179403647 br i1 %1, label %if.then, label %if.end instead of doing lots of loads and branches. May the FreeBSD bootloader long fit in its allocated space. llvm-svn: 130416
* code cleanups only.Chris Lattner2011-04-281-36/+32
| | | | llvm-svn: 130414
* Revert r130348; causing buildbot issues on x86-32.Eli Friedman2011-04-281-0/+1
| | | | llvm-svn: 130412
* Add command line option to print debug info in human readable form as ↵Devang Patel2011-04-281-0/+55
| | | | | | comment in llvm IR output. This, i.e -enable-debug-info-comment, is very useful if you want to easily find out which optimization pass is losing line number information. llvm-svn: 130409
* Reapply r130340: Fix for PR9730.Andrew Trick2011-04-281-1/+1
| | | | llvm-svn: 130408
* InstCombine: Merge "(trunc x) == C1 & (and x, CA) == C2" into a single and+icmp.Benjamin Kramer2011-04-281-0/+36
| | | | | | This happens when GVN widens loads. Part of PR6627. llvm-svn: 130405
* Be more layout aware here and swap the successor and branch conditionEric Christopher2011-04-281-1/+8
| | | | | | if it means we get a fallthrough. llvm-svn: 130404
* centralize "marking for deletion" into a helper function. Pass GVN around to Chris Lattner2011-04-281-52/+56
| | | | | | static functions instead of passing around tons of random ivars. llvm-svn: 130403
* Promote toErase to be an ivar of the GVN class.Chris Lattner2011-04-281-39/+35
| | | | llvm-svn: 130401
* Add a getExprForPersonalitySymbol method to MCAsmInfo. Use it whenRafael Espindola2011-04-286-3/+64
| | | | | | converting the symbol passed to .cfi_personality into bytes is the file. llvm-svn: 130400
* Mark the EH symbol global or weak if the corresponding function is.Rafael Espindola2011-04-283-0/+17
| | | | llvm-svn: 130397
* Fix the last -Wnon-pod-memset I'm seeing. This is benign, but appearsChandler Carruth2011-04-281-1/+1
| | | | | | | | | | | | | a bit more sinister as the memset doesn't do what the constructor does. There seems to be a cleaner solution than a cast here though, instead we can point the memset destination into the union its actually trying to clear. An alternative is to point to the Untyped member of this union. Review appreciated, and if that is cleaner I'm happy to switch. All of these should be functionally equivalent to the original code. llvm-svn: 130395
* teach GVN to widen integer loads when they are overaligned, when doing an Chris Lattner2011-04-282-30/+154
| | | | | | | | | | | wider load would allow elimination of subsequent loads, and when the wider load is still a native integer type. This eliminates a ton of loads on various benchmarks involving struct fields, though it is somewhat hobbled by clang not being very aggressive about field alignment. This is yet another step along the way towards resolving PR6627. llvm-svn: 130390
* Let the immediate leaf pattern take transforms and switch the signedEric Christopher2011-04-283-30/+30
| | | | | | | | immediate patterns in arm to using the pattern. Handles rdar://9299434 llvm-svn: 130386
* move PR9803 to this readme.Chris Lattner2011-04-281-0/+28
| | | | llvm-svn: 130385
* Add a small temporary hack for producing identical eh_frame sections on OS X.Rafael Espindola2011-04-282-6/+14
| | | | | | | This removes one of the main advantages of moving eh_frame to MC, but makes the transition a lot easier to debug (run md5). llvm-svn: 130379
* Produce the EH_frame# symbols if needed.Rafael Espindola2011-04-281-2/+11
| | | | llvm-svn: 130378
* Forward isFunctionEHFrameSymbolPrivate. If it is false, produce the foo.ehRafael Espindola2011-04-281-0/+7
| | | | | | symbols. llvm-svn: 130375
* Teach dwarf writer to handle complex address expression for .debug_loc entries.Devang Patel2011-04-286-27/+129
| | | | | | | This fixes clang generated blocks' variables' debug info. Radar 9279956. llvm-svn: 130373
* Fix a silly mistake in r130338.Eli Friedman2011-04-281-1/+1
| | | | llvm-svn: 130360
* PTX: support for select_cc and fixes for setccJustin Holewinski2011-04-282-1/+41
| | | | | | | | | | - expansion of SELECT_CC into SETCC - force SETCC result type to i1 - custom selection for handling i1 using SETCC Patch by Dan Bailey llvm-svn: 130358
* PTX: support for selectJustin Holewinski2011-04-281-0/+15
| | | | | | | | | - selection of SELP instruction - new selp.ll test Patch by Dan Bailey llvm-svn: 130357
* PTX: mov fix and rounding correction for cvtJustin Holewinski2011-04-281-18/+18
| | | | | | | | | | - fix typo in MOV - correct fp rounding on CVT - new cvt.ll test Patch by Dan Bailey llvm-svn: 130356
* PTX: support for fnegJustin Holewinski2011-04-281-0/+23
| | | | | | | | | - selection of FNEG instruction - new fneg.ll test Patch by Dan Bailey llvm-svn: 130355
* PTX: support for zext loads and trunc storesJustin Holewinski2011-04-281-1/+13
| | | | | | | | - expansion of EXTLOAD and TRUNCSTORE instructions Patch by Dan Bailey llvm-svn: 130354
* PTX: support for bitwise operations on predicatesJustin Holewinski2011-04-281-0/+8
| | | | | | | | | - selection of bitwise preds (AND, OR, XOR) - new bitwise.ll test Patch by Dan Bailey llvm-svn: 130353
* PTX: patch to AsmPrinterJustin Holewinski2011-04-281-22/+47
| | | | | | | | | - immediate value cast as long not int - handles initializer for constant array Patch by Dan Bailey llvm-svn: 130352
* Reverting r130340 in the unlikely event that it's responsible for a llvm-gcc ↵Andrew Trick2011-04-281-1/+1
| | | | | | stage2 compiler error. llvm-svn: 130350
* fast-isel sret. We actually don't need to do anything special on x86. :) ↵Eli Friedman2011-04-271-1/+0
| | | | | | rdar://problem/9303592 . llvm-svn: 130348
* Remove unnecessary argument.Rafael Espindola2011-04-275-8/+7
| | | | llvm-svn: 130343
* Rename getPersonalityPICSymbol to getCFIPersonalitySymbol, document it, andRafael Espindola2011-04-275-21/+60
| | | | | | | | | | | | | | | | | | give it a bit more responsibility. Also implement it for MachO. If hacked to use cfi, 32 bit MachO will produce .cfi_personality 155, L___gxx_personality_v0$non_lazy_ptr and 64 bit will produce .cfi_presonality ___gxx_personality_v0 The general idea is that .cfi_personality gets passed the final symbol. It is up to codegen to produce it if using indirect representation (like 32 bit MachO), but it is up to MC to decide which relocations to create. llvm-svn: 130341
* Fixes PR9730: indvars: An asserting value handle still pointed to this valueAndrew Trick2011-04-271-1/+1
| | | | | | | | | Modified LinearFunctionTestReplace to push the condition on the dead list instead of eagerly deleting it. This can cause unnecessary IV rewrites, which should have no effect on codegen and will not be an issue once we stop generating canonical IVs. llvm-svn: 130340
* Simplify handling of variables with complex address (i.e. blocks variables)Devang Patel2011-04-273-44/+32
| | | | llvm-svn: 130339
* Make the fast-isel code for literal 0.0 a bit shorter/faster, since 0.0 is ↵Eli Friedman2011-04-272-2/+47
| | | | | | common. rdar://problem/9303592 . llvm-svn: 130338
* Remove unused function.Eli Friedman2011-04-271-47/+0
| | | | llvm-svn: 130337
* Fix indentation.Rafael Espindola2011-04-271-21/+21
| | | | llvm-svn: 130331
OpenPOWER on IntegriCloud