- Feb 10, 2011
-
-
Evan Cheng authored
After 3-addressifying a two-address instruction, update the register maps; add a missing check when considering whether it's profitable to commute. rdar://8977508. llvm-svn: 125259
-
Eric Christopher authored
llvm-svn: 125257
-
Cameron Zwarich authored
Natural Loop Information Loop Pass Manager Canonicalize natural loops Scalar Evolution Analysis Loop Pass Manager Induction Variable Users Canonicalize natural loops Induction Variable Users Loop Strength Reduction into this: Scalar Evolution Analysis Loop Pass Manager Canonicalize natural loops Induction Variable Users Loop Strength Reduction This fixes <rdar://problem/8869639>. I also filed PR9184 on doing this sort of thing automatically, but it seems easier to just change the ordering of the passes if this is the only case. llvm-svn: 125254
-
Jakob Stoklund Olesen authored
Loop splitting is better handled by the more generic global region splitting based on the edge bundle graph. llvm-svn: 125243
-
Douglas Gregor authored
I have another way to achieve the same goal. llvm-svn: 125239
-
Jakob Stoklund Olesen authored
llvm-svn: 125238
-
Jakob Stoklund Olesen authored
This fixes a bug where splitSingleBlocks() could split a live range after a terminator instruction. llvm-svn: 125237
-
Cameron Zwarich authored
llvm-svn: 125236
-
- Feb 09, 2011
-
-
Mikhail Glushenkov authored
llvm-svn: 125232
-
Jakob Stoklund Olesen authored
No functional changes intended. llvm-svn: 125231
-
Douglas Gregor authored
name of a path, after resolving symbolic links and eliminating excess path elements such as "foo/../" and "./". This routine still needs a Windows implementation, but I don't have a Windows machine available. Help? Please? llvm-svn: 125228
-
Jakob Stoklund Olesen authored
llvm-svn: 125226
-
Jakob Stoklund Olesen authored
llvm-svn: 125225
-
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
-