- Jul 15, 2008
-
-
Dan Gohman authored
llvm-svn: 53636
-
Dan Gohman authored
just use the AllNodes order, which is at least relatively stable across runs. llvm-svn: 53632
-
Owen Anderson authored
llvm-svn: 53627
-
Owen Anderson authored
llvm-svn: 53616
-
Owen Anderson authored
Have GVN do a pre-pass over the CFG that folds away unconditional branches where possible. This allows local PRE to be more aggressive. llvm-svn: 53615
-
Duncan Sands authored
llvm-svn: 53613
-
Matthijs Kooijman authored
again canonicalizes {i32} into i32 and {} into void. llvm-svn: 53610
-
Matthijs Kooijman authored
return value as a whole in deadargelim is really not needed now that we simply rebuild the old return value and actually prevents some canonicalization from taking place. This revert stops deadargelim from changing {i32} into i32 for now, but I'll fix that next. llvm-svn: 53609
-
Matthijs Kooijman authored
return values that are still (partially) live. Instead of updating all uses of a call instruction after removing some elements, it now just rebuilds the original struct (With undef gaps where the unused values were) and leaves it to instcombine to clean this up. The added testcase still fails currently, but this is due to instcombine which isn't good enough yet. I will fix that part next. llvm-svn: 53608
-
Matthijs Kooijman authored
llvm-svn: 53607
-
Matthijs Kooijman authored
only the liveness of partial return values (for functions returning a struct). This is more explicit to prevent unwanted changes in the return value. In particular, deadargelim now canonicalizes a function returning {i32} to returning i32 and {} to void, if the struct returned is not used in its entirety, but only the single element is used. llvm-svn: 53606
-
Duncan Sands authored
In LegalizeDAG the value is zero-extended to the new type before byte swapping. It doesn't matter how the extension is done since the new bits are shifted off anyway after the swap, so extend by any old rubbish bits. This results in the final assembler for the testcase being one line shorter. llvm-svn: 53604
-
Duncan Sands authored
llvm-svn: 53603
-
Duncan Sands authored
No change in functionality. llvm-svn: 53602
-
Matthijs Kooijman authored
and return values live for those functions. This doesn't change anything yet, but prepares for the coming commits. llvm-svn: 53601
-
Matthijs Kooijman authored
llvm-svn: 53600
-
Matthijs Kooijman authored
RetOrArg::getDescription() as const. llvm-svn: 53599
-
Matthijs Kooijman authored
llvm-svn: 53598
-
Matthijs Kooijman authored
llvm-svn: 53592
-
Matthijs Kooijman authored
method, to slightly simplify control flow. llvm-svn: 53591
-
Mon P Wang authored
llvm-svn: 53590
-
Nick Lewycky authored
I swear that didn't show up in svn diff... llvm-svn: 53587
-
Nick Lewycky authored
llvm-svn: 53586
-
Bruno Cardoso Lopes authored
llvm-svn: 53585
-
- Jul 14, 2008
-
-
Dan Gohman authored
the BB member to the current basic block after emitting instructions. llvm-svn: 53567
-
Dan Gohman authored
llvm-svn: 53564
-
Dan Gohman authored
don't have value names, so use print instead of getName() to get a useful string. llvm-svn: 53563
-
Dan Gohman authored
llvm-svn: 53562
-
Duncan Sands authored
Remove support for this. llvm-svn: 53559
-
Duncan Sands authored
non-power-of-two vectors. llvm-svn: 53558
-
Chris Lattner authored
llvm-svn: 53557
-
Duncan Sands authored
than the vector element type. Don't forget to handle this when the insertion index is not a constant. llvm-svn: 53556
-
Duncan Sands authored
extending load of a vector. Handle this case when splitting vector loads. I'm not completely sure what is supposed to happen, but I think it means hi should be set to undef. LegalizeDAG does not consider this case. llvm-svn: 53555
-
Duncan Sands authored
stores of one-element vectors. Also, neaten the handling of INSERT_VECTOR_ELT when the inserted type is larger than the vector element type. llvm-svn: 53554
-
Duncan Sands authored
are used for passing huge immediates in inline ASM from the front-end straight down to the ASM writer. Of course this is a hack, but it is simple, limited in scope, works in practice, and is what LegalizeDAG does. llvm-svn: 53553
-
Bruno Cardoso Lopes authored
Added HasABICall and HasAbsoluteCall (equivalent to gcc -mabicall and -mno-shared). HasAbsoluteCall is not implemented but HasABICall is the default for o32 ABI. Now, both should help into a more accurate relocation types implementation. Added IsLinux is needed to choose between asm directives. Instruction name strings cleanup. AsmPrinter improved. llvm-svn: 53551
-
Duncan Sands authored
llvm-svn: 53549
-
Chris Lattner authored
the second half of link-global-to-func.ll and causes some minor changes in messages. There are two TODOs here. First, this causes a regression in 2008-07-06-AliasWeakDest.ll, which is now failing (so I xfailed it). Anton, I would really appreciate it if you could take a look at this. It should be a matter of adding proper alias support to GetLinkageResult, and was probably already a latent bug that would manifest with globals. The second todo is to reimplement LinkAlias in the same pattern as function and global linking. This should be pretty straight-forward for someone who knows aliases, but isn't a requirement for correctness. llvm-svn: 53548
-
Chris Lattner authored
internal linkage. llvm-svn: 53547
-
Chris Lattner authored
(replacing a function with a global). This is needed when building llvm itself with LTO on darwin, because of the EXPLICIT_SYMBOL hack in lib/system/DynamicLibrary.cpp. Implementation of linking the other way will need to wait for a cleanup of LinkFunctionProtos. llvm-svn: 53546
-