summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Make the header self-contained and follow #include guidelines.John McCall2010-07-293-43/+52
| | | | llvm-svn: 109774
* PR7750: !CExpr->isNullValue() only properly computes whether CExpr is nonnullEli Friedman2010-07-291-1/+1
| | | | | | if CExpr is a ConstantInt. llvm-svn: 109773
* Make un-named values legible in certain vim configurations.Owen Anderson2010-07-291-2/+2
| | | | llvm-svn: 109772
* Add intrinsics __builtin_arm_qadd & __builtin_arm_qsub to allow access to ↵Nate Begeman2010-07-293-9/+25
| | | | | | | | the QADD & QSUB instructions. Behave identically to __qadd & __qsub RealView instruction intrinsics. llvm-svn: 109770
* Switch to using the LLVM CommandLine library so that our helpJohn McCall2010-07-291-39/+31
| | | | | | | message is properly contaminated with nonsense about timing passes that doesn't apply at all to this utility. :) llvm-svn: 109769
* Plug the remaining MC leaks by giving MCObjectStreamer/MCAsmStreamer ↵Benjamin Kramer2010-07-296-15/+18
| | | | | | ownership of the TargetAsmBackend and the MCCodeEmitter. llvm-svn: 109767
* Comment typo.Dale Johannesen2010-07-291-1/+1
| | | | llvm-svn: 109765
* Revert r109652, and remove the offending assert in loadRegFromStackSlot instead.Jakob Stoklund Olesen2010-07-292-6/+1
| | | | | | | | | | | | We do sometimes load from a too small stack slot when dealing with x86 arguments (varargs and smaller-than-32-bit args). It looks like we know what we are doing in those cases, so I am going to remove the assert instead of artifically enlarging stack slot sizes. The assert in storeRegToStackSlot stays in. We don't want to write beyond the bounds of a stack slot. llvm-svn: 109764
* CrashRecovery: Use ThreadLocal::erase() instead of set(0).Daniel Dunbar2010-07-291-1/+1
| | | | llvm-svn: 109752
* Make the test while reducing blocks functional. This avoids accessing freedRafael Espindola2010-07-291-4/+22
| | | | | | memory when one of the original BB is destroyed. llvm-svn: 109747
* Stop leaking std::strings in GetDwarfFile.Benjamin Kramer2010-07-293-13/+14
| | | | llvm-svn: 109746
* COFFObjectWriter: Don't leak COFFSymbols and COFFSections.Benjamin Kramer2010-07-291-0/+8
| | | | llvm-svn: 109745
* Centralize the logic to permanently unify two instructions and make sureJohn McCall2010-07-291-20/+30
| | | | | | | it establishes a context and does a complaining diff. Also make sure we unify the prelude and postlude of a diff after a block-diff call. llvm-svn: 109744
* Diagnose non-structural differences in the case where blocks wereJohn McCall2010-07-291-5/+16
| | | | | | structurally identical. llvm-svn: 109743
* When unifying instructions during a block diff, actually complain aboutJohn McCall2010-07-291-1/+1
| | | | | | | | any differences we see. This should only happen if there are "non-structural" differences between the instructions, i.e. differences which wouldn't cause diff to return true. llvm-svn: 109742
* Somehow I was getting reasonable results for the test cases I was interestedJohn McCall2010-07-291-14/+38
| | | | | | | | | | | in despite not ever incrementing any path costs, so that the only nonzero costs arose from the all-left path in the first column. Anyway. Perform the diff starting from the beginning of the block to avoid capturing (say) loads of allocas. Vastly improves diff results on code that hasn't been mem2reg'ed. llvm-svn: 109741
* Cache the result of errs() and implement formatted logging.John McCall2010-07-292-37/+58
| | | | llvm-svn: 109740
* Add the llvm-diff tool, which performs a relatively naive structuralJohn McCall2010-07-295-0/+1095
| | | | | | | | | | | | diff of a function. There's a lot of cruft in the current version, and it's pretty far from perfect, but it's usable. Currently only capable of comparing functions. Currently ignores metadata. Currently ignores most attributes of functions and instructions. Patches welcome. llvm-svn: 109739
* Make sure to include config.h, to pickup LLVM_ON_WIN32.Daniel Dunbar2010-07-291-0/+1
| | | | llvm-svn: 109721
* MC: Destroy Macro instances.Daniel Dunbar2010-07-291-0/+7
| | | | llvm-svn: 109720
* Speculatively revert r109705 since it seems to be causing some build botEric Christopher2010-07-296-162/+33
| | | | | | angst. llvm-svn: 109718
* CrashRecoveryContext: Add a simple POSIX implementation.Daniel Dunbar2010-07-291-1/+102
| | | | | | | | - This works, but won't handle crashes on stack overflow, or signals delivered to a thread other than the one that crashed. The latter is particular annoying on Darwin, because SIGABRT tends to go to the main thread. llvm-svn: 109717
* Fix a bug in the -regalloc=fast handling of exotic two-address instruction withJakob Stoklund Olesen2010-07-291-3/+11
| | | | | | | | | | | | | | | | | multiple defs, like t2LDRSB_POST. The first def could accidentally steal the physreg that the second, tied def was required to be allocated to. Now, the tied use-def is treated more like an early clobber, and the physreg is reserved before allocating the other defs. This would never be a problem when the tied def was the only def which is the usual case. This fixes MallocBench/gs for thumb2 -O0. llvm-svn: 109715
* Use the right gcc tool args for IsARMArchitecture.Jakob Stoklund Olesen2010-07-291-3/+3
| | | | llvm-svn: 109714
* Factor out some of the code for updating old SCEVUnknown values, andDan Gohman2010-07-296-33/+162
| | | | | | | | | extend it to handle the case where multiple RAUWs affect a single SCEVUnknown. Add a ScalarEvolution unittest to test for this situation. llvm-svn: 109705
* Pass the queried value by argument rather than in a member, in preparation ↵Owen Anderson2010-07-281-36/+25
| | | | | | for supporting PHI translation. llvm-svn: 109701
* ARM mode version of r109693. Remove incorrect substitution pattern for ↵Jim Grosbach2010-07-281-2/+6
| | | | | | UXTB16. It wrongly assumed the input shift was actually a rotate. rdar://8240138 llvm-svn: 109696
* Remove incorrect substitution pattern for UXTB16. It wrongly assumed the ↵Jim Grosbach2010-07-281-2/+6
| | | | | | input shift was actually a rotate. rdar://8240138 llvm-svn: 109693
* Remove dead prototypeJim Grosbach2010-07-281-1/+0
| | | | llvm-svn: 109691
* simplify by using CallSite constructors; virtually eliminates CallSite::get ↵Gabor Greif2010-07-289-26/+26
| | | | | | from the tree llvm-svn: 109687
* Add an erase() method to llvm::ThreadLocal.Owen Anderson2010-07-284-0/+13
| | | | llvm-svn: 109686
* Add more doxygen comments for llvm::ThreadLocal.Owen Anderson2010-07-281-0/+9
| | | | llvm-svn: 109683
* Get rid of LVIQuery as a distinct data structure, so that we don't have to ↵Owen Anderson2010-07-281-93/+66
| | | | | | initialize a new set of maps on every query. llvm-svn: 109679
* Move MaximumAlignment to Value.h, now that GlobalValue.h needs it.Dan Gohman2010-07-282-4/+4
| | | | llvm-svn: 109656
* Make GlobalValue alignment consistent with load, store, and allocaDan Gohman2010-07-283-5/+13
| | | | | | alignment, fixing silent truncation of alignment values. llvm-svn: 109653
* Create a fixed stack object for varargs that is as large as any register.Jakob Stoklund Olesen2010-07-281-1/+4
| | | | | | | | | | The size of this object isn't used for anything - technically it is of variable size. This avoids a false positive from the assert in X86InstrInfo::loadRegFromStackSlot, and fixes PR7735. llvm-svn: 109652
* Added first bit of support for the dwarf .file directive. This patch collectsKevin Enderby2010-07-286-1/+178
| | | | | | | the info from the .file directive and makes file and directory tables that will eventually be put out as part of the dwarf info in the output file. llvm-svn: 109651
* RegionInfo: Make sure to free cached nodes; Tobias, please check!Daniel Dunbar2010-07-281-0/+5
| | | | llvm-svn: 109650
* MC: Put back the MCFragment vtable, so subclasses are destroyed properly (duh).Daniel Dunbar2010-07-282-0/+4
| | | | llvm-svn: 109649
* Regenerate.Eric Christopher2010-07-281-0/+12
| | | | llvm-svn: 109647
* Use a C++ compiler for the atomic builtin check since we'llEric Christopher2010-07-281-0/+4
| | | | | | | | be using a C++ compiler to build. Patch by Török Edwin! llvm-svn: 109646
* Define a maximum supported alignment value for load, store, andDan Gohman2010-07-288-1/+46
| | | | | | | | | alloca instructions (constrained by their internal encoding), and add error checking for it. Fix an instcombine bug which generated huge alignment values (null is infinitely aligned). This fixes undefined behavior noticed by John Regehr. llvm-svn: 109643
* Print out the regclass of any virtual registers used by a machine instruction.Jakob Stoklund Olesen2010-07-281-0/+31
| | | | llvm-svn: 109608
* Fix a warning from gcc-4.0 (from the ppc buildbot).Bob Wilson2010-07-281-0/+2
| | | | llvm-svn: 109605
* Instead of abusing swapProgramIn, just add a Module argument toRafael Espindola2010-07-285-36/+28
| | | | | | EmitProgressBitcode. llvm-svn: 109602
* Unbreak my CMake build, say you'll compile for me again...Douglas Gregor2010-07-281-0/+1
| | | | llvm-svn: 109598
* Fix this code to avoid decrementing an iterator past the beginningDan Gohman2010-07-281-5/+2
| | | | | | of a std::vector. llvm-svn: 109597
* When user code intentionally dereferences null, the alignment of theDan Gohman2010-07-281-2/+7
| | | | | | | dereference is theoretically infinite. Put a cap on the computed alignment to avoid overflow, noticed by John Regehr. llvm-svn: 109596
* Do GEP offset calculations with unsigned math rather than signed mathDan Gohman2010-07-281-1/+1
| | | | | | to avoid undefined behavior on overflow, noticed by John Regehr. llvm-svn: 109594
* Add some extra friend declarations to fix a gcc-4.0 compile error.Dan Gohman2010-07-282-0/+3
| | | | | | This is a temporary fix, until more elaborate changes are ready. llvm-svn: 109593
OpenPOWER on IntegriCloud