- May 08, 2012
-
-
Eric Christopher authored
Part of rdar://11352000 and should bring the buildbots back. llvm-svn: 156421
-
Jim Grosbach authored
When a combine twiddles an extract_vector, care should be take to preserve the type of the index operand. No luck extracting a reasonable testcase, unfortunately. rdar://11391009 llvm-svn: 156419
-
Eric Christopher authored
llvm-svn: 156416
-
Daniel Dunbar authored
llvm-svn: 156414
-
Sirish Pande authored
llvm-svn: 156411
-
Akira Hatanaka authored
Patch by Jack Carter. llvm-svn: 156409
-
Akira Hatanaka authored
Patch by Reed Kotler. llvm-svn: 156408
-
Eric Christopher authored
Part of rdar://11352000 llvm-svn: 156405
-
Nuno Lopes authored
I still left another fixme regarding alignment, because I'm unsure how to remove that code without breaking things llvm-svn: 156387
-
Nuno Lopes authored
remove TYPE_CODE_FUNCTION_OLD type code. it is no longer in use and it was marked for removal in 3.0 llvm-svn: 156383
-
Jakob Stoklund Olesen authored
Share the CalleeSavedRegs defs between all calling conventions having no callee-saved registers. Patch by Yiannis Tsiouris! llvm-svn: 156382
-
NAKAMURA Takumi authored
Files might be opend by system scanners (eg. file indexer, virus scanner, &c). llvm-svn: 156380
-
Duncan Sands authored
replace the operands of expressions with only one use with undef and generate a new expression for the original without using RAUW to update the original. Thus any copies of the original expression held in a vector may end up referring to some bogus value - and using a ValueHandle won't help since there is no RAUW. There is already a mechanism for getting the effect of recursion non-recursively: adding the value to be recursed on to RedoInsts. But it wasn't being used systematically. Have various places where recursion had snuck in at some point use the RedoInsts mechanism instead. Fixes PR12169. llvm-svn: 156379
-
Stepan Dyatkovskiy authored
llvm-svn: 156377
-
Craig Topper authored
llvm-svn: 156375
-
Stepan Dyatkovskiy authored
Added new case-ranges orientated methods for adding/removing cases in SwitchInst. After this patch cases will internally representated as ConstantArray-s instead of ConstantInt, externally cases wrapped within the ConstantRangesSet object. Old methods of SwitchInst are also works well, but marked as deprecated. So on this stage we have no side effects except that I added support for case ranges in BitcodeReader/Writer, of course test for Bitcode is also added. Old "switch" format is also supported. llvm-svn: 156374
-
Andrew Trick authored
llvm-svn: 156358
-
Jakob Stoklund Olesen authored
No functional change. llvm-svn: 156345
-
Jakob Stoklund Olesen authored
llvm-svn: 156342
-
Jakob Stoklund Olesen authored
At least some of them: %vreg1:sub_16bit = COPY %vreg2:sub_16bit; GR64:%vreg1, GR32: %vreg2 Previously, we couldn't figure out that the above copy could be eliminated by coalescing %vreg2 with %vreg1:sub_32bit. The new getCommonSuperRegClass() hook makes it possible. This is not very useful yet since the unmodified part of the destination register usually interferes with the source register. The coalescer needs to understand sub-register interference checking first. llvm-svn: 156334
-
Jakob Stoklund Olesen authored
The getPointerRegClass() hook can return register classes that depend on the calling convention of the current function (ptr_rc_tailcall). So far, we have been able to infer the calling convention from the subtarget alone, but as we add support for multiple calling conventions per target, that no longer works. Patch by Yiannis Tsiouris! llvm-svn: 156328
-
- May 07, 2012
-
-
Jakob Stoklund Olesen authored
Test cases for this code are coming. It is not used for anything yet. llvm-svn: 156327
-
Owen Anderson authored
llvm-svn: 156324
-
Owen Anderson authored
Teach reassociate to commute FMul's and FAdd's in order to canonicalize the order of their operands across instructions. This allows for greater CSE opportunities. llvm-svn: 156323
-
Preston Gurd authored
optional library support to the llvm-build tool: - Add new command line parameter to llvm-build: “--enable-optional-libraries” - Add handing of new llvm-build library type “OptionalLibrary” - Update Cmake and automake build systems to pass correct flags to llvm-build based on configuration Patch by Dan Malea! llvm-svn: 156319
-
Jakob Stoklund Olesen authored
This function is a generalization of getMatchingSuperRegClass() to the symmetric case where both sides are using a sub-register index. It will find a super-register class and sub-register indexes that make this diagram commute: PreA SuperRC ----------> RCA | | | | PreB | | SubA | | | | V V RCB ----------> SubRC SubB This can be used to coalesce copies like: %vreg1:sub16 = COPY %vreg2:sub16; GR64:%vreg1, GR32: %vreg2 llvm-svn: 156317
-
Chad Rosier authored
single use. rdar://11360370 llvm-svn: 156316
-
Matt Beaumont-Gay authored
Fixes a -Woverflow warning from gcc when building for 32-bit platforms. llvm-svn: 156313
-
Manman Ren authored
This patch will optimize -(x != 0) on X86 FROM cmpl $0x01,%edi sbbl %eax,%eax notl %eax TO negl %edi sbbl %eax %eax In order to generate negl, I added patterns in Target/X86/X86InstrCompiler.td: def : Pat<(X86sub_flag 0, GR32:$src), (NEG32r GR32:$src)>; rdar: 10961709 llvm-svn: 156312
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156295
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156294
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156293
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156292
-
Craig Topper authored
llvm-svn: 156287
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156285
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156284
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156283
-
Eric Christopher authored
llvm-svn: 156282
-
Craig Topper authored
llvm-svn: 156281
-
Eric Christopher authored
Patch by Jack Carter. llvm-svn: 156280
-