aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-05-23revert r156383: removal of TYPE_CODE_FUNCTION_OLDNuno Lopes
Apparently LLVM only stopped emitting this after LLVM 3.0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157325 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-23Fix the inliner so that the optsize function attribute don't alter thePatrik Hägglund
inline threshold if the global inline threshold is lower (as for -Oz). Reviewed by Chandler Carruth and Bill Wendling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157323 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-23Fixed typo in r156905.Patrik Hägglund
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157320 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-23Small fix for the debug output from PBQP (PR12822).Patrik Hägglund
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157319 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-23Use zero-based shadow by default on Android.Evgeniy Stepanov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157317 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-23PR1255(case ranges) related changes in Local Transformations.Stepan Dyatkovskiy
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157315 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-23Tidy up spacing.Craig Topper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157313 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-23small refinement to r157218 to save a tiny amount of table size in the commonChris Lattner
case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157312 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-23Fix indentation of wrapped line for readability. No functional change.Craig Topper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157309 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-23Add support for C++11 enum classes in llvm.Eric Christopher
Part of rdar://11496790 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157303 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22address some of John Criswell's commentsNuno Lopes
teach computeAllocSize about realloc, reallocf, and valloc git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157298 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22ARMDisassembler.cpp: Fix utf8 char in comments.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157292 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22Untabify and 80-col.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157274 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22Formatting consistency.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157273 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22Also compute TopoSigs in synthetic register classes.Jakob Stoklund Olesen
CodeGenRegisterClass has two constructors. Both need to compute the TopoSigs BitVector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157271 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22hopefully fix the CMake build. sorry for breakageNuno Lopes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157264 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22LSR fix: add a missing phi check during IV hoisting.Andrew Trick
Fixes PR12898: SCEVExpander crash. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157263 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22add a new pass to instrument loads and stores for run-time bounds checkingNuno Lopes
move EmitGEPOffset from InstCombine to Transforms/Utils/Local.h (a draft of this) patch reviewed by Andrew, thanks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157261 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22revert my previous patches that introduced an additional parameter to the ↵Nuno Lopes
objectsize intrinsic. After a lot of discussion, we realized it's not the best option for run-time bounds checking git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157255 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22Only erase virtregs with no uses left.Jakob Stoklund Olesen
Also make sure registers aren't erased twice if the dead def mentions the register twice. This fixes PR12911. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157254 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22Fix PR12858, a crash due to GVN's PRE not fully removing an instruction from theDuncan Sands
leader table. That's because it wasn't expecting instructions to turn up as leader for a value number that is not its own, but equality propagation could create this situation. One solution is to have the leader table use a WeakVH but this slows down GVN by about 5%. Instead just have equality propagation not add instructions to the leader table, only constants and arguments. In theory this might cause GVN to run more (each time it changes something it runs again) but it doesn't seem to occur enough to cause a slow down. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157251 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22Fix constant used for pshufb mask when lowering v16i8 shuffles. Bug ↵Craig Topper
introduced in r157043. Fixes PR12908. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157236 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22This patch adds a predicate to existing mips32 and mips64 so that thoseAkira Hatanaka
instruction encodings can be excluded during mips16 processing. This revision fixes the issue raised by Jim Grosbach. bool hasStandardEncoding() const { return !inMips16Mode(); } When micromips is added it will be bool StandardEncoding() const { return !inMips16Mode()&& !inMicroMipsMode(); } No additional testing is needed other than to assure that there is no regression from this patch. Patch by Reed Kotler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157234 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-22fix the quotient returned by sdivrem() for the case when LHS is negative and ↵Nuno Lopes
RHS is positive based on a patch by Preston Briggs, with some modifications git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157231 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21FileCheck'ize test, and add a bit to test for r157221.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157222 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21ARM: .end_data_region mismatch in Thumb2.Jim Grosbach
32-bit offset jump tables just use real branch instructions and so aren't marked as data regions. We were still emitting the .end_data_region marker though, which assert()ed. rdar://11499158 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157221 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21Added address space qualifier to intrinsic PointerType arguments.Pete Cooper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157218 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21Fix use of an unitialized value in the LegalizeOps expansion for ISD::SUB. ↵Owen Anderson
No in-tree targets exercise this path. Patch by Micah Villmow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157215 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21Thumb2: RSB source register should be rGRP not GPRnopc.Jim Grosbach
t2RSB defined the operand correctly, but tRSBS didn't. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157200 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21Mark an unreachable region of code with llvm_unreachable.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157197 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21Typo.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157195 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21Make it so that the MArch, MCPU, MAttrs passed to EngineBuilder are actually ↵Owen Anderson
used. Patch by Jose Fonseca. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157191 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21test commitPatrik Hägglund
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157184 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21PR1255 (case ranges: work with ConstantRangesSet instead of ConstantInt) ↵Stepan Dyatkovskiy
related changes for Execution and Verifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157183 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21Allow 256-bit shuffles to still be split even if only half of the shuffle ↵Craig Topper
comes from two 128-bit pieces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157175 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-21Give a small negative bias to giant edge bundles.Jakob Stoklund Olesen
This helps compile time when the greedy register allocator splits live ranges in giant functions. Without the bias, we would try to grow regions through the giant edge bundles, usually to find out that the region became too big and expensive. If a live range has many uses in blocks near the giant bundle, the small negative bias doesn't make a big difference, and we still consider regions including the giant edge bundle. Giant edge bundles are usually connected to landing pads or indirect branches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157174 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Clear kill flags on the fly when joining intervals.Jakob Stoklund Olesen
With physreg joining out of the way, it is easy to recognize the instructions that need their kill flags cleared while testing for interference. This allows us to skip the final scan of all instructions for an 11% speedup of the coalescer pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157169 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Add RPO to the lexicon.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157166 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Make the global base reg GR32_NOSP.Jakob Stoklund Olesen
It can sometimes be used in addressing modes that don't support %ESP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157165 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Constrain regclasses in PeepholeOptimizer.Jakob Stoklund Olesen
It can be necessary to restrict to a sub-class before accessing sub-registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157164 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Constrain register classes in TailDup.Jakob Stoklund Olesen
When rewriting operands, make sure the new registers have a compatible register class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157163 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20When legalising shifts, do not pre-build a list of operands whichPeter Collingbourne
may be RAUW'd by the recursive call to LegalizeOps; instead, retrieve the other operands when calling UpdateNodeOperands. Fixes PR12889. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157162 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Emit memcmp directly from the StringMatcherEmitter.Benjamin Kramer
There should be no difference in the resulting binary, given a sufficiently smart compiler. However we already had compiler timeouts on the generated code in Intrinsics.gen, this hopefully makes the lives of slow buildbots a little easier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157161 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Plug a leak when using MCJIT.Benjamin Kramer
Found by valgrind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157160 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Add a missing PPC 64-bit stwu pattern.Hal Finkel
This seems to fix the remaining compile-time failures on PPC64 when compiling with -enable-ppc-preinc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157159 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Use TargetMachine's register info instead of creating a new one and leaking it.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157155 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Use the right register class for LDRrs.Jakob Stoklund Olesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157152 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Transfer memory operands to the right instruction.Jakob Stoklund Olesen
They need to go on the PICLDR as the verifier points out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157151 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Properly constrain register classes for sub-registers.Jakob Stoklund Olesen
Not all GR64 registers have sub_8bit sub-registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157150 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-20Properly constrain register classes in 2-addr.Jakob Stoklund Olesen
X86 has 2-addr instructions with different constraints on the tied def and use operands. One is GR32, one is GR32_NOSP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157149 91177308-0d34-0410-b5e6-96231b3b80d8