oota-llvm.git
14 years agoMake promotion in operation legalization for SETCC work correctly.
Eli Friedman [Fri, 17 Jul 2009 05:16:04 +0000 (05:16 +0000)]
Make promotion in operation legalization for SETCC work correctly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76153 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoReplace isTrapping with a new, similar method called
Eli Friedman [Fri, 17 Jul 2009 04:28:42 +0000 (04:28 +0000)]
Replace isTrapping with a new, similar method called
isSafeToSpeculativelyExecute. The new method is a bit closer to what
the callers actually care about in that it rejects more things callers
don't want.  It also adds more precise handling for integer
division, and unifies code for analyzing the legality of a speculative
load.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76150 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoOne more operation expansion for MIPS, from test/CodeGen/Generic.
Eli Friedman [Fri, 17 Jul 2009 04:07:24 +0000 (04:07 +0000)]
One more operation expansion for MIPS, from test/CodeGen/Generic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76149 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMake sure CWriter's Context get's initialized.
Daniel Dunbar [Fri, 17 Jul 2009 03:43:21 +0000 (03:43 +0000)]
Make sure CWriter's Context get's initialized.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76147 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoExpand a bunch of illegal operations on MIPS (found by
Eli Friedman [Fri, 17 Jul 2009 02:28:12 +0000 (02:28 +0000)]
Expand a bunch of illegal operations on MIPS (found by
inspection and running over CodeGen/Generic).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76146 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix 'may be used uninitialized' warning.
Daniel Dunbar [Fri, 17 Jul 2009 02:19:26 +0000 (02:19 +0000)]
Fix 'may be used uninitialized' warning.
 - Anton, please review.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76144 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd the private keyword to the polygen grammar.
Dan Gohman [Fri, 17 Jul 2009 01:07:45 +0000 (01:07 +0000)]
Add the private keyword to the polygen grammar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76135 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd the private keyword to the VIM syntax highlighting.
Dan Gohman [Fri, 17 Jul 2009 01:06:53 +0000 (01:06 +0000)]
Add the private keyword to the VIM syntax highlighting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76134 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix my brain cramp by inverting the assertion condition.
Evan Cheng [Fri, 17 Jul 2009 00:32:06 +0000 (00:32 +0000)]
Fix my brain cramp by inverting the assertion condition.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76131 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix "no newline at end of file" warning from gcc.
Jeffrey Yasskin [Thu, 16 Jul 2009 23:58:14 +0000 (23:58 +0000)]
Fix "no newline at end of file" warning from gcc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76127 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPrivatize the MDNode uniquing table.
Owen Anderson [Thu, 16 Jul 2009 23:44:30 +0000 (23:44 +0000)]
Privatize the MDNode uniquing table.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76126 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoEmit cross regclass register moves for thumb2.
Anton Korobeynikov [Thu, 16 Jul 2009 23:26:06 +0000 (23:26 +0000)]
Emit cross regclass register moves for thumb2.
Minor code duplication cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76124 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDisable this assert for now, it is firing on an llvm-gcc bootstrap. :(
Daniel Dunbar [Thu, 16 Jul 2009 23:02:46 +0000 (23:02 +0000)]
Disable this assert for now, it is firing on an llvm-gcc bootstrap. :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76123 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd new flags '-test-cflags' and '-test-cxxflags' to pass in flags directly to the...
Bill Wendling [Thu, 16 Jul 2009 22:59:17 +0000 (22:59 +0000)]
Add new flags '-test-cflags' and '-test-cxxflags' to pass in flags directly to the llvm testsuite.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76122 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoGV with ghost linkage (module being lazily streamed in in JIT lazy compilation mode...
Evan Cheng [Thu, 16 Jul 2009 22:53:10 +0000 (22:53 +0000)]
GV with ghost linkage (module being lazily streamed in in JIT lazy compilation mode) do not require extra load from stub. This fixes ExecutionEngine/2005-12-02-TailCallBug.ll.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76121 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAssume an inline asm might be a call, so we get
Dale Johannesen [Thu, 16 Jul 2009 22:34:45 +0000 (22:34 +0000)]
Assume an inline asm might be a call, so we get
stack alignment right when it is.  This is not
ideal but conservatively correct.  Adjust a test
to compensate for changed stack offset value.
gcc.apple/asm-block-57.c

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76120 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoEmit line numbers in asm comments when available.
David Greene [Thu, 16 Jul 2009 22:24:20 +0000 (22:24 +0000)]
Emit line numbers in asm comments when available.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76117 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPrivatize the MDString uniquing table.
Owen Anderson [Thu, 16 Jul 2009 22:11:26 +0000 (22:11 +0000)]
Privatize the MDString uniquing table.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76113 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix inverted preprocessor conditional.
Daniel Dunbar [Thu, 16 Jul 2009 22:08:25 +0000 (22:08 +0000)]
Fix inverted preprocessor conditional.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76111 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix compiler warning (for -Asserts).
Daniel Dunbar [Thu, 16 Jul 2009 22:06:22 +0000 (22:06 +0000)]
Fix compiler warning (for -Asserts).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76110 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSilence warning in Linux builds:
Jakob Stoklund Olesen [Thu, 16 Jul 2009 21:24:13 +0000 (21:24 +0000)]
Silence warning in Linux builds:

X86InstrInfo.cpp:2272: warning: suggest explicit braces to avoid ambiguous 'else'

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76105 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd raw_null_ostream and llvm::nulls(), a raw_ostream that discards output.
Daniel Dunbar [Thu, 16 Jul 2009 21:17:53 +0000 (21:17 +0000)]
Add raw_null_ostream and llvm::nulls(), a raw_ostream that discards output.
 - No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76103 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd line numbers to OProfile. To do this, I added a processDebugLoc()
Jeffrey Yasskin [Thu, 16 Jul 2009 21:07:26 +0000 (21:07 +0000)]
Add line numbers to OProfile. To do this, I added a processDebugLoc()
call to the MachineCodeEmitter interface and made copying the start
line of a function not conditional on whether we're emitting Dwarf
debug information. I'll propagate the processDebugLoc() calls to the
non-X86 targets in a followup patch.

In the long run, it'll probably be better to gather this information
through the DwarfWriter, but the DwarfWriter currently depends on the
AsmPrinter and TargetAsmInfo, and fixing that would be out of the way
for this patch.

There's a bug in OProfile 0.9.4 that makes it ignore line numbers for
addresses above 4G, and a patch fixing it at
http://thread.gmane.org/gmane.linux.oprofile/7634

Sample output:

$ sudo opcontrol --reset; sudo opcontrol --start-daemon; sudo opcontrol --start; `pwd`/Debug/bin/lli fib.bc; sudo opcontrol --stop
Signalling daemon... done
Profiler running.
fib(40) == 165580141
Stopping profiling.

$ opreport -g -d -l `pwd`/Debug/bin/lli|head -60
Overflow stats not available
CPU: Core 2, speed 1998 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 100000
vma      samples  %        linenr info                 image name               symbol name
00007f67a30370b0 25489    61.2554  fib.c:24                    10946.jo                 fib_left
  00007f67a30370b0 1634      6.4106  fib.c:24
  00007f67a30370b1 83        0.3256  fib.c:24
  00007f67a30370b9 1997      7.8348  fib.c:24
  00007f67a30370c6 2080      8.1604  fib.c:27
  00007f67a30370c8 988       3.8762  fib.c:27
  00007f67a30370cd 1315      5.1591  fib.c:27
  00007f67a30370cf 251       0.9847  fib.c:27
  00007f67a30370d3 1191      4.6726  fib.c:27
  00007f67a30370d6 975       3.8252  fib.c:27
  00007f67a30370db 1010      3.9625  fib.c:27
  00007f67a30370dd 242       0.9494  fib.c:27
  00007f67a30370e1 2782     10.9145  fib.c:28
  00007f67a30370e5 3768     14.7828  fib.c:28
  00007f67a30370eb 615       2.4128  (no location information)
  00007f67a30370f3 6558     25.7287  (no location information)
00007f67a3037100 15603    37.4973  fib.c:29                    10946.jo                 fib_right
  00007f67a3037100 1646     10.5493  fib.c:29
  00007f67a3037101 45        0.2884  fib.c:29
  00007f67a3037109 2372     15.2022  fib.c:29
  00007f67a3037116 2234     14.3178  fib.c:32
  00007f67a3037118 612       3.9223  fib.c:32
  00007f67a303711d 622       3.9864  fib.c:32
  00007f67a303711f 385       2.4675  fib.c:32
  00007f67a3037123 404       2.5892  fib.c:32
  00007f67a3037126 634       4.0633  fib.c:32
  00007f67a303712b 870       5.5759  fib.c:32
  00007f67a303712d 62        0.3974  fib.c:32
  00007f67a3037131 1848     11.8439  fib.c:33
  00007f67a3037135 2840     18.2016  fib.c:33
  00007f67a303713a 1         0.0064  fib.c:33
  00007f67a303713b 1023      6.5564  (no location information)
  00007f67a3037143 5         0.0320  (no location information)
000000000080c1e4 15        0.0360  MachineOperand.h:150        lli                      llvm::MachineOperand::isReg() const
  000000000080c1e4 6        40.0000  MachineOperand.h:150
  000000000080c1ec 2        13.3333  MachineOperand.h:150
...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76102 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTeach MachineInstr::isRegTiedToDefOperand() to correctly parse inline asm operands.
Jakob Stoklund Olesen [Thu, 16 Jul 2009 20:58:34 +0000 (20:58 +0000)]
Teach MachineInstr::isRegTiedToDefOperand() to correctly parse inline asm operands.

The inline asm operands must be parsed from the first flag, you cannot assume
that an immediate operand preceeding a register use operand is the flag.
PowerPC "m" operands are represented as (flag, imm, reg) triples.
isRegTiedToDefOperand() would incorrectly interpret the imm as the flag.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76101 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoChanged my mind. We now allow remat of instructions whose defs have subreg indices.
Evan Cheng [Thu, 16 Jul 2009 20:15:00 +0000 (20:15 +0000)]
Changed my mind. We now allow remat of instructions whose defs have subreg indices.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76100 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPrivatize the ConstantFP table. I'm on a roll!
Owen Anderson [Thu, 16 Jul 2009 19:05:41 +0000 (19:05 +0000)]
Privatize the ConstantFP table.  I'm on a roll!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76097 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agothis should be xfailed on darwin. Darwin doesn't use the libstdc++ in the llvm-gcc...
Chris Lattner [Thu, 16 Jul 2009 18:45:51 +0000 (18:45 +0000)]
this should be xfailed on darwin.  Darwin doesn't use the libstdc++ in the llvm-gcc distro, it uses the system version.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76095 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWith recent MC changes, RIP base register is explicitly modeled. Make sure we add...
Evan Cheng [Thu, 16 Jul 2009 18:44:05 +0000 (18:44 +0000)]
With recent MC changes, RIP base register is explicitly modeled. Make sure we add it when x86 V_SET0 / V_SETALLONES (by transforming it into a constpool load) into the use instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76094 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate CMake file.
Ted Kremenek [Thu, 16 Jul 2009 18:29:22 +0000 (18:29 +0000)]
Update CMake file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76093 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove the ConstantInt uniquing table into LLVMContextImpl. This exposed a number...
Owen Anderson [Thu, 16 Jul 2009 18:04:31 +0000 (18:04 +0000)]
Move the ConstantInt uniquing table into LLVMContextImpl.  This exposed a number of issues in
our current context-passing stuff, which is also fixed here

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76089 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemoved the SubsectionsViaSymbols MCStreamer API and replaced it with a generic
Kevin Enderby [Thu, 16 Jul 2009 17:56:39 +0000 (17:56 +0000)]
Removed the SubsectionsViaSymbols MCStreamer API and replaced it with a generic
EmitAssemblerFlag API which takes a value from the added AssemblerFlag
enumerated constants.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76087 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTweak svn:ignore
Daniel Dunbar [Thu, 16 Jul 2009 17:38:37 +0000 (17:38 +0000)]
Tweak svn:ignore

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76086 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFill in some holes in ScalarEvolution's loop iteration condition
Dan Gohman [Thu, 16 Jul 2009 17:34:36 +0000 (17:34 +0000)]
Fill in some holes in ScalarEvolution's loop iteration condition
analysis. This allows indvars to emit a simpler loop trip count
expression.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76085 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoClean up the definition of Str in AsmParser::ParseDirectiveDarwinDumpOrLoad
Kevin Enderby [Thu, 16 Jul 2009 17:17:46 +0000 (17:17 +0000)]
Clean up the definition of Str in AsmParser::ParseDirectiveDarwinDumpOrLoad
so it is defined with a lifetime that is as short as possible.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76082 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd SmallString unit test.
Daniel Dunbar [Thu, 16 Jul 2009 17:00:06 +0000 (17:00 +0000)]
Add SmallString unit test.
 - Patch by Ryan Flynn!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76081 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoIn an Apple-style build, compile with llvm-gcc/llvm-g++ if available.
Stuart Hastings [Thu, 16 Jul 2009 16:49:11 +0000 (16:49 +0000)]
In an Apple-style build, compile with llvm-gcc/llvm-g++ if available.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76080 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd an isLoopSimplifyForm() predicate, following the example of
Dan Gohman [Thu, 16 Jul 2009 16:16:23 +0000 (16:16 +0000)]
Add an isLoopSimplifyForm() predicate, following the example of
isLCSSAForm(), to test whether a loop is in the form guaranteed
by the LoopSimplify pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76077 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse setStream infomatted_raw_ostream's constructor, to reduce code
Dan Gohman [Thu, 16 Jul 2009 15:37:26 +0000 (15:37 +0000)]
Use setStream infomatted_raw_ostream's constructor, to reduce code
duplication. Also, make setStream honor the old DeleteStream flag.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76075 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove inapplicable comments.
Dan Gohman [Thu, 16 Jul 2009 15:33:48 +0000 (15:33 +0000)]
Remove inapplicable comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76074 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd explicit keywords.
Dan Gohman [Thu, 16 Jul 2009 15:33:04 +0000 (15:33 +0000)]
Add explicit keywords.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76073 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTidy up #includes.
Dan Gohman [Thu, 16 Jul 2009 15:32:28 +0000 (15:32 +0000)]
Tidy up #includes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76072 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoConvert more tools code from cerr and cout to errs() and outs().
Dan Gohman [Thu, 16 Jul 2009 15:30:09 +0000 (15:30 +0000)]
Convert more tools code from cerr and cout to errs() and outs().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76070 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse size_t.
Dan Gohman [Thu, 16 Jul 2009 15:24:40 +0000 (15:24 +0000)]
Use size_t.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76069 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMake xfail proper
Anton Korobeynikov [Thu, 16 Jul 2009 14:53:47 +0000 (14:53 +0000)]
Make xfail proper

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76065 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUnbreak
Anton Korobeynikov [Thu, 16 Jul 2009 14:36:52 +0000 (14:36 +0000)]
Unbreak

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76064 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTemporary disable 16 bit bswap
Anton Korobeynikov [Thu, 16 Jul 2009 14:35:57 +0000 (14:35 +0000)]
Temporary disable 16 bit bswap

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76063 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd instruction formats and few opcodes
Anton Korobeynikov [Thu, 16 Jul 2009 14:35:20 +0000 (14:35 +0000)]
Add instruction formats and few opcodes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76062 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd bswap patterns
Anton Korobeynikov [Thu, 16 Jul 2009 14:34:52 +0000 (14:34 +0000)]
Add bswap patterns

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76061 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProvide crazy pseudos for regpairs spills / reloads
Anton Korobeynikov [Thu, 16 Jul 2009 14:34:15 +0000 (14:34 +0000)]
Provide crazy pseudos for regpairs spills / reloads

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76060 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoHandle long-disp stuff more consistently
Anton Korobeynikov [Thu, 16 Jul 2009 14:33:52 +0000 (14:33 +0000)]
Handle long-disp stuff more consistently

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76059 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAll FP instructions have 12 bit memory displacement field
Anton Korobeynikov [Thu, 16 Jul 2009 14:33:27 +0000 (14:33 +0000)]
All FP instructions have 12 bit memory displacement field

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76058 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAnother predicate routine
Anton Korobeynikov [Thu, 16 Jul 2009 14:33:01 +0000 (14:33 +0000)]
Another predicate routine

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76057 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMore helpers
Anton Korobeynikov [Thu, 16 Jul 2009 14:32:41 +0000 (14:32 +0000)]
More helpers

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76056 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd bunch of branch folding stuff
Anton Korobeynikov [Thu, 16 Jul 2009 14:32:19 +0000 (14:32 +0000)]
Add bunch of branch folding stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76055 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd missed opcodes to short => long displacement conversion
Anton Korobeynikov [Thu, 16 Jul 2009 14:31:52 +0000 (14:31 +0000)]
Add missed opcodes to short => long displacement conversion

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76054 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCleanup
Anton Korobeynikov [Thu, 16 Jul 2009 14:31:32 +0000 (14:31 +0000)]
Cleanup

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76053 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix logic inversion for RI-mode address selection
Anton Korobeynikov [Thu, 16 Jul 2009 14:31:14 +0000 (14:31 +0000)]
Fix logic inversion for RI-mode address selection

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76052 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUnbreak the test
Anton Korobeynikov [Thu, 16 Jul 2009 14:30:49 +0000 (14:30 +0000)]
Unbreak the test

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76051 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoExpand 32-bit bitconverts via memory
Anton Korobeynikov [Thu, 16 Jul 2009 14:30:29 +0000 (14:30 +0000)]
Expand 32-bit bitconverts via memory

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76050 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix incomin arg stack frame offset in case we need to generate stack frame
Anton Korobeynikov [Thu, 16 Jul 2009 14:29:57 +0000 (14:29 +0000)]
Fix incomin arg stack frame offset in case we need to generate stack frame

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76049 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix instruction mnemonics for some fp_to_sint operations
Anton Korobeynikov [Thu, 16 Jul 2009 14:29:26 +0000 (14:29 +0000)]
Fix instruction mnemonics for some fp_to_sint operations

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76048 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoi32 values are passed extended also on stack. Handle this in generic way
Anton Korobeynikov [Thu, 16 Jul 2009 14:29:05 +0000 (14:29 +0000)]
i32 values are passed extended also on stack. Handle this in generic way

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76047 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWe definitely have 1-0 bools
Anton Korobeynikov [Thu, 16 Jul 2009 14:28:46 +0000 (14:28 +0000)]
We definitely have 1-0 bools

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76046 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert the commit, it just hides the real bug
Anton Korobeynikov [Thu, 16 Jul 2009 14:28:26 +0000 (14:28 +0000)]
Revert the commit, it just hides the real bug

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76045 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoOut GR128 regclass is not a 'real' i128 one.
Anton Korobeynikov [Thu, 16 Jul 2009 14:27:53 +0000 (14:27 +0000)]
Out GR128 regclass is not a 'real' i128 one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76044 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd missed condbranch opcodes
Anton Korobeynikov [Thu, 16 Jul 2009 14:27:26 +0000 (14:27 +0000)]
Add missed condbranch opcodes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76043 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoHandle bitconverts
Anton Korobeynikov [Thu, 16 Jul 2009 14:27:01 +0000 (14:27 +0000)]
Handle bitconverts

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76042 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUnbreak mvi and friends - emit only 'significant' part of the operand
Anton Korobeynikov [Thu, 16 Jul 2009 14:26:38 +0000 (14:26 +0000)]
Unbreak mvi and friends - emit only 'significant' part of the operand

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76041 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoExpand fp_to_uint too
Anton Korobeynikov [Thu, 16 Jul 2009 14:26:06 +0000 (14:26 +0000)]
Expand fp_to_uint too

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76040 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWe don't have FP truncstores
Anton Korobeynikov [Thu, 16 Jul 2009 14:25:46 +0000 (14:25 +0000)]
We don't have FP truncstores

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76039 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoExpand uint_to_fp
Anton Korobeynikov [Thu, 16 Jul 2009 14:25:30 +0000 (14:25 +0000)]
Expand uint_to_fp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76038 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoEmit proper rounding mode for fp_to_sint
Anton Korobeynikov [Thu, 16 Jul 2009 14:25:12 +0000 (14:25 +0000)]
Emit proper rounding mode for fp_to_sint

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76037 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agof32/f64 regs are stored on stack if we're short in FP regs
Anton Korobeynikov [Thu, 16 Jul 2009 14:24:57 +0000 (14:24 +0000)]
f32/f64 regs are stored on stack if we're short in FP regs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76036 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoLower anyext to zext, 32-bit stuff does not have any implicit zero-extension side...
Anton Korobeynikov [Thu, 16 Jul 2009 14:24:41 +0000 (14:24 +0000)]
Lower anyext to zext, 32-bit stuff does not have any implicit zero-extension side effects

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76035 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMake FP zero to be legal FP immediate via LOAD ZERO
Anton Korobeynikov [Thu, 16 Jul 2009 14:24:16 +0000 (14:24 +0000)]
Make FP zero to be legal FP immediate via LOAD ZERO

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76034 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoLoads are not two-address in any way
Anton Korobeynikov [Thu, 16 Jul 2009 14:24:01 +0000 (14:24 +0000)]
Loads are not two-address in any way

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76033 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd LOAD NEGATIVE instruction
Anton Korobeynikov [Thu, 16 Jul 2009 14:23:44 +0000 (14:23 +0000)]
Add LOAD NEGATIVE instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76032 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoLOAD COMPLEMENT instruction is not really two-addr
Anton Korobeynikov [Thu, 16 Jul 2009 14:23:30 +0000 (14:23 +0000)]
LOAD COMPLEMENT instruction is not really two-addr

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76031 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd multiple add/sub instructions
Anton Korobeynikov [Thu, 16 Jul 2009 14:23:16 +0000 (14:23 +0000)]
Add multiple add/sub instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76030 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoHandle FP callee-saved regs
Anton Korobeynikov [Thu, 16 Jul 2009 14:23:01 +0000 (14:23 +0000)]
Handle FP callee-saved regs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76029 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProper FP extloads
Anton Korobeynikov [Thu, 16 Jul 2009 14:22:46 +0000 (14:22 +0000)]
Proper FP extloads

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76028 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd proper PWS impdef's
Anton Korobeynikov [Thu, 16 Jul 2009 14:22:30 +0000 (14:22 +0000)]
Add proper PWS impdef's

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76027 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPropagate FP select_cc to dag inserters
Anton Korobeynikov [Thu, 16 Jul 2009 14:22:15 +0000 (14:22 +0000)]
Propagate FP select_cc to dag inserters

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76026 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoImplement fp_to_sint
Anton Korobeynikov [Thu, 16 Jul 2009 14:21:57 +0000 (14:21 +0000)]
Implement fp_to_sint

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76025 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoImplement FP regs spills / restores
Anton Korobeynikov [Thu, 16 Jul 2009 14:21:41 +0000 (14:21 +0000)]
Implement FP regs spills / restores

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76024 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd fabs
Anton Korobeynikov [Thu, 16 Jul 2009 14:21:27 +0000 (14:21 +0000)]
Add fabs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76023 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd fneg
Anton Korobeynikov [Thu, 16 Jul 2009 14:21:12 +0000 (14:21 +0000)]
Add fneg

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76022 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWe don't have native sine / cosine instructions
Anton Korobeynikov [Thu, 16 Jul 2009 14:20:56 +0000 (14:20 +0000)]
We don't have native sine / cosine instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76021 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMore sint_to_fp stuff
Anton Korobeynikov [Thu, 16 Jul 2009 14:20:39 +0000 (14:20 +0000)]
More sint_to_fp stuff

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76020 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd bunch of FP instructions
Anton Korobeynikov [Thu, 16 Jul 2009 14:20:24 +0000 (14:20 +0000)]
Add bunch of FP instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76019 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWe don't have any FP extloads
Anton Korobeynikov [Thu, 16 Jul 2009 14:20:08 +0000 (14:20 +0000)]
We don't have any FP extloads

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76018 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoImplement all comparisons
Anton Korobeynikov [Thu, 16 Jul 2009 14:19:54 +0000 (14:19 +0000)]
Implement all comparisons

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76017 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd constpool lowering / printing
Anton Korobeynikov [Thu, 16 Jul 2009 14:19:35 +0000 (14:19 +0000)]
Add constpool lowering / printing

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76016 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAllow FP arguments pass / return
Anton Korobeynikov [Thu, 16 Jul 2009 14:19:16 +0000 (14:19 +0000)]
Allow FP arguments pass / return

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76015 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRegister FP regclasses
Anton Korobeynikov [Thu, 16 Jul 2009 14:19:02 +0000 (14:19 +0000)]
Register FP regclasses

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76014 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd FP regs
Anton Korobeynikov [Thu, 16 Jul 2009 14:18:48 +0000 (14:18 +0000)]
Add FP regs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76013 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix fallout from prev. patch
Anton Korobeynikov [Thu, 16 Jul 2009 14:18:31 +0000 (14:18 +0000)]
Fix fallout from prev. patch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76012 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoProvide consistent subreg idx scheme. This (hopefully) fixes remaining divide problems
Anton Korobeynikov [Thu, 16 Jul 2009 14:18:17 +0000 (14:18 +0000)]
Provide consistent subreg idx scheme. This (hopefully) fixes remaining divide problems

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76011 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse divide single for 32 bit signed divides
Anton Korobeynikov [Thu, 16 Jul 2009 14:17:52 +0000 (14:17 +0000)]
Use divide single for 32 bit signed divides

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76010 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd missed operands types
Anton Korobeynikov [Thu, 16 Jul 2009 14:17:07 +0000 (14:17 +0000)]
Add missed operands types

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76009 91177308-0d34-0410-b5e6-96231b3b80d8