| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
since they are equivalent.
llvm-svn: 155188
|
|
|
|
| |
llvm-svn: 154226
|
|
|
|
|
|
|
|
| |
We had special instructions for iOS because r9 is call-clobbered, but
that is represented dynamically by the register mask operands now, so
there is no need for the pseudo-instructions.
llvm-svn: 154144
|
|
|
|
| |
llvm-svn: 153500
|
|
|
|
| |
llvm-svn: 153422
|
|
|
|
|
|
|
|
|
|
| |
fast-isel before emitting code. If the program bails after code was emitted,
then it could lead to the stack being adjusted more than once (two
CALLSEQ_BEGINs emitted) but being adjuste back only once after the call. This
leads to general badness and gnashing of teeth.
<rdar://problem/11050630>
llvm-svn: 152959
|
|
|
|
|
|
|
| |
and still allow immediate encoding, just not with cmn.
rdar://11038907
llvm-svn: 152869
|
|
|
|
|
|
| |
rdar://11038907
llvm-svn: 152847
|
|
|
|
|
|
|
| |
condition flags to CPSR. This allows us to simplify SelectCmp.
Patch by Zonr Chang <zonr.xchg@gmail.com>.
llvm-svn: 152243
|
|
|
|
|
|
|
|
|
| |
The fpscr register contains both flags (set by FP operations/comparisons) and
control bits. The control bits (FPSCR) should be reserved, since they're always
available and needn't be defined before use. The flag bits (FPSCR_NZCV) should
like to be unreserved so they can be hoisted by MachineCSE. This fixes PR12165.
llvm-svn: 152076
|
|
|
|
|
|
| |
rdar://10965031
llvm-svn: 151850
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I'll let the buildbots determine the compile time improvements from this
change, but 464.h264ref has 5% faster codegen at -O2.
This patch does cause some assembly changes. Branch folding can make
different decisions about calls with dead return values.
CriticalAntiDepBreaker may choose different registers because its
liveness tracking is affected. MachineCopyPropagation may sometimes
leave a dead copy behind.
llvm-svn: 151331
|
|
|
|
|
|
| |
to static data that should not be modified.
llvm-svn: 151134
|
|
|
|
|
|
| |
entend flag.
llvm-svn: 150774
|
|
|
|
| |
llvm-svn: 150737
|
|
|
|
| |
llvm-svn: 150591
|
|
|
|
| |
llvm-svn: 150536
|
|
|
|
| |
llvm-svn: 150520
|
|
|
|
| |
llvm-svn: 150047
|
|
|
|
| |
llvm-svn: 150045
|
|
|
|
| |
llvm-svn: 150014
|
|
|
|
| |
llvm-svn: 149961
|
|
|
|
| |
llvm-svn: 149934
|
|
|
|
| |
llvm-svn: 149834
|
|
|
|
| |
llvm-svn: 149716
|
|
|
|
| |
llvm-svn: 149714
|
|
|
|
| |
llvm-svn: 149712
|
|
|
|
| |
llvm-svn: 149706
|
|
|
|
| |
llvm-svn: 149704
|
|
|
|
| |
llvm-svn: 148578
|
|
|
|
| |
llvm-svn: 147966
|
|
|
|
|
|
| |
Darwin doesn't do static, and ELF targets only support static.
llvm-svn: 147740
|
|
|
|
|
|
|
|
|
| |
This enables basic local CSE, giving us 20% smaller code for
consumer-typeset in -O0 builds.
<rdar://problem/10658692>
llvm-svn: 147720
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This eliminates a lot of constant pool entries for -O0 builds of code
with many global variable accesses.
This speeds up -O0 codegen of consumer-typeset by 2x because the
constant island pass no longer has to look at thousands of constant pool
entries.
<rdar://problem/10629774>
llvm-svn: 147712
|
|
|
|
| |
llvm-svn: 146981
|
|
|
|
| |
llvm-svn: 146569
|
|
|
|
| |
llvm-svn: 146568
|
|
|
|
| |
llvm-svn: 146566
|
|
|
|
|
|
|
|
|
|
| |
to finalize MI bundles (i.e. add BUNDLE instruction and computing register def
and use lists of the BUNDLE instruction) and a pass to unpack bundles.
- Teach more of MachineBasic and MachineInstr methods to be bundle aware.
- Switch Thumb2 IT block to MI bundles and delete the hazard recognizer hack to
prevent IT blocks from being broken apart.
llvm-svn: 146542
|
|
|
|
|
|
|
|
| |
to a regular
load and then move the result from a GPR to a FPR.
llvm-svn: 146502
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
generator to it. For non-bundle instructions, these behave exactly the same
as the MC layer API.
For properties like mayLoad / mayStore, look into the bundle and if any of the
bundled instructions has the property it would return true.
For properties like isPredicable, only return true if *all* of the bundled
instructions have the property.
For properties like canFoldAsLoad, isCompare, conservatively return false for
bundles.
llvm-svn: 146026
|
|
|
|
|
|
| |
rdar://10528060
llvm-svn: 145891
|
|
|
|
| |
llvm-svn: 145783
|
|
|
|
|
|
| |
rdar://10510150
llvm-svn: 145742
|
|
|
|
|
|
|
|
|
|
|
|
| |
change, now you need a TargetOptions object to create a TargetMachine. Clang
patch to follow.
One small functionality change in PTX. PTX had commented out the machine
verifier parts in their copy of printAndVerify. That now calls the version in
LLVMTargetMachine. Users of PTX who need verification disabled should rely on
not passing the command-line flag to enable it.
llvm-svn: 145714
|
|
|
|
|
|
|
|
| |
argument value type. Otherwise, the sign/zero-extend has no effect on arguments
passed via the stack (i.e., undefined high-order bits).
rdar://10515467
llvm-svn: 145701
|
|
|
|
|
|
|
| |
uninitialized: GCC doesn't understand that the variables are only used
if !UseImm, in which case they have been initialized.
llvm-svn: 145239
|
|
|
|
|
|
| |
work/dead code.
llvm-svn: 144959
|
|
|
|
| |
llvm-svn: 144920
|
|
|
|
| |
llvm-svn: 144888
|