- Feb 09, 2011
-
-
Jakob Stoklund Olesen authored
The tag is updated whenever the live interval union is changed, and it is tested before using cached information. llvm-svn: 125224
-
Shantonu Sen authored
Now, Syntax is only used as a tie-breaker if the Arch matches. Previously, a request for x86_64 disassembler followed by the i386 disassembler in a single process would return the cached x86_64 disassembler. Fixes <rdar://problem/8958982> llvm-svn: 125215
-
Duncan Sands authored
llvm-svn: 125200
-
Chris Lattner authored
improve interfaces to instsimplify to take this info. llvm-svn: 125196
-
Chris Lattner authored
versions of creation functions. Eventually, the "insertion point" versions of these should just be removed, we do have IRBuilder afterall. Do a massive rewrite of much of pattern match. It is now shorter and less redundant and has several other widgets I will be using in other patches. Among other changes, m_Div is renamed to m_IDiv (since it only matches integer divides) and m_Shift is gone (it used to match all binops!!) and we now have m_LogicalShift for the one client to use. Enhance IRBuilder to have "isExact" arguments to things like CreateUDiv and reduce redundancy within IRbuilder by having these methods chain to each other more instead of duplicating code. llvm-svn: 125194
-
Chris Lattner authored
llvm-svn: 125190
-
David Greene authored
[AVX] Implement 256-bit vector lowering for INSERT_VECTOR_ELT. llvm-svn: 125187
-
Richard Osborne authored
llvm-svn: 125186
-
Nick Lewycky authored
could end up removing a different function than we intended because it was functionally equivalent, then end up with a comparison of a function against itself in the next round of comparisons (the one in the function set and the one on the deferred list). To fix this, I introduce a choice in the form of comparison for ComparableFunctions, either normal or "pointer only" used to find exact Function*'s in lookups. Also add some debugging statements. llvm-svn: 125180
-
NAKAMURA Takumi authored
AC_CHECK_FUNCS seeks a symbol only in libs. We should check the declaration in string.h. FIXME: I have never seen mingw(s) have strerror_s() (not _strerror_s()). FIXME: Autoconf/CMake may seek strerror_s() with the definition MINGW_HAS_SECURE_API in future. llvm-svn: 125172
-
NAKAMURA Takumi authored
Windows/Windows.h: Redefine _WIN32_WINNT here. mingw-w64 tends to define it as 0x0502 in its headers. llvm-svn: 125171
-
NAKAMURA Takumi authored
Windows/Program.inc: Eliminate the declaration of SetInformationJobObject(). It should be provided with _WIN32_WINNT>=0x0500. llvm-svn: 125170
-
NAKAMURA Takumi authored
llvm-svn: 125169
-
Jakob Stoklund Olesen authored
Registers are not allocated strictly in spill weight order when live range splitting and spilling has created new shorter intervals with higher spill weights. When one of the new heavy intervals conflicts with a single lighter interval, simply evict the old interval instead of trying to split the heavy one. The lighter interval is a better candidate for splitting, it has a smaller use density. llvm-svn: 125151
-
Jakob Stoklund Olesen authored
This almost guarantees that the COPY will be coalesced. llvm-svn: 125140
-
Jakob Stoklund Olesen authored
llvm-svn: 125137
-
Jakob Stoklund Olesen authored
The last split point can be anywhere in the block, so it interferes with the strictly monotonic requirements of advanceTo(). llvm-svn: 125132
-
- Feb 08, 2011
-
-
Rafael Espindola authored
MemoryBuffer::getOpenFile to not close the file descriptor. llvm-svn: 125128
-
Owen Anderson authored
Revert both r121082 (which broke a bunch of constant pool stuff) and r125074 (which worked around it). This should get us back to the old, correct behavior, though it will make the integrated assembler unhappy for the time being. llvm-svn: 125127
-
Benjamin Kramer authored
llvm-svn: 125120
-
Jakob Stoklund Olesen authored
instruction in a basic block. llvm-svn: 125116
-
Jakob Stoklund Olesen authored
This is a lot easier than trying to get kill flags right during live range splitting and rematerialization. llvm-svn: 125113
-
Jakob Stoklund Olesen authored
llvm-svn: 125109
-
Jakob Stoklund Olesen authored
The target hook doesn't know how to do that. (Neither do I). llvm-svn: 125108
-
David Greene authored
[AVX] Implement BUILD_VECTOR lowering for 256-bit vectors. For anything but the simplest of cases, lower a 256-bit BUILD_VECTOR by splitting it into 128-bit parts and recombining. llvm-svn: 125105
-
Jakob Stoklund Olesen authored
If a live range is used by a terminator instruction, and that live range needs to leave the block on the stack or in a different register, it can be necessary to have both sides of the split live at the terminator instruction. Example: %vreg2 = COPY %vreg1 JMP %vreg1 Becomes after spilling %vreg2: SPILL %vreg1 JMP %vreg1 The spill doesn't kill the register as is normally the case. llvm-svn: 125102
-
Jakob Stoklund Olesen authored
llvm-svn: 125101
-
Andrew Trick authored
Avoid using the same register for two def operands or and earlyclobber def and use operand. This fixes PR8986 and improves on the prior fix for rdar://problem/8959122. llvm-svn: 125089
-
Evan Cheng authored
t2LDRpci with t2LDRi12. There are a couple of problems with this. 1. The encoding for the literal and immediate constant are different. Note bit 7 of the literal case is 'U' so it can be negative. 2. t2LDRi12 is now narrowed to tLDRpci before constant island pass is run. So we end up never using the Thumb2 instruction, which ends up creating a lot more constant islands. llvm-svn: 125074
-
Dan Gohman authored
the active loop. This is generally desirable, and it avoids trouble in situations such as the testcase in PR9123, though the failure mode depends on use-list order, so it is infeasible to test. llvm-svn: 125065
-
Jakob Stoklund Olesen authored
After uses of a live range are removed, recompute the live range to only cover the remaining uses. This is necessary after rematerializing the value before some (but not all) uses. llvm-svn: 125058
-
- Feb 07, 2011
-
-
Benjamin Kramer authored
SimplifyCFG: Track the number of used icmps when turning a icmp chain into a switch. If we used only one icmp, don't turn it into a switch. Also prevent the switch-to-icmp transform from creating identity adds, noticed by Marius Wachtler. llvm-svn: 125056
-
Bruno Cardoso Lopes authored
llvm-svn: 125055
-
Devang Patel authored
llvm-svn: 125054
-
Bruno Cardoso Lopes authored
parsing of operands introduced in r125030. As a small note, besides using a more generic approach we can also have more descriptive output when debugging llvm-mc, example: mcr p7, #1, r5, c1, c1, #4 note: parsed instruction: ['mcr', <ARMCC::al>, <coprocessor number: 7>, 1, <register 73>, <coprocessor register: 1>, <coprocessor register: 1>, 4] llvm-svn: 125052
-
Chris Lattner authored
llvm-svn: 125047
-
David Greene authored
[AVX] Insert/extract subvector lowering support. This includes a couple of utility functions that will be used in other places for more AVX lowering. llvm-svn: 125029
-
Jason W Kim authored
llvm-svn: 125025
-
-
Bob Wilson authored
The vld1-lane, vld1-dup and vst1-lane instructions do not yet support using post-increment versions, but all the rest of the NEON load/store instructions should be handled now. llvm-svn: 125014
-