- Nov 02, 2009
-
-
Anton Korobeynikov authored
llvm-svn: 85765
-
Anton Korobeynikov authored
Use NEON reg-reg moves, where profitable. This reduces "domain-cross" stalls, when we used to mix vfp and neon code (the former were used for reg-reg moves) llvm-svn: 85764
-
Evan Cheng authored
llvm-svn: 85762
-
- Nov 01, 2009
-
-
Nick Lewycky authored
llvm-svn: 85748
-
Nick Lewycky authored
llvm-svn: 85747
-
Evan Cheng authored
llvm-svn: 85746
-
Evan Cheng authored
llvm-svn: 85743
-
Chris Lattner authored
1. we'd run simplifycfg at the very start, even though the per function passes have already cleaned this up. 2. In the main per-function pipeline that is interlaced with inlining etc, we would do instcombine, jump threading, simplifycfg *before* doing SROA. SROA is much more likely to expose opportunities for these passes than they are for SROA, so move SRoA up earlier. also add some comments. llvm-svn: 85742
-
Douglas Gregor authored
integral constant expression, make sure to find where the initializer was provided---inside or outside the class definition---since that can affect whether we have an integral constant expression (and, we need to see the initializer itself). llvm-svn: 85741
-
Chris Lattner authored
I don't know what Dan wants to do with phi-merge-gep.ll, I'll let him deal with it because instcombine may end up sinking these. llvm-svn: 85739
-
Chris Lattner authored
not the max. This didn't matter until the previous patch because instcombine would refuse to sink loads with differenting alignments. llvm-svn: 85738
-
Chris Lattner authored
llvm-svn: 85737
-
Chris Lattner authored
phis, it didn't preserve the alignment of the load. This is a missed optimization of the alignment is high and a miscompilation when the alignment is low. llvm-svn: 85736
-
Chris Lattner authored
but I'll investigate it separately. This unbreaks test/FrontendC/weak_constant.c llvm-svn: 85735
-
Chris Lattner authored
llvm-svn: 85734
-
Duncan Sands authored
llvm-svn: 85733
-
Duncan Sands authored
columns. llvm-svn: 85732
-
Chris Lattner authored
GlobalOpt already deletes trivially dead functions/globals, so GlobalDCE only adds values for cycles of dead things. llvm-svn: 85731
-
Chris Lattner authored
llvm-svn: 85730
-
Chris Lattner authored
ipconstprop and doesn't take much time. Just run it in its place. This adds a testcase for it, which I plan to expand to cover other "integration" cases, where we expect the optimizer to be able to eliminate various things. Due to phase order issues we've regressed in a number of areas and integration tests are the only way I see to prevent this. llvm-svn: 85729
-
Chris Lattner authored
can be banging on a context at a time, this isn't needed. Owen, please review. llvm-svn: 85728
-
Edward O'Callaghan authored
llvm-svn: 85727
-
Edward O'Callaghan authored
llvm-svn: 85726
-
Chris Lattner authored
llvm-svn: 85725
-
Chris Lattner authored
llvm-svn: 85724
-
Evan Cheng authored
llvm-svn: 85723
-
Chris Lattner authored
llvm-svn: 85722
-
Douglas Gregor authored
that is not known to be a base class at template definition time due to some dependent base class. Treat qualified name lookup that refers to a non-static data member or function as implicit class member access when the "this" type would be dependent. llvm-svn: 85718
-
Douglas Gregor authored
llvm-svn: 85717
-
Dan Gohman authored
of the ScalarEvolution pass without needing to #include ScalarEvolution.h. llvm-svn: 85716
-
Dan Gohman authored
llvm-svn: 85715
-
Dan Gohman authored
#include dependency, as frontends commonly pull in PassManager.h. llvm-svn: 85714
-
Chris Lattner authored
in a way that should prevent ip constprop. This allows clang/test/CodeGen/indirect-goto.c to pass with the new indirect goto lowering. llvm-svn: 85709
-
Chris Lattner authored
when BB2 has its address taken. Since it ends up doing BB2->rauw(BB1), this can cause the address of the entry block to be taken. Since it is generally undesirable to nuke blocks whose address is taken, even when we can, just unconditionally stop this xform. llvm-svn: 85708
-
Chris Lattner authored
ended in an uncond branch because the pass requires BreakCriticalEdges. However, BCE doesn't eliminate critical adges from indbrs. llvm-svn: 85707
-
Chris Lattner authored
block had its address taken even if the blockaddress was dead. llvm-svn: 85706
-
Chris Lattner authored
This prevents unswitching from duplicating indbr's. llvm-svn: 85705
-
Chris Lattner authored
llvm-svn: 85704
-
Chris Lattner authored
the testcase into: _test1: ## @test1 ## BB#0: ## %entry leaq L_test1_bb6(%rip), %rax jmpq *%rax L_test1_bb: ## Address Taken LBB1_1: ## %bb movb $1, %al ret L_test1_bb6: ## Address Taken LBB1_2: ## %bb6 movb $2, %al ret Note, it is very very strange that BlockAddressSDNode doesn't carry around TargetFlags. Dan, please fix this. llvm-svn: 85703
-
Chris Lattner authored
an indirectbr. llvm-svn: 85702
-