aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Convert the LLVM parser over to using the new Attributes::Builder to build itsBill Wendling2012-10-083-33/+40
| | | | | | | attributes objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165436 91177308-0d34-0410-b5e6-96231b3b80d8
* Give CaptureTracker::shouldExplore a base implementation. Most users want to doNick Lewycky2012-10-083-5/+3
| | | | | | | the same thing. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165435 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't crash on extra evil irreducible control flow.Jakob Stoklund Olesen2012-10-083-2/+85
| | | | | | | | | | | | | | When the CFG contains a loop with multiple entry blocks, the traces computed by MachineTraceMetrics don't always have the same nice properties. Loop back-edges are normally excluded from traces, but MachineLoopInfo doesn't recognize loops with multiple entry blocks, so those back-edges may be included. Avoid asserting when that happens by adding an isEarlierInSameTrace() function that accurately determines if a dominating block is part of the same trace AND is above the currrent block in the trace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165434 91177308-0d34-0410-b5e6-96231b3b80d8
* Begin the transition to using the AttributesImpl object for the Attributes ivar.Bill Wendling2012-10-084-84/+228
| | | | | | | | | | | | Start using the AttributesImpl object to hold the value of the attributes. All queries go through the interfaces now. This has one unfortunate consequence. I needed to move the AttributesImpl.h file into include/llvm. But this is only temporary! Otherwise, the changes needed to support this would be too large. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165433 91177308-0d34-0410-b5e6-96231b3b80d8
* Add names for the accelerator table sections so that they canEric Christopher2012-10-081-0/+12
| | | | | | be emitted if they're wanted on elf platforms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165432 91177308-0d34-0410-b5e6-96231b3b80d8
* Update comment.Eric Christopher2012-10-081-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165431 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a special path to place the .o files in.Bill Wendling2012-10-083-3/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165428 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixup comment.Eric Christopher2012-10-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165427 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixup comments.Eric Christopher2012-10-081-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165426 91177308-0d34-0410-b5e6-96231b3b80d8
* PR12716: PPC crashes on vector compareAdhemerval Zanella2012-10-084-6/+218
| | | | | | | | | | | | | | | | | | | | Vector compare using altivec 'vcmpxxx' instructions have as third argument a vector register instead of CR one, different from integer and float-point compares. This leads to a failure in code generation, where 'SelectSETCC' expects a DAG with a CR register and gets vector register instead. This patch changes the behavior by just returning a DAG with the vector compare instruction based on the type. The patch also adds a testcase for all vector types llvm defines. It also included a fix on signed 5-bits predicates printing, where signed values were not handled correctly as signed (char are unsigned by default for PowerPC). This generates 'vspltisw' (vector splat) instruction with SIM out of range. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165419 91177308-0d34-0410-b5e6-96231b3b80d8
* misched: remove the unused getSpecialAddressLatency hook.Andrew Trick2012-10-084-63/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165418 91177308-0d34-0410-b5e6-96231b3b80d8
* misched: remove forceUnitLatencies. Defaults are handled by the default ↵Andrew Trick2012-10-083-40/+30
| | | | | | SchedModel git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165417 91177308-0d34-0410-b5e6-96231b3b80d8
* misched: avoid scheduling an instruction twice.Andrew Trick2012-10-081-25/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165416 91177308-0d34-0410-b5e6-96231b3b80d8
* PowerPC: Fix object creation with PPC::MTCRF8 instructionAdhemerval Zanella2012-10-081-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165411 91177308-0d34-0410-b5e6-96231b3b80d8
* Add floating-point to and from integer conversionAdhemerval Zanella2012-10-083-0/+93
| | | | | | | | This patch add altivec support for v4i32 to v4f32 and for v4f32 to v4i32 vector rounding conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165409 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the ocaml binding breakage from TargetData -> DataLayout changes.Micah Villmow2012-10-081-19/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165406 91177308-0d34-0410-b5e6-96231b3b80d8
* Move TargetData to DataLayout.Micah Villmow2012-10-081-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165404 91177308-0d34-0410-b5e6-96231b3b80d8
* Move TargetData to DataLayout.Micah Villmow2012-10-0832-157/+157
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165403 91177308-0d34-0410-b5e6-96231b3b80d8
* Move TargetData to DataLayout.Micah Villmow2012-10-08229-1000/+947
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165402 91177308-0d34-0410-b5e6-96231b3b80d8
* Move TargetData to DataLayout.Micah Villmow2012-10-089-14/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165401 91177308-0d34-0410-b5e6-96231b3b80d8
* Some regression tests which are testing the old jit and are exercising ↵James Molloy2012-10-084-1/+17
| | | | | | | | | | functionality which is both known to be broken and not expected to be fixed in the old jit. To remove these from the regression test output, I've marked them XFAIL (for lit tests) and ifdef'd them out (unit tests). These modifications remove the last long-standing regression test failures from the buildbots (though updating the triple to reflect new ubuntu configuration has temporarily caused some new failures). Tested on x86-64 and ARM Linux. Patch by David Tweed! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165390 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused MachineInstr constructors that don't take a DebugLoc argument.Craig Topper2012-10-072-45/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165382 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix indentation. Remove 'else' after return. No functional change.Craig Topper2012-10-071-11/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165381 91177308-0d34-0410-b5e6-96231b3b80d8
* Silence Sphinx warnings.Sean Silva2012-10-071-4/+4
| | | | | | | Found the fix on this page: http://permalink.gmane.org/gmane.comp.python.sphinx.devel/112 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165380 91177308-0d34-0410-b5e6-96231b3b80d8
* X86: fcmov doesn't handle all possible EFLAGS, fall back to a branch for the ↵Benjamin Kramer2012-10-072-1/+459
| | | | | | | | | others. Otherwise it will try to use SSE patterns and fail horribly if sse is disabled. Fixes PR14035. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165377 91177308-0d34-0410-b5e6-96231b3b80d8
* Move more methods out-of-line. This is in preparation for changing the internalBill Wendling2012-10-072-26/+41
| | | | | | | contents of the Attributes class over to an AttributesImpl. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165373 91177308-0d34-0410-b5e6-96231b3b80d8
* Sphinxify the GettinStarted documentation.Bill Wendling2012-10-073-1761/+1306
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165372 91177308-0d34-0410-b5e6-96231b3b80d8
* Sphinxify the ExtendingLLVM documentation.Bill Wendling2012-10-073-381/+309
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165371 91177308-0d34-0410-b5e6-96231b3b80d8
* Sphinxify the compiler writer info documentation.Bill Wendling2012-10-073-267/+123
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165369 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure always-inline functions get inlined. <rdar://problem/12423986>Bob Wilson2012-10-071-1/+3
| | | | | | | | | | | | | | | | Without this change, when the estimated cost for inlining a function with an "alwaysinline" attribute was lower than the inlining threshold, the getInlineCost function was returning that estimated cost rather than the special InlineCost::AlwaysInlineCost value. That is fine in the normal inlining case, but it can fail when the inliner considers the opportunity cost of inlining into an internal or linkonce-odr function. It may decide not to inline the always-inline function in that case. The fix here is just to make getInlineCost always return the special value for always-inline functions. I ran into this building clang with libc++. Tablegen failed to link because of an always-inline function that was not inlined. I have been unable to reduce the testcase down to a reasonable size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165367 91177308-0d34-0410-b5e6-96231b3b80d8
* Document MapVector.Rafael Espindola2012-10-071-0/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165366 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding support for instructions mfc0, mfc2, mtc0, mtc2Jack Carter2012-10-063-0/+54
| | | | | | | | | move from and to coprocessors 0 and 2. Contributer: Vladimir Medic git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165351 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor changes based on post commit review:Jack Carter2012-10-061-29/+30
| | | | | | | Contributer: Vladimir Medic git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165350 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor changes based on post commit review:Jack Carter2012-10-051-13/+12
| | | | | | | Contributer: Vladimir Medic git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165346 91177308-0d34-0410-b5e6-96231b3b80d8
* This patch splits apart PPCISelLowering::LowerFormalArguments_Darwin_Or_64SVR4Bill Schmidt2012-10-052-25/+309
| | | | | | | | into separate versions for the Darwin and 64-bit SVR4 ABIs. This will facilitate doing more major surgery on the 64-bit SVR4 ABI in the near future. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165336 91177308-0d34-0410-b5e6-96231b3b80d8
* HowToSetUpLLVMStyleRTTI.rst: remove unneeded semicolons in code examples.Dmitri Gribenko2012-10-051-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165335 91177308-0d34-0410-b5e6-96231b3b80d8
* GoldPlugin.rst: minor typesetting fixes.Dmitri Gribenko2012-10-051-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165334 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unused but set variable flagged by GCC.Benjamin Kramer2012-10-051-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165331 91177308-0d34-0410-b5e6-96231b3b80d8
* [ms-inline asm] Add a comment describing the MapAndConstraints.Chad Rosier2012-10-051-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165326 91177308-0d34-0410-b5e6-96231b3b80d8
* [ms-inline asm] Add a few typedefs to simplify future changes.Chad Rosier2012-10-056-19/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165324 91177308-0d34-0410-b5e6-96231b3b80d8
* Patch for integer multiply, signed/unsigned, long/long long.Reed Kotler2012-10-056-17/+163
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165322 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify code, don't or a bool with an uint64_t.Benjamin Kramer2012-10-051-2/+2
| | | | | | No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165321 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove empty file.Benjamin Kramer2012-10-051-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165320 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove extraneous semicolon.Chad Rosier2012-10-051-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165319 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement TargetData with the DataLayout class, this will allow LLVM ↵Micah Villmow2012-10-056-993/+16
| | | | | | projects to transition to DataLayout without loosing functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165318 91177308-0d34-0410-b5e6-96231b3b80d8
* Add ELF program header.Hemant Kulkarni2012-10-051-0/+29
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165316 91177308-0d34-0410-b5e6-96231b3b80d8
* - Mark the BCC and BLR defs as isCodeGenOnly per error output fromWill Schmidt2012-10-051-5/+6
| | | | | | | | | | | | | llvm-tblgen -gen-asm-matcher. PPCInstrInfo.td | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165315 91177308-0d34-0410-b5e6-96231b3b80d8
* Add PowerPC64 definitions for ELF.hAdhemerval Zanella2012-10-051-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165314 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable llvm/test/ExecutionEngine/MCJIT also for cygwin.NAKAMURA Takumi2012-10-052-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165313 91177308-0d34-0410-b5e6-96231b3b80d8
* lli: [MCJIT] Suppress "__main" for cygming in ↵NAKAMURA Takumi2012-10-051-0/+12
| | | | | | | | LLIMCJITMemoryManager::getPointerToNamedFunction(), like legacy JITMemoryManager's. CRT's __main (aka premain) invokes global ctors on cygming. See also PR3897. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165312 91177308-0d34-0410-b5e6-96231b3b80d8