- Dec 19, 2011
-
-
Akira Hatanaka authored
direct-object emitter should emit the appropriate shift instruction depending on the shift amount. llvm-svn: 146893
-
Akira Hatanaka authored
llvm-svn: 146889
-
Akira Hatanaka authored
This change reduces the number of instructions generated. For example, (load (add (sub $n0, $n1), (MipsLo got(s)))) results in the following sequence of instructions: 1. sub $n2, $n0, $n1 2. lw got(s)($n2) Previously, three instructions were needed. 1. sub $n2, $n0, $n1 2. addiu $n3, $n2, got(s) 3. lw 0($n3) llvm-svn: 146888
-
- Dec 14, 2011
-
-
Akira Hatanaka authored
emission is not supported yet, but a patch that adds the support should follow soon. llvm-svn: 146572
-
- Dec 13, 2011
-
-
Akira Hatanaka authored
in a 16-bit field. llvm-svn: 146469
-
Chandler Carruth authored
undefined result. This adds new ISD nodes for the new semantics, selecting them when the LLVM intrinsic indicates that the undef behavior is desired. The new nodes expand trivially to the old nodes, so targets don't actually need to do anything to support these new nodes besides indicating that they should be expanded. I've done this for all the operand types that I could figure out for all the targets. Owners of various targets, please review and let me know if any of these are incorrect. Note that the expand behavior is *conservatively correct*, and exactly matches LLVM's current behavior with these operations. Ideally this patch will not change behavior in any way. For example the regtest suite finds the exact same instruction sequences coming out of the code generator. That's why there are no new tests here -- all of this is being exercised by the existing test suite. Thanks to Duncan Sands for reviewing the various bits of this patch and helping me get the wrinkles ironed out with expanding for each target. Also thanks to Chris for clarifying through all the discussions that this is indeed the approach he was looking for. That said, there are likely still rough spots. Further review much appreciated. llvm-svn: 146466
-
- Dec 12, 2011
-
-
Daniel Dunbar authored
subdirectories to traverse into. - Originally I wanted to avoid this and just autoscan, but this has one key flaw in that new subdirectories can not automatically trigger a rerun of the llvm-build tool. This is particularly a pain when switching back and forth between trees where one has added a subdirectory, as the dependencies will tend to be wrong. This will also eliminates FIXME implicitly. llvm-svn: 146436
-
Akira Hatanaka authored
-relocation-model=static. llvm-svn: 146432
-
Akira Hatanaka authored
llvm-svn: 146431
-
Daniel Dunbar authored
llvm-svn: 146409
-
- Dec 11, 2011
-
-
Benjamin Kramer authored
llvm-svn: 146340
-
- Dec 09, 2011
-
-
Akira Hatanaka authored
llvm-svn: 146232
-
Akira Hatanaka authored
specified. llvm-svn: 146229
-
- Dec 08, 2011
-
-
Akira Hatanaka authored
MipsTargetLowering::LowerGlobalTLSAddress. This is necessary to have call16(__tls_get_addr) emitted instead of got_disp(__tls_get_addr) when the target is Mips64. llvm-svn: 146183
-
Akira Hatanaka authored
- Modify lowering of global TLS address nodes. - Modify isel of ThreadPointer. - Wrap target global TLS address nodes that are operands of loads with WrapperPIC. - Remove Mips-specific DAG nodes TlsGd, TprelHi and TprelLo, which can be substituted with other existing nodes. llvm-svn: 146175
-
Akira Hatanaka authored
RDHWR. llvm-svn: 146101
-
Akira Hatanaka authored
llvm-svn: 146100
-
Akira Hatanaka authored
llvm-svn: 146099
-
Akira Hatanaka authored
llvm-svn: 146097
-
Akira Hatanaka authored
llvm-svn: 146096
-
- Dec 07, 2011
-
-
Bruno Cardoso Lopes authored
been normalized and more descriptive comments added. Patch by Reed Kotler and Jack Carter. llvm-svn: 146088
-
Akira Hatanaka authored
llvm-svn: 146086
-
Akira Hatanaka authored
llvm-svn: 146081
-
Akira Hatanaka authored
llvm-svn: 146080
-
Akira Hatanaka authored
llvm-svn: 146063
-
Akira Hatanaka authored
llvm-svn: 146062
-
Akira Hatanaka authored
llvm-svn: 146059
-
Evan Cheng authored
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
-
Bruno Cardoso Lopes authored
make the addend fixup code a bit more generic Patch by Jack Carter. llvm-svn: 145998
-
- Dec 06, 2011
-
-
Evan Cheng authored
1. Added opcode BUNDLE 2. Taught MachineInstr class to deal with bundled MIs 3. Changed MachineBasicBlock iterator to skip over bundled MIs; added an iterator to walk all the MIs 4. Taught MachineBasicBlock methods about bundled MIs llvm-svn: 145975
-
Bruno Cardoso Lopes authored
llvm-svn: 145912
-
Bruno Cardoso Lopes authored
llvm-svn: 145910
-
NAKAMURA Takumi authored
llvm-svn: 145894
-
Jim Grosbach authored
Whether a fixup needs relaxation for the associated instruction is a target-specific function, as the FIXME indicated. Create a hook for that and use it. llvm-svn: 145881
-
- Dec 05, 2011
-
-
Akira Hatanaka authored
PerformANDCombine and PerformOrCombine aware of them. Test cases are included too. llvm-svn: 145853
-
Akira Hatanaka authored
them. llvm-svn: 145852
-
Akira Hatanaka authored
O32 with relocation-model=pic too. llvm-svn: 145850
-
- Dec 02, 2011
-
-
Nick Lewycky authored
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
-
- Nov 30, 2011
-
-
Akira Hatanaka authored
tools use. Patch by Simon Atanasyan. "mips32r1" => "mips32" "4ke" => mips32r2" "mips64r1" => "mips64" llvm-svn: 145451
-
- Nov 29, 2011
-
-
Daniel Dunbar authored
llvm-svn: 145420
-