aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Changed Allocate to use size_t instead of unsigned.Mon P Wang2009-03-101-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66602 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an explicit keyword.Dan Gohman2009-03-101-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66595 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed rounding up EltSizeMon P Wang2009-03-101-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66594 91177308-0d34-0410-b5e6-96231b3b80d8
* Give Op<N>() AppleScript-like semantics, i.e. for negative N it indexes ↵Gabor Greif2009-03-102-16/+19
| | | | | | | | relative to op_end. This is a preliminary to changes to come. No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66593 91177308-0d34-0410-b5e6-96231b3b80d8
* Refine the Dwarf writer timers so that they measure exception writing and debugBill Wendling2009-03-101-4/+0
| | | | | | | writing individually. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66577 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a timer to the DwarfWriter pass that measures the total time it takes toBill Wendling2009-03-101-1/+5
| | | | | | | emit exception and debug Dwarf info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66571 91177308-0d34-0410-b5e6-96231b3b80d8
* PR3478: raw_ostream should not buffer stderrDaniel Dunbar2009-03-101-4/+18
| | | | | | | | - Add unbuffered flag to raw_ostream, forwarded by raw_fd_ostream and used by raw_stderr_ostream. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66545 91177308-0d34-0410-b5e6-96231b3b80d8
* Add C++ marker.Daniel Dunbar2009-03-101-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66543 91177308-0d34-0410-b5e6-96231b3b80d8
* Global variables don't have a corresponding llvm.dbg.declare, yet it is possibleTorok Edwin2009-03-101-0/+6
| | | | | | | | | to obtain debug info about them. Introduce helpers to access debug info for global variables. Also introduce a helper that works for both local and global variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66541 91177308-0d34-0410-b5e6-96231b3b80d8
* wire up support for emitting "special" values from inline asmChris Lattner2009-03-101-1/+1
| | | | | | | format strings with the standard ${:foo} syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66527 91177308-0d34-0410-b5e6-96231b3b80d8
* Add helper pass to remove llvm.dbg.declare intrinsics.Devang Patel2009-03-091-2/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66454 91177308-0d34-0410-b5e6-96231b3b80d8
* make the Op<N> methods protected, how it was intended to beGabor Greif2009-03-091-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66430 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r66415. It's causing failures during bootstrap builds:Bill Wendling2009-03-096-34/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://developer.apple.com/bugreporter> for instructions. /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~obj/src/gcc/libgcc2.c: In function '__muldi3': /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~obj/src/gcc/libgcc2.c:567: internal compiler error: Bus error Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://developer.apple.com/bugreporter> for instructions. /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~obj/src/gcc/libgcc2.c: In function '__lshrdi3': /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmgcc42.roots/llvmgcc42~obj/src/gcc/libgcc2.c:421: internal compiler error: Bus error Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://developer.apple.com/bugreporter> for instructions. make[5]: *** [libgcc/./_lshrdi3.o] Error 1 make[5]: *** Waiting for unfinished jobs.... make[5]: *** [libgcc/./_muldi3.o] Error 1 make[5]: *** [libgcc/./_negdi2.o] Error 1 --- Reverse-merging (from foreign repository) r66415 into '.': U include/llvm/BasicBlock.h U include/llvm/ADT/ilist_node.h U include/llvm/CodeGen/SelectionDAG.h U include/llvm/CodeGen/MachineFunction.h U include/llvm/CodeGen/MachineBasicBlock.h U include/llvm/Function.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66426 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a constructor for BuildVectorSDNode and revert the temporary workaroundBob Wilson2009-03-091-4/+2
| | | | | | | | | | from 66280. I was unable to verify this with gcc-3.4.6, but with gcc-3.3 it avoids the "base class with only non-default constructor in class without a constructor" warning. Apparently that warning was promoted to an error in gcc-3.4. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66424 91177308-0d34-0410-b5e6-96231b3b80d8
* in builds without asserts we do not need to allocate the Next pointer in ↵Gabor Greif2009-03-096-15/+34
| | | | | | "ghostly" sentinels git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66415 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Nick Lewycky2009-03-091-18/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66407 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove configurey-fu to autodetect hash_map and hash_set now that they areNick Lewycky2009-03-095-523/+0
| | | | | | | no longer used in LLVM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66406 91177308-0d34-0410-b5e6-96231b3b80d8
* make GlobalValue::removeDeadConstantUsers() const.Chris Lattner2009-03-091-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66403 91177308-0d34-0410-b5e6-96231b3b80d8
* reimplement AliasSetTracker in terms of DenseMap instead of hash_map,Chris Lattner2009-03-091-32/+34
| | | | | | | hopefully no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66398 91177308-0d34-0410-b5e6-96231b3b80d8
* add a #include to improve portability to windows, as requested byChris Lattner2009-03-091-0/+1
| | | | | | | someone on llvmdev. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66397 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass in a std::string when getting the names of debugging things. This cuts downBill Wendling2009-03-091-11/+31
| | | | | | | on the number of times a std::string is created and copied. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66396 91177308-0d34-0410-b5e6-96231b3b80d8
* change the MemIntrinsic get/setAlignment method to take an unsignedChris Lattner2009-03-081-6/+9
| | | | | | | instead of a Constant*, which is what the clients of it really want. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66364 91177308-0d34-0410-b5e6-96231b3b80d8
* Introduce a new MemTransferInst pseudo class, which is a commonChris Lattner2009-03-081-38/+36
| | | | | | | | parent between MemCpyInst and MemMoveInst, simplify some code to use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66361 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix misaligned whitespace. No functionality change.Nick Lewycky2009-03-081-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66355 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some duplication.Mikhail Glushenkov2009-03-071-5/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66347 91177308-0d34-0410-b5e6-96231b3b80d8
* Introduce new linkage types linkonce_odr, weak_odr, common_odrDuncan Sands2009-03-071-22/+62
| | | | | | | | | | | | | | | | | | | | | | and extern_weak_odr. These are the same as the non-odr versions, except that they indicate that the global will only be overridden by an *equivalent* global. In C, a function with weak linkage can be overridden by a function which behaves completely differently. This means that IP passes have to skip weak functions, since any deductions made from the function definition might be wrong, since the definition could be replaced by something completely different at link time. This is not allowed in C++, thanks to the ODR (One-Definition-Rule): if a function is replaced by another at link-time, then the new function must be the same as the original function. If a language knows that a function or other global can only be overridden by an equivalent global, it can give it the weak_odr linkage type, and the optimizers will understand that it is alright to make deductions based on the function body. The code generators on the other hand map weak and weak_odr linkage to the same thing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66339 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify the way how traits get hold of the symbol tableGabor Greif2009-03-073-23/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66336 91177308-0d34-0410-b5e6-96231b3b80d8
* further simplifications arising from peruse of the more declarative interfaceGabor Greif2009-03-074-7/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66333 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the burden of dealing with list offsetsGabor Greif2009-03-074-67/+25
| | | | | | | | | from SymbolTableListTraits' clients, and intead request a nice declarative interface. Cleans up an IMHO ugly wart. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66331 91177308-0d34-0410-b5e6-96231b3b80d8
* Add IRBuilder::CreateConstGEP{1, 2}_{32, 64}.Daniel Dunbar2009-03-061-4/+36
| | | | | | | - Names are lame, but it seems better to be explicit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66295 91177308-0d34-0410-b5e6-96231b3b80d8
* Add Module::getNamedValue; use to normalize access to Module symbolDaniel Dunbar2009-03-061-0/+10
| | | | | | | | table. - No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66289 91177308-0d34-0410-b5e6-96231b3b80d8
* Add default constructor to SDNode to make gcc 3.4.6 happy.Tanya Lattner2009-03-061-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66280 91177308-0d34-0410-b5e6-96231b3b80d8
* some nits noticed by DuncanChris Lattner2009-03-061-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66274 91177308-0d34-0410-b5e6-96231b3b80d8
* Sprinkle some PrettyStackEntry magic into the passmanager. With this, we nowChris Lattner2009-03-061-0/+23
| | | | | | | | | | | | | | | | | | get nice and happy stack traces when we crash in an optimizer or codegen. For example, an abort put in UnswitchLoops now looks like this: Stack dump: 0. Program arguments: clang pr3399.c -S -O3 1. <eof> parser at end of file 2. per-module optimization passes 3. Running pass 'CallGraph Pass Manager' on module 'pr3399.c'. 4. Running pass 'Loop Pass Manager' on function '@foo' 5. Running pass 'Unswitch loops' on basic block '%for.inc' Abort git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66260 91177308-0d34-0410-b5e6-96231b3b80d8
* do not close friendship with every odd classGabor Greif2009-03-062-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66229 91177308-0d34-0410-b5e6-96231b3b80d8
* Add "check/remove dbg var" helper routines.Devang Patel2009-03-061-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66223 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Nick Lewycky2009-03-051-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66157 91177308-0d34-0410-b5e6-96231b3b80d8
* ooops, forgot to include the pointless-write eliminator in my previous checkinGabor Greif2009-03-046-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66081 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some cautionary comments.Dale Johannesen2009-03-041-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66080 91177308-0d34-0410-b5e6-96231b3b80d8
* add some helper classes for building light-weight symbolic stack tracesChris Lattner2009-03-041-0/+65
| | | | | | | that get printed when a program crashes. This is the first step of many. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66076 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-commit 65975 and a fix for the problem thatDale Johannesen2009-03-041-0/+2
| | | | | | | | | was causing llvm-gcc to fail to build. I've verified it bootstraps now; good enough for me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66073 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new 'AddSignalHandler' function to Signals.h that allowsChris Lattner2009-03-041-6/+5
| | | | | | | | | | | | | | arbitrary functions to be run when a crash happens. Delete RemoveDirectoryOnSignal as it is dead and has never had clients. Change PrintStackTraceOnErrorSignal to be implemented in terms of AddSignalHandler. I updated the Win32 versions of these APIs, but can't test them. If there are any problems, I'd be happy to fix them as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66072 91177308-0d34-0410-b5e6-96231b3b80d8
* Give sentinel traits the right to determine the policy where the sentinel is ↵Gabor Greif2009-03-047-11/+71
| | | | | | | | kept. This should result in less indirect memory accesses, less dead writes and tighter code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66061 91177308-0d34-0410-b5e6-96231b3b80d8
* "Ghostify" embedded sentinels. This is a real win in all casesGabor Greif2009-03-043-9/+10
| | | | | | | | | because less bytes are allocated and subobject construction is gone. For reference how it works, see BasicBlock.h. Btw. it is very assuring to see that somebody has invented this ilist-embedded sentinel technique before me :-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66026 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporarily revert 65975, which breaks the llvm-gcc build.Dale Johannesen2009-03-041-2/+0
| | | | | | | | | | While the patch is clearly correct in itself, it's become apparent other places are assuming debug intrinsics are marked as touching memory...this needs more testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65992 91177308-0d34-0410-b5e6-96231b3b80d8
* Dbg Intrinsics do not access memory.Devang Patel2009-03-031-8/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65975 91177308-0d34-0410-b5e6-96231b3b80d8
* Make a comment less terse.Dan Gohman2009-03-031-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65953 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bunch of Doxygen syntax issues. Escape special characters,Dan Gohman2009-03-038-11/+15
| | | | | | | and put @file directives on their own comment line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65920 91177308-0d34-0410-b5e6-96231b3b80d8
* When sinking an insn in InstCombine bring its debugDale Johannesen2009-03-031-0/+5
| | | | | | | | | | info with it. Don't count debug info insns against the scan maximum in FindAvailableLoadedValue (lest they affect codegen). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65910 91177308-0d34-0410-b5e6-96231b3b80d8
* Generalize BuildVectorSDNode::isConstantSplat to use APInts and handleBob Wilson2009-03-021-7/+12
| | | | | | | | | arbitrary vector sizes. Add an optional MinSplatBits parameter to specify a minimum for the splat element size. Update the PPC target to use the revised interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@65899 91177308-0d34-0410-b5e6-96231b3b80d8