summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Add basic test exposing many bugs.Jakob Stoklund Olesen2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121995 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix MBlaze backend call instructions so that arguments passed through registersWesley Peck2010-12-16
| | | | | | | | are correctly marked as used. This removes a hack where the call instructions marked all possible argument registers as used in the tablegen description. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121994 91177308-0d34-0410-b5e6-96231b3b80d8
* Pseudo-ize the Thumb1 tBfar pattern. rdar://8777974Jim Grosbach2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121990 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/Expr: Add a doxyment.Daniel Dunbar2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121988 91177308-0d34-0410-b5e6-96231b3b80d8
* Oops, didn't mean to ignore .gitignore.Daniel Dunbar2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121985 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/Mach-O: Lift some MachObjectWriter arguments into the target specificDaniel Dunbar2010-12-16
| | | | | | interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121981 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-dis: Simplify MemoryBuffer usage.Michael J. Spencer2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121975 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix whitespace.Michael J. Spencer2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121974 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/Mach-O: Stub out explicit MCMachObjectTargetWriter interface.Daniel Dunbar2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121973 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix indentation (per style guide).Daniel Dunbar2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121972 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/Mach-O: Move createMachObjectWriter into MCMachObjectWriter.h.Daniel Dunbar2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121971 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/Mach-O: Use fixup info instead of hard coded list.Daniel Dunbar2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121970 91177308-0d34-0410-b5e6-96231b3b80d8
* build: Fix ONLY_TOOLS to not build lto etc. unless specified.Daniel Dunbar2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121969 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some more .gitignore entries.Daniel Dunbar2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121968 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in the loop in JumpThreading::ProcessThreadableEdges() where it ↵Frits van Bommel2010-12-16
| | | | | | | | | could falsely produce a MultipleDestSentinel value if the first predecessor ended with an 'indirectbr'. If that happened, it caused an unnecessary FindMostPopularDest() call. This wasn't a correctness problem, but it broke the fast path for single-predecessor blocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121966 91177308-0d34-0410-b5e6-96231b3b80d8
* Speculatively revert commit 121905 since it looks like it might have broken theDuncan Sands2010-12-16
| | | | | | | | | | | | dragonegg self-host buildbot. Original commit message: Add an InstCombine transform to recognize instances of manual overflow-safe addition (performing the addition in a wider type and explicitly checking for overflow), and fold them down to intrinsics. This currently only supports signed-addition, but could be generalized if someone works out the magic constant formulas for other operations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121965 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some compiler warnings.Daniel Dunbar2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121959 91177308-0d34-0410-b5e6-96231b3b80d8
* MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> ↵Michael J. Spencer2010-12-16
| | | | | | via an out parm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121958 91177308-0d34-0410-b5e6-96231b3b80d8
* Add .gitignore. I chose not to dump the svn ignore list into this because mostMichael J. Spencer2010-12-16
| | | | | | of the entries there are useless for out of source builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121955 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Move target specific fixup info descriptors to TargetAsmBackend instead ofDaniel Dunbar2010-12-16
| | | | | | | the MCCodeEmitter, which seems like a better organization. - Also, cleaned up some magic constants while in the area. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121953 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. ARM/MC/ELF: A few more ELF relocs for .oJason W Kim2010-12-16
| | | | | | | | | 2. Fixed EmitLocalCommonSymbol for ELF (Yes, they exist. :) Test added. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121951 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Make TargetAsmBackend available to the AsmStreamer.Daniel Dunbar2010-12-16
| | | | | | - Treaty talks on the non-proliferation of MC objects broke down. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121949 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Split MCFixupKindInfo out into its own header.Daniel Dunbar2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121948 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Remove a FIXME I no longer agree with.Daniel Dunbar2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121947 91177308-0d34-0410-b5e6-96231b3b80d8
* Update a comment.Dan Gohman2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121946 91177308-0d34-0410-b5e6-96231b3b80d8
* -enable-tbaa is on by default now.Dan Gohman2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121945 91177308-0d34-0410-b5e6-96231b3b80d8
* Make memcpyopt TBAA-aware.Dan Gohman2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121944 91177308-0d34-0410-b5e6-96231b3b80d8
* lib/Support/regexec.c: Let Regex LLP64-aware.NAKAMURA Takumi2010-12-16
| | | | | | On LLP64 Win64, 'states1' (for small version) was expanded to 'char *' for large version. Thus small version would be mischosen when nstates > 32 regardless of sizeof(long) on Win64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121942 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete an extra "Imm5 = ", caught by GCC's -Wsequence-point but not by ClangMatt Beaumont-Gay2010-12-16
| | | | | | | | (see PR4579). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121939 91177308-0d34-0410-b5e6-96231b3b80d8
* Add IntervalMapOverlaps - An iterator for overlapping intervals in twoJakob Stoklund Olesen2010-12-16
| | | | | | | | | | | IntervalMaps. The IntervalMaps can have different template parameters, but the KeyT and Traits types must be the same. Tests are forthcoming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121935 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove fixup_arm_thumb_ldst. The code was never calling the "fixup" stuff forBill Wendling2010-12-16
| | | | | | | it. I.e., it was always an immediate value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121932 91177308-0d34-0410-b5e6-96231b3b80d8
* Add tSpill and tRestore to the opcodes to replace with tSTRi and tLDRiBill Wendling2010-12-16
| | | | | | | | | | respectively. It may be a bug that these opcodes are getting this far into machine code generation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121931 91177308-0d34-0410-b5e6-96231b3b80d8
* Add encodings for Thumb1 Spill and Restore pseudos.Bill Wendling2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121929 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix elf-dump --dump-section-data for .bss sectionJason W Kim2010-12-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121927 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable TBAA by default.Dan Gohman2010-12-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121923 91177308-0d34-0410-b5e6-96231b3b80d8
* Preserve TBAA tags when doing load PRE.Dan Gohman2010-12-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121921 91177308-0d34-0410-b5e6-96231b3b80d8
* Thumb1 had two patterns for the same load-from-constant-pool instruction.Jim Grosbach2010-12-15
| | | | | | Canonicalize on tLDRpci and remove tLDRcp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121920 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't handle -arm-long-calls in fast isel for now.Eric Christopher2010-12-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121919 91177308-0d34-0410-b5e6-96231b3b80d8
* Start using SplitKit and MachineLoopRanges in RegAllocGreedy in preparation ofJakob Stoklund Olesen2010-12-15
| | | | | | | | live range splitting around loops guided by register pressure. So far, trySplit() simply prints a lot of debug output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121918 91177308-0d34-0410-b5e6-96231b3b80d8
* Add MachineLoopRanges analysis.Jakob Stoklund Olesen2010-12-15
| | | | | | | | A MachineLoopRange contains the intervals of slot indexes covered by the blocks in a loop. This representation of the loop blocks is more efficient to compare against interfering registers during register coalescing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121917 91177308-0d34-0410-b5e6-96231b3b80d8
* If we're changing the frame register to a physical register other than SP, weBill Wendling2010-12-15
| | | | | | | need to use tLDRi and tSTRi instead of tLDRspi and tSTRspi respectively. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121915 91177308-0d34-0410-b5e6-96231b3b80d8
* Whitespace cleanups.Bill Wendling2010-12-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121914 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach the Neon intrinsic generator to widen half-precision float types.Bob Wilson2010-12-15
| | | | | | | This isn't currently used for anything but I ran into it when experimenting with some changes, and it might be useful in the future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121911 91177308-0d34-0410-b5e6-96231b3b80d8
* Better fix for opt buildMatt Beaumont-Gay2010-12-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121910 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo that Bill spotted.Dan Gohman2010-12-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121909 91177308-0d34-0410-b5e6-96231b3b80d8
* Only rr forms of ADD*_DB are commutable.Evan Cheng2010-12-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121908 91177308-0d34-0410-b5e6-96231b3b80d8
* Typo.Rafael Espindola2010-12-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121906 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an InstCombine transform to recognize instances of manual overflow-safe ↵Owen Anderson2010-12-15
| | | | | | | | | | | | | addition (performing the addition in a wider type and explicitly checking for overflow), and fold them down to intrinsics. This currently only supports signed-addition, but could be generalized if someone works out the magic constant formulas for other operations. Fixes <rdar://problem/8558713>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121905 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix opt -Werror buildMatt Beaumont-Gay2010-12-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121904 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach machine cse to commute instructions.Evan Cheng2010-12-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121903 91177308-0d34-0410-b5e6-96231b3b80d8