llvm-6502/lib
Duncan Sands 245741d2a1 Fix up the logic for result expanding the various extension
operations so they work right for integers with funky
bit-widths.  For example, consider extending i48 to i64
on a 32 bit machine.  The i64 result is expanded to 2 x i32.
We know that the i48 operand will be promoted to i64, then
also expanded to 2 x i32.  If we had the expanded promoted
operand to hand, then expanding the result would be trivial.
Unfortunately at this stage we can only get hold of the
promoted operand.  So instead we kind of hand-expand, doing
explicit shifting and truncating to get the top and bottom
halves of the i64 operand into 2 x i32, which are then used
to expand the result.  This is harmless, because when the
promoted operand is finally expanded all this bit fiddling
turns into trivial operations which are eliminated either
by the expansion code itself or the DAG combiner.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43223 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-22 18:26:21 +00:00
..
Analysis Template DominatorTreeBase by node type. This is the next major step towards 2007-10-16 19:59:25 +00:00
Archive finishing touches of bytecode -> bitcode changes. also unbreak Windows 2007-07-06 20:28:40 +00:00
AsmParser Next PPC long double bits. First cut at constants. 2007-10-11 18:07:22 +00:00
Bitcode Next PPC long double bits. First cut at constants. 2007-10-11 18:07:22 +00:00
CodeGen Fix up the logic for result expanding the various extension 2007-10-22 18:26:21 +00:00
Debugger switch this to bitcode instead of bytecode 2007-05-06 09:29:13 +00:00
ExecutionEngine add a mechanism for the JIT to invoke a function to lazily create functions as they are referenced. 2007-10-22 02:50:12 +00:00
Linker Use correct parentheses with the '&& "..."' idiom in an assert. 2007-10-08 15:13:30 +00:00
Support This requires rtti info because tblgen uses commandline, 2007-10-18 15:57:29 +00:00
System really fix PR1581, thanks to Daniel Dunbar for pointing 2007-09-28 20:50:50 +00:00
Target Fix an unfolding bug. 2007-10-22 03:03:20 +00:00
Transforms Reg2Mem cleanup and optimizations: 2007-10-21 23:05:16 +00:00
VMCore this doesn't need dynamic_cast. 2007-10-18 16:26:24 +00:00
Makefile build lib/Archive instead of lib/Bytecode 2007-05-06 19:50:06 +00:00